@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.2.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! 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 {
  -webkit-box-sizing: content-box;
          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"] {
  -webkit-box-sizing: border-box;
          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 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 2 */ }

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

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

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

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

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

td,
th {
  padding: 0; }

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

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

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

body {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  padding: 0;
  margin: 0;
  line-height: 1.5;
  color: #000;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 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: 82.5rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    max-width: none;
    margin-left: -0.9375rem;
    margin-right: -0.9375rem; }
    @media screen and (min-width: 48em) {
      .row .row {
        margin-left: -0.625rem;
        margin-right: -0.625rem; } }
  .row.expanded {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }

.column, .columns {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  min-width: initial; }
  @media screen and (min-width: 48em) {
    .column, .columns {
      padding-left: 0.625rem;
      padding-right: 0.625rem; } }

.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 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6; }

.small-up-1 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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 {
    -webkit-box-flex: 0;
        -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: 0.9375rem;
  padding-right: 0.9375rem; }

@media screen and (min-width: 48em) {
  .medium-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; }
  .medium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 48em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -webkit-box-flex: 1;
          -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: 0.625rem;
    padding-right: 0.625rem; } }

@media screen and (min-width: 64em) {
  .large-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3, .brand-page-products .grid-tile {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; }
  .large-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
      -webkit-box-flex: 0;
          -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 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

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

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

.shrink {
  -webkit-box-flex: 0;
      -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; }

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-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  line-height: inherit; }

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  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: #ccc;
    line-height: 0; }

h1 {
  font-size: 2.5rem; }

h2 {
  font-size: 2rem; }

h3 {
  font-size: 1.625rem; }

h4 {
  font-size: 1.375rem; }

h5 {
  font-size: 1.0625rem; }

h6 {
  font-size: 0.875rem; }

@media screen and (min-width: 48em) {
  h1 {
    font-size: 2.5625rem; }
  h2 {
    font-size: 2.125rem; }
  h3 {
    font-size: 1.625rem; }
  h4 {
    font-size: 1.3125rem; }
  h5 {
    font-size: 1.0625rem; }
  h6 {
    font-size: 0.875rem; } }

@media screen and (min-width: 64em) {
  h1 {
    font-size: 2.625rem; }
  h2 {
    font-size: 2.1875rem; }
  h3 {
    font-size: 1.625rem; }
  h4 {
    font-size: 1.375rem; }
  h5 {
    font-size: 1.125rem; }
  h6 {
    font-size: 0.9375rem; } }

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

hr {
  max-width: 82.5rem;
  height: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #ccc;
  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 #ccc; }
  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: #000;
  cursor: help;
  border-bottom: 1px dotted #000; }

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

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

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #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: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

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

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-box-shadow: none !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;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  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: #ff6900;
  color: #000; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #d95900;
    color: #000; }
  .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: #ff6900;
    color: #000; }
    .button.primary:hover, .button.primary:focus {
      background-color: #cc5400;
      color: #000; }
  .button.primary-accessible {
    background-color: #c75300;
    color: #000; }
    .button.primary-accessible:hover, .button.primary-accessible:focus {
      background-color: #9f4200;
      color: #000; }
  .button.primary-dark-hover {
    background-color: #994000;
    color: #000; }
    .button.primary-dark-hover:hover, .button.primary-dark-hover:focus {
      background-color: #7a3300;
      color: #000; }
  .button.secondary {
    background-color: #000;
    color: #000; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: black;
      color: #000; }
  .button.darkgrey1 {
    background-color: #202020;
    color: #000; }
    .button.darkgrey1:hover, .button.darkgrey1:focus {
      background-color: #1a1a1a;
      color: #000; }
  .button.midgrey {
    background-color: #808285;
    color: #000; }
    .button.midgrey:hover, .button.midgrey:focus {
      background-color: #66686a;
      color: #000; }
  .button.light-gray {
    background-color: #f2f2f2;
    color: #000; }
    .button.light-gray:hover, .button.light-gray:focus {
      background-color: #c2c2c2;
      color: #000; }
  .button.border-grey {
    background-color: #ccc;
    color: #000; }
    .button.border-grey:hover, .button.border-grey:focus {
      background-color: #a3a3a3;
      color: #000; }
  .button.very-light-grey {
    background-color: #c9c9c9;
    color: #000; }
    .button.very-light-grey:hover, .button.very-light-grey:focus {
      background-color: #a1a1a1;
      color: #000; }
  .button.bright-grey {
    background-color: #e8e8e9;
    color: #000; }
    .button.bright-grey:hover, .button.bright-grey:focus {
      background-color: #b8b8bc;
      color: #000; }
  .button.disabled-grey {
    background-color: #808080;
    color: #000; }
    .button.disabled-grey:hover, .button.disabled-grey:focus {
      background-color: #666666;
      color: #000; }
  .button.white-default {
    background-color: #fff;
    color: #000; }
    .button.white-default:hover, .button.white-default:focus {
      background-color: #cccccc;
      color: #000; }
  .button.white-ghost {
    background-color: #f2f2f3;
    color: #000; }
    .button.white-ghost:hover, .button.white-ghost:focus {
      background-color: #c0c0c4;
      color: #000; }
  .button.white-smoke {
    background-color: #e7e7e7;
    color: #000; }
    .button.white-smoke:hover, .button.white-smoke:focus {
      background-color: #b9b9b9;
      color: #000; }
  .button.success {
    background-color: #3adb76;
    color: #000; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #000; }
  .button.warning {
    background-color: #ffae00;
    color: #000; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #000; }
  .button.alert {
    background-color: #ec5840;
    color: #000; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #000; }
  .button.error {
    background-color: #f00;
    color: #000; }
    .button.error:hover, .button.error:focus {
      background-color: #cc0000;
      color: #000; }
  .button.unavailable {
    background-color: #ffe1be;
    color: #000; }
    .button.unavailable:hover, .button.unavailable:focus {
      background-color: #ffb865;
      color: #000; }
  .button.nobel {
    background-color: #979797;
    color: #000; }
    .button.nobel:hover, .button.nobel:focus {
      background-color: #797979;
      color: #000; }
  .button.light-gray-my-garage {
    background-color: #adb5bd;
    color: #000; }
    .button.light-gray-my-garage:hover, .button.light-gray-my-garage:focus {
      background-color: #85919d;
      color: #000; }
  .button.unavailable-text {
    background-color: #de1c22;
    color: #000; }
    .button.unavailable-text:hover, .button.unavailable-text:focus {
      background-color: #b2161b;
      color: #000; }
  .button.green-accessible {
    background-color: #157f10;
    color: #000; }
    .button.green-accessible:hover, .button.green-accessible:focus {
      background-color: #11660d;
      color: #000; }
  .button.red-accessible {
    background-color: #c61752;
    color: #000; }
    .button.red-accessible:hover, .button.red-accessible:focus {
      background-color: #9e1242;
      color: #000; }
  .button.hollow {
    border: 1px solid #ff6900;
    color: #ff6900; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #803500;
      color: #803500; }
    .button.hollow.primary {
      border: 1px solid #ff6900;
      color: #ff6900; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #803500;
        color: #803500; }
    .button.hollow.primary-accessible {
      border: 1px solid #c75300;
      color: #c75300; }
      .button.hollow.primary-accessible:hover, .button.hollow.primary-accessible:focus {
        border-color: #642a00;
        color: #642a00; }
    .button.hollow.primary-dark-hover {
      border: 1px solid #994000;
      color: #994000; }
      .button.hollow.primary-dark-hover:hover, .button.hollow.primary-dark-hover:focus {
        border-color: #4d2000;
        color: #4d2000; }
    .button.hollow.secondary {
      border: 1px solid #000;
      color: #000; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: black;
        color: black; }
    .button.hollow.darkgrey1 {
      border: 1px solid #202020;
      color: #202020; }
      .button.hollow.darkgrey1:hover, .button.hollow.darkgrey1:focus {
        border-color: #101010;
        color: #101010; }
    .button.hollow.midgrey {
      border: 1px solid #808285;
      color: #808285; }
      .button.hollow.midgrey:hover, .button.hollow.midgrey:focus {
        border-color: #404143;
        color: #404143; }
    .button.hollow.light-gray {
      border: 1px solid #f2f2f2;
      color: #f2f2f2; }
      .button.hollow.light-gray:hover, .button.hollow.light-gray:focus {
        border-color: #797979;
        color: #797979; }
    .button.hollow.border-grey {
      border: 1px solid #ccc;
      color: #ccc; }
      .button.hollow.border-grey:hover, .button.hollow.border-grey:focus {
        border-color: #666666;
        color: #666666; }
    .button.hollow.very-light-grey {
      border: 1px solid #c9c9c9;
      color: #c9c9c9; }
      .button.hollow.very-light-grey:hover, .button.hollow.very-light-grey:focus {
        border-color: #656565;
        color: #656565; }
    .button.hollow.bright-grey {
      border: 1px solid #e8e8e9;
      color: #e8e8e9; }
      .button.hollow.bright-grey:hover, .button.hollow.bright-grey:focus {
        border-color: #727277;
        color: #727277; }
    .button.hollow.disabled-grey {
      border: 1px solid #808080;
      color: #808080; }
      .button.hollow.disabled-grey:hover, .button.hollow.disabled-grey:focus {
        border-color: #404040;
        color: #404040; }
    .button.hollow.white-default {
      border: 1px solid #fff;
      color: #fff; }
      .button.hollow.white-default:hover, .button.hollow.white-default:focus {
        border-color: gray;
        color: gray; }
    .button.hollow.white-ghost {
      border: 1px solid #f2f2f3;
      color: #f2f2f3; }
      .button.hollow.white-ghost:hover, .button.hollow.white-ghost:focus {
        border-color: #74747e;
        color: #74747e; }
    .button.hollow.white-smoke {
      border: 1px solid #e7e7e7;
      color: #e7e7e7; }
      .button.hollow.white-smoke:hover, .button.hollow.white-smoke:focus {
        border-color: #747474;
        color: #747474; }
    .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.hollow.error {
      border: 1px solid #f00;
      color: #f00; }
      .button.hollow.error:hover, .button.hollow.error:focus {
        border-color: maroon;
        color: maroon; }
    .button.hollow.unavailable {
      border: 1px solid #ffe1be;
      color: #ffe1be; }
      .button.hollow.unavailable:hover, .button.hollow.unavailable:focus {
        border-color: #df7800;
        color: #df7800; }
    .button.hollow.nobel {
      border: 1px solid #979797;
      color: #979797; }
      .button.hollow.nobel:hover, .button.hollow.nobel:focus {
        border-color: #4c4c4c;
        color: #4c4c4c; }
    .button.hollow.light-gray-my-garage {
      border: 1px solid #adb5bd;
      color: #adb5bd; }
      .button.hollow.light-gray-my-garage:hover, .button.hollow.light-gray-my-garage:focus {
        border-color: #515b64;
        color: #515b64; }
    .button.hollow.unavailable-text {
      border: 1px solid #de1c22;
      color: #de1c22; }
      .button.hollow.unavailable-text:hover, .button.hollow.unavailable-text:focus {
        border-color: #6f0e11;
        color: #6f0e11; }
    .button.hollow.green-accessible {
      border: 1px solid #157f10;
      color: #157f10; }
      .button.hollow.green-accessible:hover, .button.hollow.green-accessible:focus {
        border-color: #0b4008;
        color: #0b4008; }
    .button.hollow.red-accessible {
      border: 1px solid #c61752;
      color: #c61752; }
      .button.hollow.red-accessible:hover, .button.hollow.red-accessible:focus {
        border-color: #630c29;
        color: #630c29; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #ff6900;
      color: #000; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fff transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: -0.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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.25rem;
  padding: 0.5rem;
  border: 1px solid #ccc;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 0.8125rem;
  color: #000;
  background-color: #fff;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  border-radius: 0;
  -webkit-transition: initial;
  transition: initial;
  -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: #fff;
    outline: none;
    -webkit-box-shadow: 0;
            box-shadow: 0;
    -webkit-transition: initial;
    transition: initial; }

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

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

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #ccc; }

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

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

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

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"] {
  -webkit-box-sizing: border-box;
          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: #000; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .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;
  display: table-cell;
  vertical-align: middle; }

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

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

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

.input-group .input-group-button {
  display: table-cell; }

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

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

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

select {
  height: 2.25rem;
  padding: 0.5rem;
  border: 1px solid #ccc;
  margin: 0 0 1rem;
  font-size: 0.8125rem;
  font-family: inherit;
  line-height: normal;
  color: #000;
  background-color: #fff;
  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; }

.accordion {
  list-style-type: none;
  background: #fff;
  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: #ff6900;
  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: #fff;
  color: #ff6900; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

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

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

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #ff6900;
  color: #fff; }
  .badge.primary-accessible {
    background: #c75300;
    color: #fff; }
  .badge.primary-dark-hover {
    background: #994000;
    color: #fff; }
  .badge.secondary {
    background: #000;
    color: #fff; }
  .badge.darkgrey1 {
    background: #202020;
    color: #fff; }
  .badge.midgrey {
    background: #808285;
    color: #fff; }
  .badge.light-gray {
    background: #f2f2f2;
    color: #000; }
  .badge.border-grey {
    background: #ccc;
    color: #000; }
  .badge.very-light-grey {
    background: #c9c9c9;
    color: #000; }
  .badge.bright-grey {
    background: #e8e8e9;
    color: #000; }
  .badge.disabled-grey {
    background: #808080;
    color: #fff; }
  .badge.white-default {
    background: #fff;
    color: #000; }
  .badge.white-ghost {
    background: #f2f2f3;
    color: #000; }
  .badge.white-smoke {
    background: #e7e7e7;
    color: #000; }
  .badge.success {
    background: #3adb76;
    color: #fff; }
  .badge.warning {
    background: #ffae00;
    color: #fff; }
  .badge.alert {
    background: #ec5840;
    color: #fff; }
  .badge.error {
    background: #f00;
    color: #fff; }
  .badge.unavailable {
    background: #ffe1be;
    color: #000; }
  .badge.nobel {
    background: #979797;
    color: #fff; }
  .badge.light-gray-my-garage {
    background: #adb5bd;
    color: #000; }
  .badge.unavailable-text {
    background: #de1c22;
    color: #fff; }
  .badge.green-accessible {
    background: #157f10;
    color: #fff; }
  .badge.red-accessible {
    background: #c61752;
    color: #fff; }

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

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem; }
    .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 {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #ff6900;
    color: #000; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #cc5400;
      color: #000; }
  .button-group.primary-accessible .button {
    background-color: #c75300;
    color: #000; }
    .button-group.primary-accessible .button:hover, .button-group.primary-accessible .button:focus {
      background-color: #9f4200;
      color: #000; }
  .button-group.primary-dark-hover .button {
    background-color: #994000;
    color: #000; }
    .button-group.primary-dark-hover .button:hover, .button-group.primary-dark-hover .button:focus {
      background-color: #7a3300;
      color: #000; }
  .button-group.secondary .button {
    background-color: #000;
    color: #000; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: black;
      color: #000; }
  .button-group.darkgrey1 .button {
    background-color: #202020;
    color: #000; }
    .button-group.darkgrey1 .button:hover, .button-group.darkgrey1 .button:focus {
      background-color: #1a1a1a;
      color: #000; }
  .button-group.midgrey .button {
    background-color: #808285;
    color: #000; }
    .button-group.midgrey .button:hover, .button-group.midgrey .button:focus {
      background-color: #66686a;
      color: #000; }
  .button-group.light-gray .button {
    background-color: #f2f2f2;
    color: #000; }
    .button-group.light-gray .button:hover, .button-group.light-gray .button:focus {
      background-color: #c2c2c2;
      color: #000; }
  .button-group.border-grey .button {
    background-color: #ccc;
    color: #000; }
    .button-group.border-grey .button:hover, .button-group.border-grey .button:focus {
      background-color: #a3a3a3;
      color: #000; }
  .button-group.very-light-grey .button {
    background-color: #c9c9c9;
    color: #000; }
    .button-group.very-light-grey .button:hover, .button-group.very-light-grey .button:focus {
      background-color: #a1a1a1;
      color: #000; }
  .button-group.bright-grey .button {
    background-color: #e8e8e9;
    color: #000; }
    .button-group.bright-grey .button:hover, .button-group.bright-grey .button:focus {
      background-color: #b8b8bc;
      color: #000; }
  .button-group.disabled-grey .button {
    background-color: #808080;
    color: #000; }
    .button-group.disabled-grey .button:hover, .button-group.disabled-grey .button:focus {
      background-color: #666666;
      color: #000; }
  .button-group.white-default .button {
    background-color: #fff;
    color: #000; }
    .button-group.white-default .button:hover, .button-group.white-default .button:focus {
      background-color: #cccccc;
      color: #000; }
  .button-group.white-ghost .button {
    background-color: #f2f2f3;
    color: #000; }
    .button-group.white-ghost .button:hover, .button-group.white-ghost .button:focus {
      background-color: #c0c0c4;
      color: #000; }
  .button-group.white-smoke .button {
    background-color: #e7e7e7;
    color: #000; }
    .button-group.white-smoke .button:hover, .button-group.white-smoke .button:focus {
      background-color: #b9b9b9;
      color: #000; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #000; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #000; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #000; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #000; }
  .button-group.alert .button {
    background-color: #ec5840;
    color: #000; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #da3116;
      color: #000; }
  .button-group.error .button {
    background-color: #f00;
    color: #000; }
    .button-group.error .button:hover, .button-group.error .button:focus {
      background-color: #cc0000;
      color: #000; }
  .button-group.unavailable .button {
    background-color: #ffe1be;
    color: #000; }
    .button-group.unavailable .button:hover, .button-group.unavailable .button:focus {
      background-color: #ffb865;
      color: #000; }
  .button-group.nobel .button {
    background-color: #979797;
    color: #000; }
    .button-group.nobel .button:hover, .button-group.nobel .button:focus {
      background-color: #797979;
      color: #000; }
  .button-group.light-gray-my-garage .button {
    background-color: #adb5bd;
    color: #000; }
    .button-group.light-gray-my-garage .button:hover, .button-group.light-gray-my-garage .button:focus {
      background-color: #85919d;
      color: #000; }
  .button-group.unavailable-text .button {
    background-color: #de1c22;
    color: #000; }
    .button-group.unavailable-text .button:hover, .button-group.unavailable-text .button:focus {
      background-color: #b2161b;
      color: #000; }
  .button-group.green-accessible .button {
    background-color: #157f10;
    color: #000; }
    .button-group.green-accessible .button:hover, .button-group.green-accessible .button:focus {
      background-color: #11660d;
      color: #000; }
  .button-group.red-accessible .button {
    background-color: #c61752;
    color: #000; }
    .button-group.red-accessible .button:hover, .button-group.red-accessible .button:focus {
      background-color: #9e1242;
      color: #000; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 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 {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 47.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(0, 0, 0, 0.25);
  border-radius: 0;
  position: relative;
  color: #000;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #ffe9d9; }
  .callout.primary-accessible {
    background-color: #ffe4d0; }
  .callout.primary-dark-hover {
    background-color: #ffe0c9; }
  .callout.secondary {
    background-color: #d9d9d9; }
  .callout.darkgrey1 {
    background-color: #dedede; }
  .callout.midgrey {
    background-color: #ececed; }
  .callout.light-gray {
    background-color: #fdfdfd; }
  .callout.border-grey {
    background-color: #f7f7f7; }
  .callout.very-light-grey {
    background-color: #f7f7f7; }
  .callout.bright-grey {
    background-color: #fcfcfc; }
  .callout.disabled-grey {
    background-color: #ececec; }
  .callout.white-default {
    background-color: white; }
  .callout.white-ghost {
    background-color: #fdfdfd; }
  .callout.white-smoke {
    background-color: #fbfbfb; }
  .callout.success {
    background-color: #e1faea; }
  .callout.warning {
    background-color: #fff3d9; }
  .callout.alert {
    background-color: #fce6e2; }
  .callout.error {
    background-color: #ffd9d9; }
  .callout.unavailable {
    background-color: #fffbf5; }
  .callout.nobel {
    background-color: #efefef; }
  .callout.light-gray-my-garage {
    background-color: #f3f4f5; }
  .callout.unavailable-text {
    background-color: #fbdcdd; }
  .callout.green-accessible {
    background-color: #d0f9ce; }
  .callout.red-accessible {
    background-color: #fad8e4; }
  .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: #000; }

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

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

.menu-centered {
  text-align: center; }
  .menu-centered > .menu {
    display: inline-block; }

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

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

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

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block !important; }

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  height: 100%;
  width: 100%;
  background: #fff;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -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 #ff6900;
    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 #ff6900 transparent transparent;
  border-right-style: solid;
  border-left-width: 0;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem; }

.dropdown-pane {
  background-color: #fff;
  border: 1px solid #ccc;
  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: #c75300 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 #c75300 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 #c75300;
  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: #c75300 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 #c75300 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 #c75300;
    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: #c75300 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 #c75300 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 #c75300;
    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: #fff;
  border: 1px solid #ccc; }
  .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 #c75300 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 #c75300;
    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: #ff6900;
  color: #fff; }
  .label.primary-accessible {
    background: #c75300;
    color: #fff; }
  .label.primary-dark-hover {
    background: #994000;
    color: #fff; }
  .label.secondary {
    background: #000;
    color: #fff; }
  .label.darkgrey1 {
    background: #202020;
    color: #fff; }
  .label.midgrey {
    background: #808285;
    color: #fff; }
  .label.light-gray {
    background: #f2f2f2;
    color: #000; }
  .label.border-grey {
    background: #ccc;
    color: #000; }
  .label.very-light-grey {
    background: #c9c9c9;
    color: #000; }
  .label.bright-grey {
    background: #e8e8e9;
    color: #000; }
  .label.disabled-grey {
    background: #808080;
    color: #fff; }
  .label.white-default {
    background: #fff;
    color: #000; }
  .label.white-ghost {
    background: #f2f2f3;
    color: #000; }
  .label.white-smoke {
    background: #e7e7e7;
    color: #000; }
  .label.success {
    background: #3adb76;
    color: #fff; }
  .label.warning {
    background: #ffae00;
    color: #fff; }
  .label.alert {
    background: #ec5840;
    color: #fff; }
  .label.error {
    background: #f00;
    color: #fff; }
  .label.unavailable {
    background: #ffe1be;
    color: #000; }
  .label.nobel {
    background: #979797;
    color: #fff; }
  .label.light-gray-my-garage {
    background: #adb5bd;
    color: #000; }
  .label.unavailable-text {
    background: #de1c22;
    color: #fff; }
  .label.green-accessible {
    background: #157f10;
    color: #fff; }
  .label.red-accessible {
    background: #c61752;
    color: #fff; }

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

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

html,
body {
  height: 100%; }

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

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

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

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

.off-canvas {
  position: absolute;
  background: #e6e6e6;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -webkit-transform: translateX(0);
      -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 {
      -webkit-transform: translateX(250px);
          -ms-transform: translateX(250px);
              transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -webkit-transform: translateX(-250px);
          -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: 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; } }

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

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

.orbit-previous {
  left: 0; }

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

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    background-color: #ccc;
    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; }
  .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: #000;
    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: #ff6900;
    color: #fff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #ccc;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    content: '\2026';
    padding: 0.1875rem 0.625rem;
    color: #000; }

.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: #ccc;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0; }
  .progress.primary .progress-meter {
    background-color: #ff6900; }
  .progress.primary-accessible .progress-meter {
    background-color: #c75300; }
  .progress.primary-dark-hover .progress-meter {
    background-color: #994000; }
  .progress.secondary .progress-meter {
    background-color: #000; }
  .progress.darkgrey1 .progress-meter {
    background-color: #202020; }
  .progress.midgrey .progress-meter {
    background-color: #808285; }
  .progress.light-gray .progress-meter {
    background-color: #f2f2f2; }
  .progress.border-grey .progress-meter {
    background-color: #ccc; }
  .progress.very-light-grey .progress-meter {
    background-color: #c9c9c9; }
  .progress.bright-grey .progress-meter {
    background-color: #e8e8e9; }
  .progress.disabled-grey .progress-meter {
    background-color: #808080; }
  .progress.white-default .progress-meter {
    background-color: #fff; }
  .progress.white-ghost .progress-meter {
    background-color: #f2f2f3; }
  .progress.white-smoke .progress-meter {
    background-color: #e7e7e7; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #ec5840; }
  .progress.error .progress-meter {
    background-color: #f00; }
  .progress.unavailable .progress-meter {
    background-color: #ffe1be; }
  .progress.nobel .progress-meter {
    background-color: #979797; }
  .progress.light-gray-my-garage .progress-meter {
    background-color: #adb5bd; }
  .progress.unavailable-text .progress-meter {
    background-color: #de1c22; }
  .progress.green-accessible .progress-meter {
    background-color: #157f10; }
  .progress.red-accessible .progress-meter {
    background-color: #c61752; }

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

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fff;
  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;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

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

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-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: #ff6900;
  -webkit-transition: all 0.2s ease-in-out;
  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: #d95900; }
  .slider-handle.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

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

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

.sticky-container {
  position: relative; }

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

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

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

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

html.is-reveal-open,
html.is-reveal-open body {
  height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-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(0, 0, 0, 0.5);
  overflow-y: scroll; }

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #ccc;
  background-color: #fff;
  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: 82.5rem; } }
  @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: 82.5rem; } }
  @media screen and (min-width: 48em) {
    .reveal.small {
      width: 50%;
      max-width: 82.5rem; } }
  @media screen and (min-width: 48em) {
    .reveal.large {
      width: 90%;
      max-width: 82.5rem; } }
  .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: 47.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 {
  margin-bottom: 1rem;
  outline: 0;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #fff;
  font-weight: bold;
  font-size: 0.875rem; }

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

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

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

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

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

.switch.tiny .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.625rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.tabs.primary {
  background: #ff6900; }
  .tabs.primary > li > a {
    color: #fff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #f26400; }

.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: #fff; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6; }

.tabs-content {
  background: #fff;
  -webkit-transition: all 0.5s ease;
  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 #fff;
  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  -webkit-transition: -webkit-box-shadow 200ms ease-out;
  transition: -webkit-box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out;
  border-radius: 0;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    -webkit-box-shadow: 0 0 6px 1px rgba(255, 105, 0, 0.5);
            box-shadow: 0 0 6px 1px rgba(255, 105, 0, 0.5); }

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

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

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

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

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

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

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

.top-bar {
  padding: 0; }
  .top-bar::before, .top-bar::after {
    content: ' ';
    display: table; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #fff; }
  .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 {
    width: 100%; }
  @media screen and (min-width: 48em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 63.9375em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 82.4375em) {
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
      width: 100%; } }

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

@media screen and (max-width: 0em), screen and (min-width: 48em) {
  .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: 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: 82.4375em) {
  .hide-for-large-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6; }

@media screen and (min-width: 48em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.responsive-embed,
.flex-video {
  height: 0;
  margin-bottom: 1rem;
  overflow: hidden;
  padding-bottom: 75%;
  position: relative; }

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

.responsive-embed iframe {
  border: 0; }

.responsive-embed.widescreen,
.flex-video.widescreen {
  padding-bottom: 56.25%; }

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?62751503#fontello') format('svg');
  }
}
*/
[class^="icon-"]::before,
[class*=" icon-"]::before {
  display: inline-block;
  font-family: "fontello";
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  font-weight: normal;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: 0.2em;
  margin-right: 0.2em;
  speak: never;
  text-align: center;
  text-decoration: inherit;
  text-transform: none;
  width: 1em;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

.icon-alert::before {
  content: "\e800"; }

/* '' */
.icon-cart::before {
  content: "\e801"; }

/* '' */
.icon-customercareplan::before {
  content: "\e802"; }

/* '' */
.icon-livechat::before {
  content: "\e803"; }

/* '' */
.icon-location::before {
  content: "\e804"; }

/* '' */
.icon-search::before {
  content: "\e805"; }

/* '' */
.icon-severeweatherdesignation::before {
  content: "\e806"; }

/* '' */
.icon-cancel::before {
  content: "\e807"; }

/* '' */
.icon-wheelwarranty::before {
  content: "\e808"; }

/* '' */
.icon-myaccount::before {
  content: "\e809"; }

/* '' */
.icon-contact::before {
  content: "\e80a"; }

/* '' */
.icon-plus::before {
  content: "\e80b"; }

/* '' */
.icon-minus::before {
  content: "\e80c"; }

/* '' */
.icon-star::before {
  content: "\e80d"; }

/* '' */
.icon-up-open::before {
  content: "\e80e"; }

/* '' */
.icon-down-open::before {
  content: "\e80f"; }

/* '' */
.icon-accessibility::before {
  content: "\e810"; }

/* '' */
.icon-circle-checked::before {
  content: "\e811"; }

/* '' */
.icon-print::before {
  content: "\e812"; }

/* '' */
.icon-left-open::before {
  content: "\e813"; }

/* '' */
.icon-right-open::before {
  content: "\e814"; }

/* '' */
.icon-thumbs-down::before {
  content: "\e815"; }

/* '' */
.icon-tire::before {
  content: "\e816"; }

/* '' */
.icon-calendar::before {
  content: "\e817"; }

/* '' */
.icon-phone::before {
  content: "\e818"; }

/* '' */
.icon-lock::before {
  content: "\e819"; }

/* '' */
.icon-tested-by-kal::before {
  content: "\e820"; }

/* '' */
.icon-thumbs-up::before {
  content: "\e821"; }

/* '' */
.icon-star-empty::before {
  content: "\e822"; }

/* '' */
.icon-play::before {
  content: "\e823"; }

/* '' */
.icon-wheel::before {
  content: "\e824"; }

/* '' */
.icon-maintenance::before {
  content: "\e825"; }

/* '' */
.icon-seasonal-all::before {
  content: "\e826"; }

/* '' */
.icon-gears::before {
  content: "\e827"; }

/* '' */
.icon-book::before {
  content: "\e828"; }

/* '' */
.icon-filter::before {
  content: "\e829"; }

/* '' */
.icon-calendar-icon::before {
  content: "\e82c"; }

/* '' */
.icon-snowflake::before {
  content: "\e82d"; }

/* '' */
.icon-buynowpaylater::before {
  content: "\e82e"; }

/* '' */
.icon-angle-left::before {
  content: "\f104"; }

/* '' */
.icon-angle-right::before {
  content: "\f105"; }

/* '' */
.icon-angle-up::before {
  content: "\f106"; }

/* '' */
.icon-angle-down::before {
  content: "\f107"; }

/* '' */
.icon-circle::before {
  content: "\f111"; }

/* '' */
.icon-circle-thin::before {
  content: "\f1db"; }

/* "" */
.icon-star-half-alt::before {
  content: "\f123"; }

/* '' */
.icon-wifi::before {
  content: "\f1eb"; }

/* '' */
.icon-bus::before {
  content: "\f207"; }

/* '' */
.icon-exchange::before {
  content: "\e82f"; }

/* '' */
.icon-price-match-guarantee-line::before {
  content: "\e860"; }

/* '' */
.icon-tick::before {
  content: "\e831"; }

/* '' */
.icon-customer-care-plan-line::before {
  content: "\e832"; }

/* '' */
.icon-brakes-quality-parts::before {
  content: "\e833"; }

/* '' */
.icon-brakes-no-surprises::before {
  content: "\e834"; }

/* '' */
.icon-mail::before {
  content: "\e81a"; }

/* '' */
.icon-resend::before {
  content: "\e81b"; }

/* '' */
.icon-chat::before {
  content: "\e81c"; }

/* '' */
.icon-new-tab::before {
  content: "\e836"; }

/* '' */
/* Icons */
@font-face {
  font-family: "slick";
  font-style: normal;
  font-weight: normal;
  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"); }

/* Arrows */
.slick-prev,
.slick-next {
  background: transparent;
  border: 0;
  color: transparent;
  cursor: pointer;
  display: block;
  font-size: 0;
  height: 20px;
  line-height: 0;
  outline: none;
  padding: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 20px; }

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  background: transparent;
  color: transparent;
  outline: none; }

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

.slick-prev::before,
.slick-next::before {
  color: #fff;
  font-family: "slick";
  font-size: 20px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1;
  opacity: 0.75; }

.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 {
  bottom: -25px;
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  text-align: center;
  width: 100%; }

.slick-dots li {
  cursor: pointer;
  display: inline-block;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  position: relative;
  width: 20px; }

.slick-dots li button {
  background: transparent;
  border: 0;
  color: transparent;
  cursor: pointer;
  display: block;
  font-size: 0;
  height: 20px;
  line-height: 0;
  outline: none;
  padding: 5px;
  width: 20px; }

.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 {
  color: #000;
  content: "•";
  font-family: "slick";
  font-size: 6px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 20px;
  left: 0;
  line-height: 20px;
  opacity: 0.25;
  position: absolute;
  text-align: center;
  top: 0;
  width: 20px; }

.slick-dots li.slick-active button::before {
  color: #000;
  opacity: 0.75; }

/* Icons */
@font-face {
  font-family: "slick";
  font-style: normal;
  font-weight: normal;
  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"); }

/* Arrows */
.slick-prev,
.slick-next {
  background: transparent;
  border: 0;
  color: transparent;
  cursor: pointer;
  display: block;
  font-size: 0;
  height: 20px;
  line-height: 0px;
  outline: none;
  padding: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 20px; }
  .slick-prev:hover,
  .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    background: transparent;
    color: transparent;
    outline: none; }
    .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.25; }
  .slick-prev::before,
  .slick-next::before {
    color: #fff;
    font-family: "slick";
    font-size: 20px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1;
    opacity: 0.75; }

.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 {
  bottom: -25px;
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  text-align: center;
  width: 100%; }
  .slick-dots li {
    cursor: pointer;
    display: inline-block;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    position: relative;
    width: 20px; }
    .slick-dots li button {
      background: transparent;
      border: 0;
      color: transparent;
      cursor: pointer;
      display: block;
      font-size: 0;
      height: 20px;
      line-height: 0px;
      outline: none;
      padding: 5px;
      width: 20px; }
      .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 {
        color: #000;
        content: "•";
        font-family: "slick";
        font-size: 6px;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        height: 20px;
        left: 0;
        line-height: 20px;
        opacity: 0.25;
        position: absolute;
        text-align: center;
        top: 0;
        width: 20px; }
    .slick-dots li.slick-active button::before {
      color: #000;
      opacity: 0.75; }

body,
html {
  height: auto; }

body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0; }

ol,
ul {
  list-style: none; }

.fullbleed, .footer-wrapper {
  margin: 0 auto;
  max-width: 1800px;
  width: 100%; }

.fullbleed-mobile {
  padding: 0 20px; }
  @media screen and (min-width: 64em) {
    .fullbleed-mobile {
      padding: 0 30px; } }
  @media screen and (max-width: 47.9375em) {
    .fullbleed-mobile {
      margin: 0 auto;
      padding: 0;
      width: 100%; } }

.row.atroot {
  padding: 0 15px; }
  @media screen and (min-width: 48em) {
    .row.atroot {
      padding: 0 20px; } }
  @media screen and (min-width: 64em) {
    .row.atroot {
      padding: 0 30px; } }
  @media screen and (max-width: 47.9375em) {
    .row.atroot.sel-info-wrapper {
      padding: 0; }
      .row.atroot.sel-info-wrapper .nopaddingsmall {
        padding: 0; } }

.no-js .top-bar {
  visibility: hidden; }

.no-js .title-bar {
  display: none; }

.no-js #mainNavWrapper {
  display: none; }

.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.reveal-overlay {
  background-color: rgba(0, 0, 0, 0.5); }

.visibility-hidden {
  visibility: hidden; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  line-height: 1em; }

a {
  color: #c75300; }

.large-headline {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 40px;
  line-height: 40px; }
  @media screen and (min-width: 48em) {
    .large-headline {
      font-size: 46px;
      line-height: 46px; } }
  @media screen and (min-width: 64em) {
    .large-headline {
      font-size: 66px;
      line-height: 66px; } }

.intro-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px;
  line-height: 20px; }
  @media screen and (min-width: 48em) {
    .intro-copy {
      font-size: 16px; } }
  @media screen and (min-width: 64em) {
    .intro-copy {
      font-size: 18px;
      line-height: 22px; } }

.small-intro-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px;
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .small-intro-copy {
      font-size: 14px; } }
  @media screen and (min-width: 64em) {
    .small-intro-copy {
      font-size: 16px;
      line-height: 20px; } }

.light-intro-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px; }
  @media screen and (min-width: 64em) {
    .light-intro-copy {
      font-size: 18px;
      line-height: 22px; } }

.footer-links {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .footer-links {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 13px; } }
  @media screen and (min-width: 64em) {
    .footer-links {
      font-size: 13px; } }

.inline-link-alternate {
  color: #c75300;
  text-decoration: underline; }
  .inline-link-alternate:hover {
    color: #994000; }

.arrow-link {
  color: #000;
  font-weight: bold; }
  .arrow-link:hover {
    color: #000;
    text-decoration: underline; }
  .arrow-link::after {
    color: #ff6900;
    content: " >"; }

p,
.paragraph-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px; }
  @media screen and (min-width: 64em) {
    p,
    .paragraph-copy {
      font-size: 15px;
      line-height: 20px; } }

.small-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px; }
  @media screen and (min-width: 48em) {
    .small-copy {
      font-size: 13px;
      line-height: 17px; } }
  @media screen and (min-width: 64em) {
    .small-copy {
      font-size: 14px;
      line-height: 18px; } }

.tiny-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 10px;
  line-height: 14px; }
  @media screen and (min-width: 48em) {
    .tiny-copy {
      font-size: 11px;
      line-height: 16px; } }
  @media screen and (min-width: 64em) {
    .tiny-copy {
      font-size: 12px; } }

.tiny-headings {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 11px;
  line-height: 16px;
  text-transform: uppercase; }

.page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 1.3125rem;
  margin: 20px 0;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .page-title {
      margin: 30px 0; } }
  @media screen and (min-width: 64em) {
    .page-title {
      font-size: 1.625rem;
      margin: 50px 0 40px; } }

.pdp-main .page-title {
  font-size: 1rem; }
  @media screen and (min-width: 48em) {
    .pdp-main .page-title {
      margin: 30px 0 10px; } }
  @media screen and (min-width: 64em) {
    .pdp-main .page-title {
      margin: 50px 0 10px; } }

.tip-symbol {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 48em) {
    .tip-symbol {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-transform: translateY(-0.25rem);
          -ms-transform: translateY(-0.25rem);
              transform: translateY(-0.25rem); } }
  .tip-symbol::before {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 2px solid #ff6900;
    border-radius: 1.0625rem;
    color: #000;
    content: "?";
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 0.6875rem;
    height: 1.0625rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    line-height: 0.6875rem;
    margin-right: 8px;
    width: 1.0625rem; }

.button {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  background: #ff6900;
  border: 3px solid #ff6900;
  color: #000;
  font-size: 13px;
  padding: 15px 18px;
  text-transform: uppercase; }
  .button.button-dark {
    background: #000; }
  .button:hover {
    background: #f6a583; }
  .button.button-dark:hover {
    background: #666; }
  .button.hollow {
    background: transparent;
    border: 3px solid #ff6900;
    color: #000; }
    .button.hollow:hover, .button.hollow:focus {
      background: #f6a583;
      border: 3px solid #ff6900;
      color: #000; }
  .button.button-dark.hollow {
    color: #fff; }
  .button.close-hollow-btn .active-btn-text {
    display: none; }
  .button.close-hollow-btn.is-active {
    background: #c75300;
    border-color: #c75300;
    color: #fff;
    position: relative; }
    .button.close-hollow-btn.is-active::after {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      content: "\e807";
      font-family: "fontello";
      font-size: 17px;
      position: absolute;
      right: 15px; }
    .button.close-hollow-btn.is-active .active-btn-text {
      display: block; }
    .button.close-hollow-btn.is-active .btn-text {
      display: none; }
  .button.secondary {
    background: #fff; }
    .button.secondary.hollow {
      background: transparent;
      border: 3px solid #ff6900;
      color: #fff; }
      .button.secondary.hollow:hover {
        background: #ff6900;
        border: 3px solid #ff6900;
        color: #000; }
    .button.secondary:hover {
      background: #313131; }
  .button.button-dark.secondary.hollow {
    color: #fff; }
  .button.disabled, .button:disabled, .button[disabled] {
    background: #808285;
    opacity: 0.5; }
    .button.disabled:hover, .button:disabled:hover, .button[disabled]:hover {
      background: #808285;
      opacity: 0.5; }
  .button.small {
    font-size: 11px;
    padding: 13px 15px; }
  .button.medium {
    font-size: 13px;
    padding: 15px 18px; }
  .button.large {
    font-size: 14px;
    padding: 16px 20px; }
  .button.full-width {
    margin-top: 1rem;
    width: 100%; }
  .button.hellobar {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #fff;
    margin: 0;
    padding: 0;
    text-transform: none; }
    @media screen and (min-width: 48em) {
      .button.hellobar {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        background: #fff;
        color: #c75300;
        font-size: 11px;
        font-size: 11px;
        margin: 0 15px;
        padding: 12px 14px;
        text-transform: uppercase; } }
  .button.alternate {
    color: #fff; }
    .button.alternate:hover {
      color: #000; }

.v-view-on-vehicle.disabled .button {
  cursor: not-allowed;
  opacity: 0.5; }

.v-view-on-vehicle .link-above-product {
  background: #808285; }

.tested-bykal-badge {
  margin: 0 0 10px; }
  .tested-bykal-badge p.tested-bykal-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    line-height: 1;
    margin: 0;
    text-transform: uppercase; }
  .tested-bykal-badge .icon-tested-by-kal {
    color: #ff6900;
    font-size: 20px; }

.tested-bykal-container {
  display: inline-block; }
  .tested-bykal-container p {
    display: inline-block;
    margin: 0;
    padding: 0; }
    .tested-bykal-container p .icon-tested-by-kal {
      color: #ff6900;
      font-size: 20px;
      vertical-align: middle; }
      .tested-bykal-container p .icon-tested-by-kal::before {
        margin-right: 0; }
    .tested-bykal-container p.tested-bykal-text {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 12px;
      line-height: 1;
      text-transform: uppercase; }

.product-badge {
  margin: 0 0 10px; }
  .product-badge span {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #f2f2f2;
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    margin: 0;
    margin: 7px 0;
    padding: 10px;
    text-transform: capitalize; }
    .product-badge span.product-image-badge {
      display: inline-block;
      line-height: initial;
      padding: 5px 5px 4px; }
      .product-badge span.product-image-badge img {
        height: 23px;
        width: 23px; }

.pt_product-details .product-winter-use,
.pt_product-compare .product-winter-use {
  position: relative;
  right: initial; }

.pt_product-compare .product-winter-use {
  text-align: right;
  top: 5px; }

.product-winter-use {
  position: absolute;
  right: 8px;
  top: 3px;
  z-index: 0; }
  .product-winter-use i {
    color: #ff6900;
    font-size: 23px; }

.overview i.icon-snowflake {
  margin-left: -3px; }

.loader {
  -webkit-animation: rotate 0.8s infinite linear;
          animation: rotate 0.8s infinite linear;
  animation: rotate 0.8s infinite linear;
  border: 8px solid #c75300;
  border-radius: 50%;
  border-right-color: transparent;
  bottom: 0;
  display: none;
  height: 3em;
  left: 0;
  margin: 0 auto 50px;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 3em; }
  .loader.store-details-loader {
    bottom: -50px;
    top: auto; }

.error-text-box {
  background-color: #ffe1be;
  margin-bottom: 20px;
  margin-top: 10px;
  padding: 10px 10px 9px; }
  .error-text-box p.text {
    color: #de1c22;
    font-size: 14px;
    line-height: 18px;
    margin: 0;
    padding: 0; }

#productSelectorSlotWrapper .selector .loader {
  z-index: -1; }

#productSelectorSlotWrapper.expanded .selector .loader {
  z-index: 99; }

#psmodal #productSelectorSlotWrapper .selector .loader {
  z-index: 99; }

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
    transform: rotate(360deg); } }

.videoWrapper {
  height: 0;
  padding-bottom: 56.25%;
  padding-top: 25px;
  position: relative; }
  .videoWrapper iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }

.product-attributes .category {
  display: inline-block;
  line-height: 1;
  text-transform: capitalize; }
  .product-attributes .category:first-of-type {
    margin: 0 10px 0 0; }
  .product-attributes .category::before {
    content: "";
    display: inline-block;
    height: 10px;
    margin: 0 5px 0 0;
    width: 10px; }

.product-attributes .cat-3-season::before,
.product-attributes .cat-all-season::before {
  background: #fbb116; }

.product-attributes .cat-performance::before {
  background: #6353a3; }

.product-attributes .cat-all-weather::before {
  background: #bf1a8d; }

.product-attributes .cat-winter::before {
  background: #20c3f3; }

.product-attributes .cat-touring::before {
  background: #00a651; }

.product-attributes .cat-sport-truck::before {
  background: #7c86c2; }

.product-attributes .cat-all-terrain::before {
  background: #7a5226; }

.product-attributes .cat-mud-terrain::before {
  background: #422800; }

.product-attributes .cat-commercial::before {
  background: #a7a9ac; }

.product-attributes .cat-ultra-high-performance::before {
  background: #a499ca; }

.plus-minus-accordion .is-accordion-submenu-parent {
  border-bottom: 1px solid #d9d9da; }
  .plus-minus-accordion .is-accordion-submenu-parent:first-child {
    border-top: 1px solid #d9d9da; }
  .plus-minus-accordion .is-accordion-submenu-parent > a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1rem;
    padding: 25px 0;
    text-transform: uppercase; }
    .plus-minus-accordion .is-accordion-submenu-parent > a::after {
      border: 0;
      color: #c75300;
      content: "\e80b";
      font-family: "fontello";
      font-size: 1rem;
      height: auto;
      margin: 0;
      margin-top: -8px;
      position: absolute;
      right: 0;
      top: 50%;
      width: auto; }

.plus-minus-accordion .is-accordion-submenu-parent[aria-expanded="true"] > a::after {
  content: "\e80c";
  font-family: "fontello"; }

.plus-minus-accordion .submenu {
  display: none;
  margin: 0 0 20px; }

a.inactive {
  cursor: default; }

.line-sections-separator {
  margin: 50px 0;
  position: relative; }
  @media screen and (min-width: 48em) {
    .line-sections-separator {
      margin: 0; } }
  .line-sections-separator::before {
    background: rgba(128, 130, 133, 0.3);
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    margin: auto 0;
    right: 0;
    top: 0;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .line-sections-separator::before {
        height: 100%;
        margin: 0 auto;
        position: absolute;
        width: 1px; } }

.globalModalHeader {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #c75300;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 72px;
  min-height: 72px;
  padding: 0 60px 0 25px;
  position: relative; }
  .globalModalHeader .close-button {
    bottom: 0;
    color: #fff;
    margin: auto;
    position: absolute;
    right: 25px;
    top: 0; }
  .globalModalHeader h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    font-size: 1.3125rem;
    margin: 0;
    text-transform: uppercase; }
    .globalModalHeader h2 span.questionmarkcircle {
      border: 3px solid #fff !important;
      font-size: 1.25rem;
      height: 32px;
      margin-right: 10px;
      min-width: 32px;
      width: 32px; }

.financingModal .globalModalHeader h2 {
  font-size: 1.125rem; }
  .financingModal .globalModalHeader h2 span.questionmarkcircle {
    font-size: 1rem;
    height: 26px;
    min-width: 26px;
    width: 26px; }

.globalModalContent {
  padding: 30px; }
  .globalModalContent p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: rem-cal(16); }
    .globalModalContent p strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500; }

.financingModal .globalModalContent {
  padding: 30px 62px; }
  @media screen and (max-width: 47.9375em) {
    .financingModal .globalModalContent {
      padding: 30px; } }

.financingModalButton {
  float: right;
  margin-bottom: 15px !important;
  padding-right: 20px; }
  @media screen and (max-width: 47.9375em) {
    .financingModalButton {
      float: none;
      padding-right: 0;
      text-align: center; } }
  .financingModalButton a {
    font-size: 11px;
    min-width: 170px; }
    @media screen and (max-width: 47.9375em) {
      .financingModalButton a {
        min-width: 140px; } }
  .financingModalButton .cb-cta {
    margin-top: 0;
    text-align: center; }
  .financingModalButton .cb-cta.button-hollow-black {
    padding: 7px 0 8px; }
  .financingModalButton .button {
    padding: 12px 18px;
    vertical-align: unset; }

.product-tile .product-size,
.product-tile .product-pricing {
  float: left;
  line-height: 1;
  width: 50%; }
  .product-tile .product-size.trailer-tile-info,
  .product-tile .product-pricing.trailer-tile-info {
    float: none;
    padding: 0;
    width: auto; }
    .product-tile .product-size.trailer-tile-info .attribute,
    .product-tile .product-pricing.trailer-tile-info .attribute {
      font-size: 12px;
      margin-bottom: 15px; }
  .product-tile .product-size.trailer-pricing,
  .product-tile .product-pricing.trailer-pricing {
    margin-top: 35px; }
    .product-tile .product-size.trailer-pricing .price-label,
    .product-tile .product-pricing.trailer-pricing .price-label {
      font-size: 12px;
      margin-bottom: 15px; }

.product-tile .product-size .attribute {
  font-size: 0.875rem;
  line-height: 1;
  margin: 0; }

.product-tile .product-size .attr-column .attribute {
  margin: 0 0 5px; }

.product-tile .product-pricing {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 2.1875rem; }
  .product-tile .product-pricing .currency-indices {
    font-size: 1.0625rem; }
  .product-tile .product-pricing .price-sales {
    color: #000; }
  .product-tile .product-pricing .price-standard {
    color: #ff6900;
    display: block; }
    .product-tile .product-pricing .price-standard + .price-sales {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      float: left;
      font-size: 0.8125rem;
      margin: 2px 0 0;
      text-decoration: line-through; }
      .product-tile .product-pricing .price-standard + .price-sales .currency-indices {
        font-size: 0.8125rem; }
  .product-tile .product-pricing .rebate {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #ff6900;
    font-size: 0.75rem; }

.product-tile .size-label,
.product-tile .price-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #7a7c80;
  display: block;
  font-size: 0.6875rem;
  line-height: 1;
  margin: 0 0 8px;
  text-transform: uppercase; }

sub,
sup {
  font-size: 65%; }

.mainNavLiveChatCTA.openLiveChatButton {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #000;
  bottom: calc(30% - 17px);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.75rem;
  height: 2.125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 0.875rem;
  padding: 0.625rem;
  position: fixed;
  right: 0;
  -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transform-origin: bottom right;
      -ms-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: 999; }
  .mainNavLiveChatCTA.openLiveChatButton.disabled {
    cursor: not-allowed;
    opacity: 0.5; }
  .mainNavLiveChatCTA.openLiveChatButton span {
    vertical-align: text-bottom; }

.header-nav.mobile-chat-btn {
  height: 0; }
  .header-nav.mobile-chat-btn .headerCartWrapper,
  .header-nav.mobile-chat-btn .headerSearchWrapper {
    display: none; }

.openLiveChatButton.disabled {
  cursor: not-allowed;
  opacity: 0.5; }

.csc-agentmessage {
  color: #f00;
  font-size: 20px;
  margin: 15px 0;
  text-align: center; }

.accordion {
  border-top: 1px solid #d9d9da;
  margin-top: 1.3125rem;
  width: 100%; }
  .accordion .toggle-item {
    border-bottom: 1px solid #d9d9da;
    padding: 1.4375rem 0;
    position: relative; }
    .accordion .toggle-item input[type="checkbox"] {
      cursor: pointer;
      height: 100%;
      left: 0;
      opacity: 0;
      position: absolute;
      top: 0;
      width: 100%; }
    .accordion .toggle-item .item-content {
      margin-top: 0.9375rem; }
    .accordion .toggle-item summary {
      font-size: 1rem; }
    .accordion .toggle-item summary::before {
      color: #ff6900;
      font-size: 1.25rem;
      line-height: 1rem;
      -webkit-margin-end: 5px;
              margin-inline-end: 5px; }
    .accordion .toggle-item input[type="checkbox"]:checked ~ .item-content {
      display: none; }
    .accordion .toggle-item input[type="checkbox"]:checked ~ summary::before {
      content: "+"; }
    .accordion .toggle-item input[type="checkbox"] ~ summary::before {
      content: "-"; }

.pt_product-search-result #main,
.pt_product-search-noresult #main,
.pt_product-compare #main,
.pt_product-details #main,
.pt_cart #main,
.pt_checkout #main,
.pt_order-confirmation #main {
  margin-bottom: 100px; }

@media screen and (max-width: 47.9375em) {
  .pt_product-search-result #main {
    margin-bottom: 0; } }

@media screen and (max-width: 47.9375em) {
  .pt_product-search-result .search-results-resource-center {
    margin-bottom: 100px; } }

.pt_account .reset-password-page {
  margin-bottom: 100px; }

[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 {
  height: 40px;
  line-height: 1.125rem;
  margin: 0;
  padding: 10px 15px; }

input::-ms-clear {
  display: none; }

select {
  background-image: url("../images/icons/select-icon.png");
  background-position: right center;
  height: 40px;
  padding: 0 15px; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("../images/icons/select-icon.png"); } }

.sort-select {
  background-origin: border-box;
  background-position: right 1rem center;
  padding: 0 35px 0 10px; }

label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1;
  margin: 0 0 0.5rem; }

textarea {
  resize: none; }

.dialog-required {
  line-height: 1; }

.required-indicator {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #000;
  font-size: 0.875rem; }

input.error,
select.error,
textarea.error {
  border: 1px solid #f00; }

span.error,
.error-message,
.couponError,
.name-length-error {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: none;
  clear: both;
  color: #f00;
  display: inline-block;
  float: left;
  font-size: 0.75rem;
  line-height: 1.2;
  padding: 7px 0 0;
  width: 100%; }

.error-form {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #f00;
  font-size: 0.75rem;
  line-height: 1.2;
  margin: 10px 0; }

.form-row {
  margin: 0 0 20px; }
  .form-row::before, .form-row::after {
    content: ' ';
    display: table; }
  .form-row::after {
    clear: both; }

.form-caption.error-message a {
  text-decoration: underline; }

.checkbox-form,
.radio-form {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .checkbox-form .field-wrapper,
  .radio-form .field-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
    .checkbox-form .field-wrapper + label,
    .radio-form .field-wrapper + label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      margin: 0; }
  .checkbox-form input[type="checkbox"],
  .checkbox-form input[type="radio"],
  .radio-form input[type="checkbox"],
  .radio-form input[type="radio"] {
    margin: 2px 0.3125rem 0 0;
    opacity: 0;
    position: relative;
    z-index: 2; }
    .checkbox-form input[type="checkbox"]:focus,
    .checkbox-form input[type="radio"]:focus,
    .radio-form input[type="checkbox"]:focus,
    .radio-form input[type="radio"]:focus {
      outline: none; }
  .checkbox-form .input-custom,
  .radio-form .input-custom {
    background: #fff;
    display: block;
    left: 0;
    position: absolute;
    top: 2px;
    z-index: 1; }

.checkbox-form input[type="checkbox"]:checked + .input-custom {
  border-color: #000; }
  .checkbox-form input[type="checkbox"]:checked + .input-custom::after {
    content: "\f00c"; }

.checkbox-form input[type="checkbox"]:checked:disabled + .input-custom {
  color: #000; }

.checkbox-form .input-custom {
  border: 1px solid #d9d9d9;
  color: #ff6900;
  line-height: 17px; }
  .checkbox-form .input-custom::after {
    content: "";
    font-family: fontawesome;
    position: absolute; }

.checkbox-form .input-custom,
.checkbox-form input[type="checkbox"] {
  height: 17px;
  width: 17px; }

.radio-form input[type="radio"]:checked + .input-custom {
  background: #ff6900;
  border-color: #ff6900; }

.radio-form .input-custom {
  border: 2px solid #d9d9d9;
  border-radius: 100%;
  line-height: 14px; }

.radio-form .input-custom,
.radio-form input[type="radio"] {
  height: 14px;
  width: 14px; }

.commercial-fleet-wrapper .input-custom,
.commercial-fleet-wrapper input[type="checkbox"] {
  border-color: #000;
  border-radius: 50%; }

.commercial-fleet-wrapper input[type="checkbox"]:checked + .input-custom {
  background: #ff6900;
  border-color: #ff6900; }
  .commercial-fleet-wrapper input[type="checkbox"]:checked + .input-custom::after {
    color: #fff; }

.slick-slider {
  display: block;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.slick-slider-container {
  position: relative; }

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

.slick-list:focus,
.slick-arrow:focus {
  outline: none; }

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

.slick-track {
  display: block;
  left: 0;
  position: relative;
  top: 0; }
  .slick-track::before, .slick-track::after {
    content: "";
    display: table; }
  .slick-track::after {
    clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }
  .slick-slide img.slick-loading {
    visibility: hidden; }

.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 {
  border: 1px solid transparent;
  display: block;
  height: auto; }

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

.reveal {
  outline: none; }

.pac-container {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #000;
  font-size: 12px;
  padding: 20px 10px; }
  @media screen and (min-width: 48em) {
    .pac-container {
      margin-left: -22px; } }
  .pac-container .pac-item {
    border: 0;
    padding: 0 15px; }
    .pac-container .pac-item .pac-icon {
      display: none; }
    .pac-container .pac-item:hover {
      cursor: pointer; }
  .pac-container::after {
    display: none; }

.bottom-spaced-colums > div.columns {
  margin-bottom: 20px; }

.blog-card {
  background-position-x: 50%;
  background-position-y: 50%;
  background-size: cover;
  max-width: 100%;
  min-height: 320px;
  overflow: hidden;
  position: relative;
  width: auto; }
  .blog-card .blog-card-info-wrapper {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    color: #fff;
    position: absolute;
    width: 100%; }
    .blog-card .blog-card-info-wrapper .blog-card-info {
      padding: 21px; }
      @media screen and (max-width: 47.9375em) {
        .blog-card .blog-card-info-wrapper .blog-card-info h4 {
          font-size: 17px;
          line-height: 1.3em; } }
      @media screen and (min-width: 48em) {
        .blog-card .blog-card-info-wrapper .blog-card-info h4 {
          height: 4.25rem;
          line-height: 1.375rem;
          margin-bottom: 0;
          overflow: hidden; } }
      .blog-card .blog-card-info-wrapper .blog-card-info .tiny-headings {
        color: #ff6900;
        margin: 0; }
        @media screen and (max-width: 47.9375em) {
          .blog-card .blog-card-info-wrapper .blog-card-info .tiny-headings {
            display: none; } }
    .blog-card .blog-card-info-wrapper .blog-card-cta {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      background: #ff6900;
      color: #000;
      font-size: 12px;
      line-height: 45px;
      margin: 0;
      padding: 0 21px;
      text-transform: uppercase; }

@media screen and (max-width: 63.9375em) {
  .blog-card-wrapper .blog-card-info-wrapper {
    bottom: 0; }
    .blog-card-wrapper .blog-card-info-wrapper .blog-card-cta {
      display: none; } }

@media screen and (min-width: 64em) {
  .blog-card-wrapper .blog-card-info-wrapper {
    bottom: -45px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease; }
  .blog-card-wrapper:hover .blog-card-info-wrapper {
    bottom: 0; } }

.hello-bar {
  background: #262626;
  color: #fff;
  min-height: 30px;
  overflow: hidden;
  padding: 10px 45px 10px 15px;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .hello-bar {
      height: 40px; } }
  .hello-bar p {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: inline;
    margin: 0;
    padding: 0; }
  .hello-bar a {
    color: #fff;
    text-decoration: underline; }
    .hello-bar a:hover {
      opacity: 0.5; }
  .hello-bar .fa-times {
    cursor: pointer;
    font-size: 18px;
    margin-top: -8px;
    position: absolute;
    right: 20px;
    top: 23px; }
    @media screen and (min-width: 48em) {
      .hello-bar .fa-times {
        top: 50%; } }

.custom-menu-overlay {
  background: #000;
  display: none;
  height: 100%;
  opacity: 0.6;
  position: fixed;
  width: 100%;
  z-index: 3; }

.header-banner,
.header-nav {
  position: relative;
  z-index: 4; }

.header-nav {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  background: #f2f2f2;
  font-size: 12px;
  height: 2.5rem;
  position: relative;
  z-index: 4; }
  .header-nav a {
    color: #000; }
    .header-nav a:hover {
      text-decoration: underline; }
  .header-nav .mainNavActionsWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 40px; }
  .header-nav #headerNavLocationCTA {
    color: #000;
    font-weight: bold; }
    .header-nav #headerNavLocationCTA span {
      bottom: 3px;
      display: none;
      font-size: 15px;
      position: absolute;
      right: -20px; }
    .header-nav #headerNavLocationCTA:hover {
      text-decoration: underline; }
      .header-nav #headerNavLocationCTA:hover span {
        display: inline-block; }

ul.headerNavExternalLinks,
ul#headerNavActions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0; }
  ul.headerNavExternalLinks li,
  ul#headerNavActions li {
    display: inline-block;
    margin-left: 25px; }
    ul.headerNavExternalLinks li:first-child,
    ul#headerNavActions li:first-child {
      margin-left: 0;
      min-width: 68px; }
  ul.headerNavExternalLinks li.headerNavLocationWrapper,
  ul#headerNavActions li.headerNavLocationWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      ul.headerNavExternalLinks li.headerNavLocationWrapper,
      ul#headerNavActions li.headerNavLocationWrapper {
        margin-right: 25px; } }
    ul.headerNavExternalLinks li.headerNavLocationWrapper i.icon-location,
    ul#headerNavActions li.headerNavLocationWrapper i.icon-location {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 16px; }
    ul.headerNavExternalLinks li.headerNavLocationWrapper.active,
    ul#headerNavActions li.headerNavLocationWrapper.active {
      border-bottom: 1px solid #dfe0e0; }
      ul.headerNavExternalLinks li.headerNavLocationWrapper.active i.icon-location,
      ul#headerNavActions li.headerNavLocationWrapper.active i.icon-location {
        color: #ff6900; }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper {
    padding: 0; } }

@media screen and (min-width: 48em) {
  #mainNavWrapper .top-bar-left,
  #mainNavWrapper .top-bar-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 40px; } }

#mainNavWrapper #mainNav {
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all; }
  @media screen and (min-width: 48em) {
    #mainNavWrapper #mainNav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      #mainNavWrapper #mainNav > li a.l1MenuItem {
        position: relative; }
      #mainNavWrapper #mainNav > li.is-active a.l1MenuItem {
        color: #c75300; } }
  @media screen and (max-width: 47.9375em) {
    #mainNavWrapper #mainNav {
      display: block;
      width: 100%; }
      #mainNavWrapper #mainNav > li[aria-expanded="true"] a.l1MenuItem {
        color: #c75300; }
      #mainNavWrapper #mainNav > li a.l1MenuItem {
        color: #000;
        position: relative; } }
  #mainNavWrapper #mainNav .dropdown-pane {
    border-bottom: 0;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid #e5e5e5; }

#mainNavWrapper .top-bar #mainNav > li,
#mainNavWrapper .top-bar #mainNav > li > a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #000;
  font-size: 14px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    #mainNavWrapper .top-bar #mainNav > li::after,
    #mainNavWrapper .top-bar #mainNav > li > a::after {
      display: none; } }
  #mainNavWrapper .top-bar #mainNav > li:hover,
  #mainNavWrapper .top-bar #mainNav > li > a:hover {
    color: #ff6900; }
  #mainNavWrapper .top-bar #mainNav > li ul,
  #mainNavWrapper .top-bar #mainNav > li li,
  #mainNavWrapper .top-bar #mainNav > li li a,
  #mainNavWrapper .top-bar #mainNav > li > a ul,
  #mainNavWrapper .top-bar #mainNav > li > a li,
  #mainNavWrapper .top-bar #mainNav > li > a li a {
    text-transform: none; }

#mainNavWrapper .top-bar #mainNav > li > a,
#mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link {
  display: block;
  line-height: 40px;
  padding: 0; }
  @media screen and (min-width: 64em) {
    #mainNavWrapper .top-bar #mainNav > li > a span,
    #mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link span {
      border-left: 2px solid #ff6900;
      padding: 0 19px; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #mainNavWrapper .top-bar #mainNav > li > a span,
    #mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link span {
      padding: 0 20px; } }
  #mainNavWrapper .top-bar #mainNav > li > a span,
  #mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link span {
    color: #000; }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper .top-bar #mainNav li {
    border-top: 1px solid #808285; }
    #mainNavWrapper .top-bar #mainNav li.is-submenu-item {
      display: block; } }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper .top-bar #mainNav li a {
    font-size: 22px;
    line-height: 67px;
    margin: 0;
    padding: 0 30px;
    width: 100%; } }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper .top-bar #mainNav li a.mobile-submenu-trigger {
    padding-right: 1rem; } }

#mainNavWrapper .top-bar #mainNav li.js-drilldown-back > a {
  color: #000;
  font-size: 1.375rem;
  line-height: 67px;
  text-transform: uppercase; }
  #mainNavWrapper .top-bar #mainNav li.js-drilldown-back > a::before {
    color: #ff6900;
    margin-top: -5px; }

#mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper {
  padding: 10px 0 25px; }
  @media screen and (max-width: 47.9375em) {
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper ul,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li {
      border: 0 !important;
      list-style-type: none;
      margin: 0; }
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h1,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h2,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h3,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h4,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h5,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h6 {
      padding: 23px 45px 0; }
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      font-size: 14px;
      line-height: 32px;
      padding: 0; }
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li {
      padding: 0 45px; } }

#mainNavWrapper .top-bar #mainNav li:first-child a span {
  border: 0; }

#mainNavWrapper .mobile-submenu-trigger {
  height: 67px;
  position: absolute !important;
  text-align: right;
  width: 100%; }

#mainNavWrapper ul#mainNav .mobile-menu-wrapper h5 {
  color: #ff6900; }
  #mainNavWrapper ul#mainNav .mobile-menu-wrapper h5 a {
    font-size: 1.0625rem;
    line-height: 1em;
    padding: 0; }

@media screen and (min-width: 64em) {
  #mainNavWrapper .top-bar-right {
    float: none;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

#mainNavWrapper .top-bar-right ul#mainNav {
  float: left;
  z-index: 1; }
  @media screen and (min-width: 64em) {
    #mainNavWrapper .top-bar-right ul#mainNav {
      margin: 0; } }

@media screen and (max-width: 47.9375em) {
  #mainMenuWrapper {
    position: relative;
    z-index: 1; } }

ul.mainNavActions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  min-width: 213px;
  position: relative;
  z-index: 100; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    ul.mainNavActions {
      min-width: auto; } }
  ul.mainNavActions > li {
    padding: 0 8px; }
    @media screen and (min-width: 64em) and (max-width: 82.4375em) {
      ul.mainNavActions > li {
        padding: 0 3px; } }
    ul.mainNavActions > li:last-child {
      padding-right: 0; }
  ul.mainNavActions li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  ul.mainNavActions a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    display: block;
    font-size: 12px;
    line-height: 20px; }
    ul.mainNavActions a i {
      font-size: 20px; }
    ul.mainNavActions a i:hover {
      color: #c75300; }
  ul.mainNavActions h5 a {
    color: #ff6900;
    font-size: 1.125rem; }
  ul.mainNavActions .header-cta-button .button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 28px;
    margin: 0; }
    @media screen and (min-width: 64em) and (max-width: 82.4375em) {
      ul.mainNavActions .header-cta-button .button {
        white-space: nowrap; } }

.mobile-header-cta {
  text-align: center; }
  .mobile-header-cta .button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 28px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 10px auto;
    width: 80%; }

.header-main-nav {
  background-color: #fff;
  min-height: 40px;
  padding: 28px 0;
  position: sticky;
  position: sticky;
  top: 0;
  z-index: 99; }
  @media screen and (max-width: 47.9375em) {
    .header-main-nav {
      min-height: 60px;
      padding: 0; }
      .header-main-nav::after {
        height: 1px; } }
  .header-main-nav::after {
    background-color: #f2f2f2;
    bottom: 0;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .header-main-nav .row.atroot {
      padding: 0;
      width: 100%; } }
  .header-main-nav.no-js {
    height: 60px; }
  @media screen and (min-width: 48em) {
    .header-main-nav-sticked .header-logo-image {
      max-width: 90px; } }
  @media screen and (min-width: 64em) {
    .header-main-nav-sticked .header-logo-image {
      max-width: 110px; } }

.header-logo-image {
  height: auto;
  max-width: 90px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }
  @media screen and (min-width: 48em) {
    .header-logo-image {
      max-width: 100px;
      padding: 20px 0; } }
  @media screen and (min-width: 64em) {
    .header-logo-image {
      max-width: 125px; } }

#locationChange {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative; }

#locationChangeTriggerWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all; }

#locationChangeFormWrapper {
  overflow: hidden;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all;
  width: 0; }

#locationChangeInput {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  background: transparent;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 12px;
  height: 28px;
  line-height: 28px;
  margin: 0;
  max-width: 200px;
  padding: 0 25px 0 0; }
  #locationChangeInput::-ms-clear {
    display: none; }

#locationChangeFormClose {
  color: #dfe0e0;
  cursor: pointer;
  display: none;
  font-size: 18px;
  line-height: 28px;
  position: absolute;
  right: 0;
  top: 0; }

.title-bar {
  padding: 0;
  position: relative; }

#mobileMenuLogoWrapper {
  float: left;
  padding: 18px 0 0 30px; }

#mobileMenuTriggerWrapper {
  float: right;
  position: relative; }
  #mobileMenuTriggerWrapper ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    list-style-type: none;
    margin: 0;
    padding: 0; }
    #mobileMenuTriggerWrapper ul li {
      display: inline-block;
      font-size: 21px; }
      #mobileMenuTriggerWrapper ul li a {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #000;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 60px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 36px; }
  #mobileMenuTriggerWrapper li a.active {
    color: #ff6900; }
  #mobileMenuTriggerWrapper .menu-icon {
    fill: #000;
    height: 60px;
    margin: 0 0 0 10px;
    outline: none;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    -webkit-transition: 0.3s ease all;
    transition: 0.3s ease all;
    width: 60px;
    z-index: 2; }
    #mobileMenuTriggerWrapper .menu-icon .mobileNav-svg {
      bottom: 0;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 60px; }
    #mobileMenuTriggerWrapper .menu-icon .mobileNav-rect {
      -webkit-transition: 0.3s ease all;
      transition: 0.3s ease all; }
    #mobileMenuTriggerWrapper .menu-icon.is-active .mobileNav-rect:first-child {
      -webkit-transform: rotate(43deg) translate(11px, -21px);
          -ms-transform: rotate(43deg) translate(11px, -21px);
              transform: rotate(43deg) translate(11px, -21px);
      transform: rotate(43deg) translate(11px, -21px);
      transform: rotate(43deg) translate(11px, -21px); }
    #mobileMenuTriggerWrapper .menu-icon.is-active .mobileNav-rect:nth-child(2) {
      opacity: 0; }
    #mobileMenuTriggerWrapper .menu-icon.is-active .mobileNav-rect:last-child {
      -webkit-transform: rotate(-45deg) translate(-30px, 1px);
          -ms-transform: rotate(-45deg) translate(-30px, 1px);
              transform: rotate(-45deg) translate(-30px, 1px);
      transform: rotate(-45deg) translate(-30px, 1px);
      transform: rotate(-45deg) translate(-30px, 1px); }
    #mobileMenuTriggerWrapper .menu-icon::after {
      display: none; }

#mobileNavActions {
  background: #f2f2f2;
  border-bottom: 1px solid #808285;
  border-top: 1px solid #808285;
  display: block;
  float: left;
  list-style-type: none;
  margin: 0;
  padding: 5px 30px;
  width: 100%; }
  #mobileNavActions li a {
    color: #000;
    display: block;
    line-height: 40px;
    width: 100%; }
    #mobileNavActions li a span {
      color: #ff6900; }
    #mobileNavActions li a.active {
      color: #ff6900; }
  #mobileNavActions li a#mobileLocationChangeFormClose {
    color: #dfe0e0;
    display: block;
    font-size: 18px;
    line-height: 40px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 45px; }
  #mobileNavActions .mobileNavExternalLinks {
    background: inherit;
    border-top: #bebebe 1px solid;
    font-size: 14px;
    margin-left: 0;
    margin-top: 8px;
    padding-top: 8px; }

#mobileLocationChange {
  position: relative; }

#mobileLocationChangeInput {
  margin: 0;
  max-width: 100%;
  padding: 0 45px 0 15px;
  width: 100%; }

#mobileLocationChangeFormWrapper {
  height: 0;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all; }

.mini-cart-link {
  position: relative; }
  .mini-cart-link .minicart-quantity {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #fff;
    border-radius: 50%;
    color: #fff;
    font-size: 10px;
    height: 24px;
    position: absolute;
    right: -10px;
    text-align: center;
    top: -9px;
    width: 24px; }
    @media screen and (max-width: 47.9375em) {
      .mini-cart-link .minicart-quantity {
        line-height: 20px;
        right: -4px;
        top: 5px; } }
    .mini-cart-link .minicart-quantity .minicart-quantity-inner {
      background: #000;
      border-radius: 50%;
      display: block;
      height: 18px;
      line-height: 18px;
      margin: 0 auto;
      width: 18px; }

@media screen and (min-width: 48em) {
  .mega-menu {
    position: relative;
    z-index: 999; }
    .mega-menu .links-type h1,
    .mega-menu .links-type h2,
    .mega-menu .links-type h3,
    .mega-menu .links-type h4,
    .mega-menu .links-type h5,
    .mega-menu .links-type h6 {
      color: #c75300;
      padding-top: 10px; }
      .mega-menu .links-type h1 a,
      .mega-menu .links-type h2 a,
      .mega-menu .links-type h3 a,
      .mega-menu .links-type h4 a,
      .mega-menu .links-type h5 a,
      .mega-menu .links-type h6 a {
        color: #c75300; }
      .mega-menu .links-type h1 a:hover, .mega-menu .links-type h1:hover,
      .mega-menu .links-type h2 a:hover,
      .mega-menu .links-type h2:hover,
      .mega-menu .links-type h3 a:hover,
      .mega-menu .links-type h3:hover,
      .mega-menu .links-type h4 a:hover,
      .mega-menu .links-type h4:hover,
      .mega-menu .links-type h5 a:hover,
      .mega-menu .links-type h5:hover,
      .mega-menu .links-type h6 a:hover,
      .mega-menu .links-type h6:hover {
        color: #994000;
        text-decoration: underline; }
    .mega-menu .links-type ul {
      list-style-type: none;
      margin: 0;
      padding: 0; }
    .mega-menu .links-type li,
    .mega-menu .links-type li a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      font-size: 15px; }
    .mega-menu .links-type li {
      padding: 5px 0; }
      .mega-menu .links-type li a:hover {
        text-decoration: underline; }
    .mega-menu .editorial-type h1,
    .mega-menu .editorial-type h2,
    .mega-menu .editorial-type h3,
    .mega-menu .editorial-type h4,
    .mega-menu .editorial-type h5,
    .mega-menu .editorial-type h6 {
      color: #c75300;
      margin: 0;
      padding: 10px 0 5px; }
      .mega-menu .editorial-type h1:hover,
      .mega-menu .editorial-type h2:hover,
      .mega-menu .editorial-type h3:hover,
      .mega-menu .editorial-type h4:hover,
      .mega-menu .editorial-type h5:hover,
      .mega-menu .editorial-type h6:hover {
        color: #994000; }
    .mega-menu .editorial-type p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #808285;
      font-size: 14px;
      text-transform: none; }
    .mega-menu .editorial-type .content-custom-btn {
      color: #000; }
      .mega-menu .editorial-type .content-custom-btn:hover {
        text-decoration: underline; }
    .mega-menu .editorial-type img {
      display: block;
      width: 100%; }
    .mega-menu .mega {
      -webkit-box-shadow: 0 13px 20px -13px rgba(0, 0, 0, 0.15);
              box-shadow: 0 13px 20px -13px rgba(0, 0, 0, 0.15);
      left: 0% !important;
      margin: 0 auto !important;
      max-width: 1800px;
      padding: 60px 0;
      right: 0% !important;
      width: auto !important; }
      .mega-menu .mega .row {
        margin: 0 auto;
        max-width: 82.5rem; }
      .mega-menu .mega .columns {
        border-left: 1px solid #e5e5e5;
        padding: 0 35px; }
        .mega-menu .mega .columns:first-child {
          border: 0; }
      .mega-menu .mega .image-type a {
        display: block; }
      .mega-menu .mega .image-type img {
        display: block;
        width: 100%; } }

.is-dropdown-submenu-parent {
  position: relative; }
  @media screen and (min-width: 48em) {
    .is-dropdown-submenu-parent {
      position: static; }
      .is-dropdown-submenu-parent.is-active a.l1MenuItem::before {
        background: #ff6900;
        content: " ";
        height: 6px;
        left: 0;
        position: absolute;
        top: 60px;
        width: 100%; } }

@media screen and (max-width: 47.9375em) {
  .is-accordion-submenu-parent > a::after {
    border: 0;
    color: #ff6900;
    content: "\f107";
    display: block;
    font-family: "fontello";
    font-size: 30px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    height: auto;
    line-height: 1em;
    position: absolute;
    right: 20px;
    text-align: center;
    text-transform: none;
    top: 24px;
    width: 1em; } }

.header-main-nav .is-drilldown .mega-menu {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.header-main-nav .is-drilldown-submenu {
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll; }

@media screen and (max-width: 47.9375em) {
  .header-main-nav .is-drilldown-submenu-parent > a::after {
    border: 0;
    color: #ff6900;
    content: "\f105";
    display: inline;
    font-family: "fontello";
    position: initial; } }

@media screen and (max-width: 47.9375em) {
  .header-main-nav .is-drilldown-submenu .js-drilldown-back > a::before {
    border: 0;
    content: "\f104";
    font-family: "fontello";
    height: auto;
    width: auto; } }

@media screen and (max-width: 47.9375em) {
  .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
    content: "\f106";
    -webkit-transform: initial;
        -ms-transform: initial;
            transform: initial;
    -webkit-transform-origin: initial;
        -ms-transform-origin: initial;
            transform-origin: initial; } }

#mobileSearchWrapper {
  float: left;
  position: relative;
  top: 1px;
  width: 100%;
  z-index: 9; }
  #mobileSearchWrapper .header-search {
    display: none; }
  #mobileSearchWrapper.active .header-search {
    display: block; }

@media screen and (min-width: 48em) {
  .header-search {
    overflow: hidden;
    -webkit-transition: 0.3s ease all;
    transition: 0.3s ease all;
    width: 0; } }

@media screen and (max-width: 47.9375em) {
  .header-search {
    background: #f2f2f2;
    padding: 15px;
    top: -1px;
    width: 100%; }
    .header-search fieldset {
      position: relative; }
    .header-search .seachFormInput {
      padding: 0 15px; }
    .header-search .seachFormInput {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      border: 1px solid #dfe0e0;
      -webkit-box-shadow: none;
              box-shadow: none;
      color: #000;
      font-size: 12px;
      margin: 0;
      padding: 0 25px 0 15px; }
    .header-search .searchFormClose {
      color: #dfe0e0;
      cursor: pointer;
      font-size: 18px;
      line-height: 40px;
      position: absolute;
      right: 10px;
      top: 0; } }

.headerSearchWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .headerSearchWrapper.active {
    background: #fff;
    border-bottom: 1px solid #dfe0e0;
    padding: 0;
    right: 0;
    top: -8px;
    z-index: 1; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .headerSearchWrapper.active {
        background: #f2f2f2;
        position: relative;
        top: 0; } }
    @media screen and (max-width: 47.9375em) {
      .headerSearchWrapper.active {
        border: 0;
        position: relative;
        top: 0; } }
    .headerSearchWrapper.active .searchFormTrigger {
      color: #ff6900 !important;
      display: inline; }
      .headerSearchWrapper.active .searchFormTrigger i.icon-search::before {
        margin-left: 0; }
    .headerSearchWrapper.active .searchFormClose {
      display: block; }
    @media screen and (min-width: 48em) {
      .headerSearchWrapper.active .header-search {
        width: 220px; } }
    @media screen and (min-width: 64em) {
      .headerSearchWrapper.active .header-search {
        -webkit-transition-duration: 0.3s;
                transition-duration: 0.3s; } }
  .headerSearchWrapper .header-search .searchFormTrigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .headerSearchWrapper .searchFormTrigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .headerSearchWrapper .header-search fieldset {
    position: relative; }
  .headerSearchWrapper .seachFormButton {
    bottom: 0;
    position: absolute;
    right: 5px; }
    .headerSearchWrapper .seachFormButton:hover {
      color: #ff6900; }
  .headerSearchWrapper .seachFormInput {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: transparent;
    border: 1px solid #f2f2f2;
    -webkit-box-shadow: none;
            box-shadow: none;
    font-size: 12px;
    height: 28px;
    line-height: 28px;
    margin: 0;
    max-width: 100%;
    padding: 0 25px 0 10px; }
    .headerSearchWrapper .seachFormInput::-ms-clear {
      display: none; }
  .headerSearchWrapper .searchFormClose {
    color: #dfe0e0;
    cursor: pointer;
    display: none;
    font-size: 18px;
    line-height: 28px;
    position: absolute;
    right: 0;
    top: 0; }

.search-suggestions {
  background: #fff;
  -webkit-box-shadow: 0 8px 15px -2px rgba(0, 0, 0, 0.15);
          box-shadow: 0 8px 15px -2px rgba(0, 0, 0, 0.15);
  padding: 20px 0;
  position: absolute;
  right: 0;
  width: 585px; }
  @media screen and (min-width: 48em) {
    .search-suggestions {
      top: 64px; } }
  @media screen and (min-width: 64em) {
    .search-suggestions {
      top: 67px; } }
  @media screen and (max-width: 47.9375em) {
    .search-suggestions {
      padding: 30px;
      top: 70px;
      width: 100%; } }
  .mobile-search .search-suggestions {
    overflow-y: scroll; }
  .search-suggestions .hitgroup {
    margin: 0 0 30px; }
  .search-suggestions .generated-hitgroup {
    border-bottom: 1px solid #ccc;
    padding-bottom: 20px; }
  .search-suggestions h5 {
    color: #ff6900;
    margin: 0;
    padding-bottom: 20px;
    text-transform: uppercase; }
    .search-suggestions h5.popular-searches {
      font-size: 0.875rem;
      text-transform: none; }
  .search-suggestions .direct-page-link {
    color: #ff6900;
    font-size: 1.125rem;
    margin: 0;
    padding-bottom: 20px;
    text-transform: uppercase; }
  .search-suggestions .search-product-wrapper {
    border-left: 1px solid #dfe0e0;
    float: right;
    overflow-x: hidden;
    padding: 0 30px 0 40px;
    width: 340px; }
    @media screen and (max-width: 47.9375em) {
      .search-suggestions .search-product-wrapper {
        border: 0;
        padding: 0 0 20px;
        width: 100%; } }
  .search-suggestions .search-suggestion-wrapper {
    float: left;
    overflow: hidden;
    padding: 0 30px 0 40px;
    width: 245px; }
    @media screen and (max-width: 47.9375em) {
      .search-suggestions .search-suggestion-wrapper {
        border: 0;
        border-top: 1px solid #d4d4d4;
        margin-bottom: 0;
        padding: 30px 0;
        width: 100%; } }
    .search-suggestions .search-suggestion-wrapper a.hit {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      display: block;
      font-size: 0.875rem;
      padding-bottom: 10px; }
  .search-suggestions .product-suggestion {
    margin-bottom: 15px; }
  .search-suggestions .product-suggestion:hover {
    background-color: #f4f4f4; }
  .search-suggestions .product-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .search-suggestions .product-link .product-image {
      border: 1px solid #dfe0e0;
      width: 60px; }
    .search-suggestions .product-link .product-details {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      font-size: 0.8125rem;
      padding-left: 20px; }
      .search-suggestions .product-link .product-details .product-brand {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }

.footer-social-media-wrapper {
  font-size: 28px;
  list-style-type: none;
  margin: 0;
  margin-top: 15px;
  padding: 0;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .footer-social-media-wrapper {
      font-size: 20px;
      margin-top: 0;
      text-align: left; } }
  .footer-social-media-wrapper li {
    display: inline;
    padding: 0 20px; }
    @media screen and (min-width: 48em) {
      .footer-social-media-wrapper li {
        padding: 0 0 0 20px; }
        .footer-social-media-wrapper li:first-child {
          padding: 0; } }
    .footer-social-media-wrapper li a {
      color: #000; }

.footer-copy-wrapper {
  background: #ff6900;
  min-height: 96px; }
  .footer-copy-wrapper .row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 96px;
    padding-bottom: 15px;
    padding-top: 15px; }
    @media screen and (min-width: 48em) {
      .footer-copy-wrapper .row {
        height: 96px; } }

#footerLogoContainer {
  display: block;
  margin: 0 auto 8px;
  max-width: 108px;
  text-align: center; }
  @media screen and (min-width: 48em) {
    #footerLogoContainer {
      float: left;
      margin: 0 auto;
      max-width: 108px;
      text-align: left; } }
  #footerLogoContainer img {
    display: block;
    height: auto;
    width: 100%; }

#footerCopyContainer {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #000;
  display: block;
  font-size: 10px;
  margin: 0;
  padding: 0;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #footerCopyContainer {
      float: right;
      font-size: 11px;
      margin: 0;
      padding: 0;
      text-align: right; } }
  @media screen and (max-width: 47.9375em) {
    #footerCopyContainer span {
      display: block;
      width: 100%; } }
  #footerCopyContainer a {
    color: #000;
    text-decoration: underline; }

#footerLiveChatCTA {
  color: #ff6900; }

.footer-wrapper {
  /* stylelint-disable-line */
  border-top: 1px solid #f2f2f2;
  padding: 55px 0 25px; }
  @media screen and (max-width: 47.9375em) {
    .footer-wrapper {
      padding: 45px 0 35px; } }
  .footer-wrapper .footer-logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

ul.footer-links {
  color: #808285;
  list-style-type: none;
  margin: 0 0 30px; }
  ul.footer-links span {
    color: #ff6900; }
  ul.footer-links a {
    color: #808285; }
    ul.footer-links a:hover {
      text-decoration: underline; }
  ul.footer-links li {
    margin-bottom: 1.375rem; }
    @media screen and (min-width: 48em) {
      ul.footer-links li {
        margin-bottom: 5px; }
        ul.footer-links li:first-child {
          margin-bottom: 10px; }
          ul.footer-links li:first-child a {
            font-family: "Gotham A", "Gotham B", Arial;
            font-weight: 700;
            color: #000;
            font-size: 15px; } }
    @media screen and (max-width: 47.9375em) {
      ul.footer-links li a {
        color: #000; } }

.show-self-service .show-entry-point {
  display: block; }

.show-entry-point {
  display: none; }

.footer-email-wrapper {
  background: #f2f2f2;
  padding: 35px 0; }
  .footer-email-wrapper form fieldset {
    text-align: center; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper form fieldset {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  .footer-email-wrapper label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 13px;
    padding: 0 0 15px; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper label {
        font-size: 15px;
        padding: 0 70px 0 0; } }
  .footer-email-wrapper .footer-email-input-wrapper,
  .footer-email-wrapper .footer-email-label-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper .footer-email-input-wrapper,
      .footer-email-wrapper .footer-email-label-wrapper {
        width: auto; } }
  @media screen and (min-width: 64em) {
    .footer-email-wrapper .footer-email-label-wrapper {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }
  @media screen and (min-width: 64em) {
    .footer-email-wrapper .footer-email-label-wrapper label {
      margin: 0; } }
  .footer-email-wrapper .footer-email-input-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 15px;
    position: relative; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper .footer-email-input-wrapper {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .footer-email-wrapper .footer-email-input-wrapper input {
      float: left;
      margin: 0; }
    .footer-email-wrapper .footer-email-input-wrapper button {
      height: 40px;
      margin: 0; }
      @media screen and (max-width: 47.9375em) {
        .footer-email-wrapper .footer-email-input-wrapper button {
          padding: 0;
          width: 40px; }
          .footer-email-wrapper .footer-email-input-wrapper button i {
            font-size: 22px; } }
    .footer-email-wrapper .footer-email-input-wrapper span.error {
      left: 0;
      padding: 0 15px;
      position: absolute;
      text-align: left;
      top: -18px; }
      @media screen and (max-width: 63.9375em) {
        .footer-email-wrapper .footer-email-input-wrapper span.error {
          text-align: center; } }

.newsletter-message {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .newsletter-message i {
    color: #ff6900;
    font-size: 1.375rem; }
  .newsletter-message span {
    font-size: 0.75rem; }

#subscribe-email {
  max-width: 305px; }
  @media screen and (min-width: 64em) {
    #subscribe-email {
      width: 315px; } }

#homepageAlertBar {
  background: #000;
  color: #fff;
  padding: 0 50px 0 0;
  position: relative; }
  #homepageAlertBar i.icon-alert {
    color: #ff6900;
    font-size: 30px;
    min-width: 42px; }
  #homepageAlertBar p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 25px auto; }
  #homepageAlertBar > div {
    display: table;
    min-height: 80px; }
  #homepageAlertBar strong {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  #homepageAlertBar #homepageAlertBarClose {
    cursor: pointer;
    font-size: 18px;
    position: absolute;
    right: 20px;
    top: 38%; }

#homepageThreeAssetGroup .main-left {
  width: 100%; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .main-left {
      width: 50%; } }
  @media screen and (max-width: 47.9375em) {
    #homepageThreeAssetGroup .main-left {
      height: auto !important; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #homepageThreeAssetGroup .main-left {
      height: auto !important; } }

#homepageThreeAssetGroup .main-right {
  width: 100%; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .main-right {
      width: 50%; } }
  @media screen and (max-width: 47.9375em) {
    #homepageThreeAssetGroup .main-right {
      height: auto !important; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #homepageThreeAssetGroup .main-right {
      height: auto !important; } }

#homepageThreeAssetGroup .right-column-wrapper {
  width: 100%; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .right-column-wrapper {
      background: #ff6900;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      height: 100%; } }

#homepageThreeAssetGroup .left-column {
  background: #f2f2f2;
  padding: 36px 32px 0;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .left-column {
      padding: 55px 32px 0; } }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .left-column {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      height: 100%;
      padding: 90px 60px 0; } }
  #homepageThreeAssetGroup .left-column h2 {
    color: #ff6900;
    font-size: 2rem; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .left-column h2 {
        font-size: 2.625rem;
        margin-bottom: 15px; } }
  #homepageThreeAssetGroup .left-column p {
    color: #808285;
    margin-bottom: 30px;
    max-width: 540px; }
  #homepageThreeAssetGroup .left-column ul {
    list-style: none;
    margin: 0 0 25px;
    padding: 0; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      #homepageThreeAssetGroup .left-column ul {
        margin-bottom: 25px; } }
    #homepageThreeAssetGroup .left-column ul p {
      display: inline;
      margin: 0; }
  #homepageThreeAssetGroup .left-column li::before {
    color: #ff6900;
    content: "\2022";
    font-size: 22px;
    line-height: 16px;
    padding-right: 0.25em;
    position: relative;
    top: 0.1em; }
  #homepageThreeAssetGroup .left-column a.button {
    margin-bottom: 75px; }

#homepageThreeAssetGroup .left-column-image-wrapper {
  background: #f2f2f2;
  padding: 0;
  position: relative; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .left-column-image-wrapper {
      -ms-flex-item-align: end;
          align-self: flex-end; } }
  #homepageThreeAssetGroup .left-column-image-wrapper img {
    width: 100%; }
  #homepageThreeAssetGroup .left-column-image-wrapper a.button {
    left: 0;
    position: absolute;
    top: 0; }

#homepageThreeAssetGroup .right-column-first {
  background-position: bottom left;
  background-size: cover;
  padding: 85px 32px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .right-column-first {
      padding: 100px 32px 90px; } }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .right-column-first {
      padding: 85px 80px; } }
  #homepageThreeAssetGroup .right-column-first img.right-column-first-icons {
    margin-bottom: 25px;
    max-width: 216px; }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-first img.right-column-first-icons {
        max-width: 225px; } }
  #homepageThreeAssetGroup .right-column-first h2 {
    color: #fff;
    font-size: 2rem;
    margin-bottom: 15px; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .right-column-first h2 {
        font-size: 2.625rem; } }
  #homepageThreeAssetGroup .right-column-first p {
    color: #fff;
    margin-bottom: 25px; }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-first p {
        max-width: 460px; } }
  #homepageThreeAssetGroup .right-column-first .button {
    margin: 0; }

#homepageThreeAssetGroup .right-column-second {
  background: #ff6900; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .right-column-second {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

#homepageThreeAssetGroup .right-column-second-a {
  padding: 40px 32px 15px;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .right-column-second-a {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
      -ms-flex: 1;
          flex: 1;
      padding: 60px 10px 40px 70px;
      text-align: left;
      width: 50%; } }
  #homepageThreeAssetGroup .right-column-second-a img {
    max-width: 190px; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .right-column-second-a img {
        max-width: 80%; } }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-second-a img {
        max-width: 90%; } }

#homepageThreeAssetGroup .right-column-second-b {
  padding: 0 32px 45px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .right-column-second-b {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
      -ms-flex: 1;
          flex: 1;
      padding: 75px 45px 45px 0;
      width: 50%; } }
  #homepageThreeAssetGroup .right-column-second-b h2 {
    color: #fff;
    font-size: 26px;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .right-column-second-b h2 {
        font-size: 34px; } }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-second-b h2 {
        font-size: 36px; } }

.row.collapse-row {
  margin-left: auto !important;
  margin-right: auto !important; }

.vertical-align {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important; }

.horizontal-align {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.info-tile-wrapper-spacearound {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 63.9375em) {
    .info-tile-wrapper-spacearound {
      height: auto; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .info-tile-wrapper-spacearound {
      min-height: auto !important;
      padding-bottom: 60px;
      padding-top: 60px; } }
  @media screen and (max-width: 47.9375em) {
    .info-tile-wrapper-spacearound {
      min-height: auto !important;
      padding-bottom: 45px;
      padding-top: 60px; } }

.info-tile-wrapper {
  width: 100%; }
  .info-tile-wrapper.hovered {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  @media screen and (max-width: 47.9375em) {
    .info-tile-wrapper > div {
      margin-bottom: 15px; } }

.hompage-info-tile {
  border: 10px solid #f2f2f2;
  height: 100%;
  padding: 15px 38px 15px 14px;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .hompage-info-tile {
      padding: 8px 20px 15px; }
      .hompage-info-tile a {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  @media screen and (min-width: 64em) {
    .hompage-info-tile {
      padding-left: 40px;
      padding-right: 40px; } }
  .hompage-info-tile p {
    color: #808285;
    display: none; }
    @media screen and (min-width: 48em) {
      .hompage-info-tile p {
        display: block;
        width: 100%; } }
  .hompage-info-tile a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #000; }
    @media screen and (min-width: 48em) {
      .hompage-info-tile a {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .hompage-info-tile i {
    color: #ff6900;
    display: block;
    font-size: 60px; }
    @media screen and (max-width: 47.9375em) {
      .hompage-info-tile i {
        font-size: 50px;
        line-height: 50px; } }
    .hompage-info-tile i::before {
      margin: 0;
      padding: 0; }
  .hompage-info-tile h4 {
    display: block;
    font-size: 16px;
    margin-left: 20px;
    text-align: left;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      .hompage-info-tile h4 {
        margin-bottom: 0; } }
    @media screen and (min-width: 48em) {
      .hompage-info-tile h4 {
        font-size: 22px;
        margin-left: 0;
        text-align: center; } }
  .hompage-info-tile.showbutton .button {
    display: block; }
  .hompage-info-tile .button {
    margin-bottom: 0; }
    @media screen and (min-width: 48em) {
      .hompage-info-tile .button {
        margin-bottom: 10px; } }
    @media screen and (min-width: 64em) {
      .hompage-info-tile .button {
        display: none; } }
  .hompage-info-tile .mobile-info-tile-CTA {
    font-size: 42px;
    position: absolute;
    right: 0; }

#headlinesWrapper {
  background-color: #262626;
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 178px auto;
  padding: 4.25rem 0; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #headlinesWrapper {
      background-size: 241px auto; } }
  @media screen and (min-width: 64em) {
    #headlinesWrapper {
      background-size: 316px auto;
      padding: 100px 0; } }
  #headlinesWrapper .title-wrapper {
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      #headlinesWrapper .title-wrapper {
        margin-bottom: 10px; } }
  #headlinesWrapper .cta-wrapper {
    margin-top: 30px; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      #headlinesWrapper .cta-wrapper {
        margin-top: 15px; } }
    #headlinesWrapper .cta-wrapper .button {
      margin: 0; }
  #headlinesWrapper h2.section-title {
    color: #fff;
    font-size: 26px; }
    @media screen and (min-width: 48em) {
      #headlinesWrapper h2.section-title {
        font-size: 36px; } }
  #headlinesWrapper p.section-subtitle {
    color: #808285;
    font-size: 14px; }
    @media screen and (min-width: 48em) {
      #headlinesWrapper p.section-subtitle {
        font-size: 16px; } }

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

.reveal.revealnine {
  border: 0;
  max-width: 900px;
  padding: 0;
  width: 100%; }

.bordered-top {
  border-top: 1px solid #f2f2f2; }

.reveal-overlay {
  overflow-y: hidden; }
  .reveal-overlay.scroll-overlay {
    overflow-y: scroll; }
    @media screen and (min-width: 48em) {
      .reveal-overlay.scroll-overlay {
        overflow-y: hidden; } }

.error-page-container {
  color: #fff; }
  .error-page-container .fullbleed, .error-page-container .footer-wrapper {
    background-size: cover; }
  .error-page-container .row {
    padding-bottom: 3.75rem;
    padding-top: 4.25rem; }
    @media screen and (min-width: 64em) {
      .error-page-container .row {
        padding-bottom: 12.5rem;
        padding-top: 12.875rem; } }
  .error-page-container h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 44px;
    line-height: 1.0435em;
    margin-bottom: 1.4375rem;
    text-transform: uppercase; }
    @media screen and (min-width: 64em) {
      .error-page-container h2 {
        font-size: 4.0625rem;
        margin-bottom: 0.8125rem; } }
  .error-page-container p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    line-height: 1.3em;
    margin-bottom: 1.875rem; }
    @media screen and (min-width: 64em) {
      .error-page-container p {
        font-size: 18px; } }
  .error-page-container .button {
    color: inherit;
    margin: 0 0 0.9375rem;
    padding: 10px 28px; }
    @media screen and (min-width: 48em) {
      .error-page-container .button {
        margin: 0 0.9375rem 0 0; } }
    .error-page-container .button:hover {
      color: inherit; }

.browser-error {
  color: #ec5840;
  margin-bottom: -1.25rem;
  padding-top: 2rem; }

.privacypolicy-wrapper {
  padding: 50px 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .privacypolicy-wrapper {
      padding-bottom: 2.5rem; } }
  .privacypolicy-wrapper .privacypolicy-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 21px;
    margin-bottom: 35px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .privacypolicy-wrapper .privacypolicy-title {
        font-size: 26px; } }
  .privacypolicy-wrapper h4 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1em;
    margin-bottom: 15px;
    text-transform: uppercase; }
  .privacypolicy-wrapper p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin-bottom: 25px; }
  .privacypolicy-wrapper ul {
    list-style-type: disc;
    margin-bottom: 25px; }
    .privacypolicy-wrapper ul li {
      color: #ff6900; }
      .privacypolicy-wrapper ul li span {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 400;
        color: #000;
        font-size: 0.875rem; }

.modal p,
.modal .button {
  margin: 0; }

.modal p {
  font-family: "gotham", Arial;
  font-size: 0.875rem;
  line-height: 24px; }
  @media screen and (min-width: 48em) {
    .modal p {
      font-size: 1.125rem;
      line-height: 29px; } }

.modal .title {
  background-color: #ff6900;
  color: #fff;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 1.125rem;
  margin: 0;
  padding: 20px 0 20px 20px; }
  @media screen and (min-width: 48em) {
    .modal .title {
      font-size: 1.3125rem;
      padding: 22px 0 22px 30px; } }

.modal .modal-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.modal.reveal {
  border: 0;
  padding: 0; }

.modal .close-button {
  background-color: #ff6900;
  color: #fff;
  padding-right: 18px;
  position: unset; }
  @media screen and (min-width: 48em) {
    .modal .close-button {
      padding-right: 27px; } }

.gdpr-info-bar {
  background: rgba(0, 0, 0, 0.9);
  bottom: 0;
  color: #fff;
  left: 0;
  min-height: 50px;
  padding: 10px 0;
  position: fixed;
  right: 0;
  z-index: 10; }
  .gdpr-info-bar p {
    font-size: 0.875rem;
    line-height: 35px;
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .gdpr-info-bar p {
        line-height: 1.4; } }
  .gdpr-info-bar .button {
    margin: 0 0 0 10px;
    padding: 10px 15px; }
    @media screen and (max-width: 47.9375em) {
      .gdpr-info-bar .button {
        margin: 0; } }
  .gdpr-info-bar .gdpr-info-flex {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  @media print {
    .gdpr-info-bar {
      display: none; } }

.order-summary-products-title {
  display: none; }

.icon-calendar-icon,
.icon-print {
  margin-right: 0.5em; }

#province-modal-message {
  line-height: 20px;
  max-height: 65vh;
  padding: 30px;
  width: 750px; }
  @media screen and (max-width: 47.9375em) {
    #province-modal-message {
      display: grid;
      margin: 5%;
      min-height: 75vh;
      overflow-y: scroll;
      position: absolute;
      width: 90%; } }
  #province-modal-message * {
    font-family: "Gotham A", "Gotham B", Arial; }
  #province-modal-message .province-modal-content {
    padding-right: 10px; }
  #province-modal-message .message-close-button {
    font-size: 32px;
    line-height: 1;
    position: absolute;
    right: 1rem;
    top: 0.5rem; }
  #province-modal-message .title-section {
    padding-bottom: 30px; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message .title-section {
        padding: 0; } }
  #province-modal-message .content-section {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message .content-section {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  #province-modal-message h4 {
    line-height: 20px; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message h4 {
        font-size: 17px; } }
  #province-modal-message img {
    margin-right: 30px; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message img {
        margin: 30px 0; } }
  #province-modal-message p {
    font-size: 16px;
    line-height: 20px; }

@media screen and (max-width: 47.9375em) {
  .pt_psresults .header-main-nav::after {
    background-color: #ccc; } }

@media screen and (min-width: 48em) {
  .pt_psresults .sel-info-wrapper .small-12.columns.psresults-title-border {
    padding: 0; } }

span.questionmarkcircle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 2px solid #ff6900 !important;
  border-radius: 50%;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.75rem;
  font-weight: bold;
  height: 22px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 5px;
  width: 22px; }
  span.questionmarkcircle.questionmark-white {
    border-color: #fff !important; }

#GSPNoResults {
  display: none; }

#psmodal,
#wheel-type-modal {
  max-width: 700px;
  padding: 0;
  width: 100%; }
  #psmodal .close-button,
  #wheel-type-modal .close-button {
    color: #ff6900;
    top: 15px;
    z-index: 99; }
  #psmodal .productSelector[data-selectortype="wheel_size"] .add-rear-size-cta,
  #psmodal .productSelector[data-selectortype="tire_size"] .add-rear-size-cta,
  #wheel-type-modal .productSelector[data-selectortype="wheel_size"] .add-rear-size-cta,
  #wheel-type-modal .productSelector[data-selectortype="tire_size"] .add-rear-size-cta {
    display: block !important; }
  #psmodal .productSelector .vehicleSelectorFindTire,
  #wheel-type-modal .productSelector .vehicleSelectorFindTire {
    display: none; }
    #psmodal .productSelector .vehicleSelectorFindTire.trailer-tire-hint,
    #wheel-type-modal .productSelector .vehicleSelectorFindTire.trailer-tire-hint {
      display: block; }
  #psmodal .productSelector .step.current .vehicleSelectorFindTire,
  #wheel-type-modal .productSelector .step.current .vehicleSelectorFindTire {
    display: block; }
    #psmodal .productSelector .step.current .vehicleSelectorFindTire.trailer-tire-hint,
    #wheel-type-modal .productSelector .step.current .vehicleSelectorFindTire.trailer-tire-hint {
      display: block; }
  @media screen and (max-width: 47.9375em) {
    #psmodal .productSelector[data-selectortype="tire_vehicle"], #psmodal .productSelector[data-selectortype="wheel_vehicle"],
    #wheel-type-modal .productSelector[data-selectortype="tire_vehicle"],
    #wheel-type-modal .productSelector[data-selectortype="wheel_vehicle"] {
      margin-top: 30px; } }
  #psmodal .selector,
  #wheel-type-modal .selector {
    overflow: hidden; }
    @media screen and (max-width: 47.9375em) {
      #psmodal .selector[data-selectortype="wheel_size"] .add-rear-size-cta,
      #psmodal .selector[data-selectortype="tire_size"] .add-rear-size-cta,
      #wheel-type-modal .selector[data-selectortype="wheel_size"] .add-rear-size-cta,
      #wheel-type-modal .selector[data-selectortype="tire_size"] .add-rear-size-cta {
        display: block !important; } }

.modal-content #productSelectorSlotWrapper {
  padding: 0; }
  .modal-content #productSelectorSlotWrapper .selector_options {
    margin-top: 0; }

.modal-content #productSelectorContent {
  max-width: 100%; }
  .modal-content #productSelectorContent .selector {
    padding: 30px; }
  .modal-content #productSelectorContent .selector_steps {
    margin-bottom: 10px; }

.findTireSizeModalHeader {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 72px;
  min-height: 72px;
  padding: 0 60px 0 25px;
  position: relative; }
  .findTireSizeModalHeader .close-button {
    bottom: 0;
    color: #fff;
    margin: auto;
    position: absolute;
    right: 25px;
    top: 0; }
  .findTireSizeModalHeader h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    font-size: 1.3125rem;
    margin: 0;
    text-transform: uppercase; }
    .findTireSizeModalHeader h2 span.questionmarkcircle {
      border: 3px solid #fff !important;
      font-size: 1.25rem;
      height: 32px;
      margin-right: 10px;
      min-width: 32px;
      width: 32px; }

.findTireSizeModalContent {
  padding: 30px; }
  .findTireSizeModalContent p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem; }
    .findTireSizeModalContent p strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500; }

@media screen and (max-width: 63.9375em) {
  .pt_storefront .header-main-nav,
  .pt_storefront .info-tile-wrapper,
  .pt_storefront .info-tile-wrapper-spacearound,
  .pt_storefront .footer-wrapper {
    background: #fff; } }

#productSelectorSlotWrapper,
#newSearchModal {
  padding: 35px 0;
  position: relative; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper.expanded #PSOverlay,
    #newSearchModal.expanded #PSOverlay {
      background: rgba(0, 0, 0, 0.5); }
    #productSelectorSlotWrapper.expanded .main-selector-tabs,
    #newSearchModal.expanded .main-selector-tabs {
      display: block; }
      #productSelectorSlotWrapper.expanded .main-selector-tabs::before, #productSelectorSlotWrapper.expanded .main-selector-tabs::after,
      #newSearchModal.expanded .main-selector-tabs::before,
      #newSearchModal.expanded .main-selector-tabs::after {
        content: ' ';
        display: table; }
      #productSelectorSlotWrapper.expanded .main-selector-tabs::after,
      #newSearchModal.expanded .main-selector-tabs::after {
        clear: both; }
      #productSelectorSlotWrapper.expanded .main-selector-tabs .main-selector-tab,
      #newSearchModal.expanded .main-selector-tabs .main-selector-tab {
        margin: 0;
        min-width: 200px;
        padding: 0 40px; }
    #productSelectorSlotWrapper.expanded .ps-right,
    #newSearchModal.expanded .ps-right {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      #productSelectorSlotWrapper.expanded .ps-right #productSelectorContent,
      #newSearchModal.expanded .ps-right #productSelectorContent {
        max-width: 600px; }
    #productSelectorSlotWrapper.expanded .selector.active,
    #newSearchModal.expanded .selector.active {
      min-height: 316px; } }
  @media screen and (min-width: 64em) {
    #productSelectorSlotWrapper,
    #newSearchModal {
      background-size: cover;
      padding: 180px 0; }
      #productSelectorSlotWrapper.expanded .ps-left,
      #newSearchModal.expanded .ps-left {
        left: -50%;
        margin-left: -100%;
        opacity: 0; }
      #productSelectorSlotWrapper.expanded .ps-right,
      #newSearchModal.expanded .ps-right {
        left: 50%;
        width: 100%; }
        #productSelectorSlotWrapper.expanded .ps-right #productSelectorContent,
        #newSearchModal.expanded .ps-right #productSelectorContent {
          max-width: 750px; } }
  #productSelectorSlotWrapper .product-wrapper-background,
  #newSearchModal .product-wrapper-background {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper .product-wrapper-background,
      #newSearchModal .product-wrapper-background {
        height: 100%;
        position: absolute;
        width: 100%; } }
    @media screen and (max-width: 63.9375em) {
      #productSelectorSlotWrapper .product-wrapper-background,
      #newSearchModal .product-wrapper-background {
        height: 100vh;
        left: 0;
        position: fixed;
        width: 100vw;
        z-index: -1; } }
  #productSelectorSlotWrapper .insideSelector > a::after,
  #newSearchModal .insideSelector > a::after {
    content: "\f00d";
    font-family: fontawesome; }
  #productSelectorSlotWrapper .main-selector-tab,
  #newSearchModal .main-selector-tab {
    cursor: pointer; }
    #productSelectorSlotWrapper .main-selector-tab.active,
    #newSearchModal .main-selector-tab.active {
      cursor: default; }
      #productSelectorSlotWrapper .main-selector-tab.active a,
      #newSearchModal .main-selector-tab.active a {
        cursor: default; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper.expanded .main-selector-tabs,
    #newSearchModal.expanded .main-selector-tabs {
      display: none !important; } }
  #productSelectorSlotWrapper.no-tabs,
  #newSearchModal.no-tabs {
    padding: 60px 0; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper.no-tabs,
      #newSearchModal.no-tabs {
        padding: 70px 0; } }
    @media screen and (min-width: 64em) {
      #productSelectorSlotWrapper.no-tabs,
      #newSearchModal.no-tabs {
        padding: 90px 0; } }
    #productSelectorSlotWrapper.no-tabs .main-selector-tabs,
    #newSearchModal.no-tabs .main-selector-tabs {
      display: block; }
      @media screen and (min-width: 48em) {
        #productSelectorSlotWrapper.no-tabs .main-selector-tabs,
        #newSearchModal.no-tabs .main-selector-tabs {
          display: none; } }
    #productSelectorSlotWrapper.no-tabs .is-accordion-submenu-parent > a,
    #newSearchModal.no-tabs .is-accordion-submenu-parent > a {
      display: none; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper.no-tabs.expanded .main-selector-tabs,
      #newSearchModal.no-tabs.expanded .main-selector-tabs {
        display: none; } }
  #productSelectorSlotWrapper .add-rear-size,
  #productSelectorSlotWrapper .findTireSizeModalTrigger,
  #productSelectorSlotWrapper .looking-for-other,
  #newSearchModal .add-rear-size,
  #newSearchModal .findTireSizeModalTrigger,
  #newSearchModal .looking-for-other {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ff6900;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 0.8125rem;
    margin-top: 20px;
    text-transform: none; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper .add-rear-size,
      #productSelectorSlotWrapper .findTireSizeModalTrigger,
      #productSelectorSlotWrapper .looking-for-other,
      #newSearchModal .add-rear-size,
      #newSearchModal .findTireSizeModalTrigger,
      #newSearchModal .looking-for-other {
        bottom: -22px;
        left: 0;
        margin: 0;
        position: absolute; } }
  #productSelectorSlotWrapper .looking-for-other,
  #newSearchModal .looking-for-other {
    display: block;
    font-size: 1rem;
    position: initial; }
  #productSelectorSlotWrapper .add-rear-size,
  #newSearchModal .add-rear-size {
    left: auto;
    right: 0; }
    #productSelectorSlotWrapper .add-rear-size a,
    #newSearchModal .add-rear-size a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #ff6900;
      font-size: 0.8125rem; }
      #productSelectorSlotWrapper .add-rear-size a::after,
      #newSearchModal .add-rear-size a::after {
        content: "\f105";
        font-family: "fontello";
        padding-left: 5px; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper .rootlevelps,
    #newSearchModal .rootlevelps {
      display: block !important; } }
  #productSelectorSlotWrapper .orbit-container,
  #newSearchModal .orbit-container {
    height: auto !important;
    outline: none; }
    #productSelectorSlotWrapper .orbit-container .orbit-slide,
    #newSearchModal .orbit-container .orbit-slide {
      height: 100% !important;
      max-height: 100% !important; }
      @media screen and (max-width: 47.9375em) {
        #productSelectorSlotWrapper .orbit-container .orbit-slide,
        #newSearchModal .orbit-container .orbit-slide {
          display: block !important; } }
      #productSelectorSlotWrapper .orbit-container .orbit-slide.is-active,
      #newSearchModal .orbit-container .orbit-slide.is-active {
        display: block !important; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper .pagedirect,
    #newSearchModal .pagedirect {
      color: #808285;
      display: inline-block; }
      #productSelectorSlotWrapper .pagedirect i.icon-angle-left::before,
      #newSearchModal .pagedirect i.icon-angle-left::before {
        margin-left: 0;
        padding-right: 6px;
        width: auto; } }
  #productSelectorSlotWrapper .selector_options,
  #newSearchModal .selector_options {
    overflow: hidden; }
    #productSelectorSlotWrapper .selector_options::before, #productSelectorSlotWrapper .selector_options::after,
    #newSearchModal .selector_options::before,
    #newSearchModal .selector_options::after {
      content: ' ';
      display: table; }
    #productSelectorSlotWrapper .selector_options::after,
    #newSearchModal .selector_options::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper .selector_options,
      #newSearchModal .selector_options {
        margin-top: 15px; } }
    #productSelectorSlotWrapper .selector_options .paginated_results,
    #newSearchModal .selector_options .paginated_results {
      display: none;
      position: relative; }
      #productSelectorSlotWrapper .selector_options .paginated_results::before, #productSelectorSlotWrapper .selector_options .paginated_results::after,
      #newSearchModal .selector_options .paginated_results::before,
      #newSearchModal .selector_options .paginated_results::after {
        content: ' ';
        display: table; }
      #productSelectorSlotWrapper .selector_options .paginated_results::after,
      #newSearchModal .selector_options .paginated_results::after {
        clear: both; }
      @media screen and (min-width: 48em) {
        #productSelectorSlotWrapper .selector_options .paginated_results,
        #newSearchModal .selector_options .paginated_results {
          display: block; } }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-1 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-1 .resultsCol {
        width: 100%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-2 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-2 .resultsCol {
        width: 50%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-3 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-3 .resultsCol {
        width: 33.3%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-4 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-4 .resultsCol {
        width: 25%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-5 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-5 .resultsCol {
        width: 20%; }
      #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol,
      #newSearchModal .selector_options .paginated_results .resultsCol {
        border-right: 1px solid #f2f2f2;
        float: left;
        list-style-type: none;
        margin: 0;
        padding: 0 6px; }
        #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol:last-child,
        #newSearchModal .selector_options .paginated_results .resultsCol:last-child {
          border: 0; }
        #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol a,
        #newSearchModal .selector_options .paginated_results .resultsCol a {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 500;
          display: block;
          font-size: 0.8125rem;
          padding: 2px 6px; }
          #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol a:hover,
          #newSearchModal .selector_options .paginated_results .resultsCol a:hover {
            background: #f2f2f2;
            color: #ff6900; }
  #productSelectorSlotWrapper > .row,
  #newSearchModal > .row {
    position: relative;
    z-index: 2; }

.wheeltype-selector-container h3 {
  color: #000;
  font-size: 1.0625rem;
  line-height: 1.0625rem;
  margin: 0;
  padding-bottom: 15px;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .wheeltype-selector-container h3 {
      font-size: 1.25rem;
      line-height: 1.25rem;
      padding: 5px 0 0;
      text-align: left; } }

.wheeltype-selector-container .wheeltype-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .wheeltype-selector-container .wheeltype-options {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .wheeltype-selector-container .wheeltype-options .wheeltype-option {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #f2f2f2;
    border-left: 10px solid transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 25px 20px 20px 0;
    min-height: 182px;
    padding: 8px 10px 8px 0;
    position: relative; }
    @media screen and (min-width: 48em) {
      .wheeltype-selector-container .wheeltype-options .wheeltype-option {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 50%;
                flex: 1 1 50%;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option:last-child {
      margin: 25px 0 20px; }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option:hover {
      border-left: 10px solid #ff6900; }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option img {
      max-width: 160px;
      padding: 15px; }
      @media screen and (min-width: 48em) {
        .wheeltype-selector-container .wheeltype-options .wheeltype-option img {
          max-width: 100%;
          min-width: 50%;
          padding: 0 30px 0 10px; } }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option h3 {
      font-size: 1.0625rem;
      line-height: 1.0625rem;
      padding-bottom: 5px;
      text-align: left; }
      @media screen and (min-width: 48em) {
        .wheeltype-selector-container .wheeltype-options .wheeltype-option h3 {
          font-size: 1rem;
          font-size: 1.0625rem;
          margin-top: 10px;
          padding: 0; } }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option p {
      font-size: 1rem;
      line-height: 1.125rem;
      margin: 0;
      padding: 6px 6px 15px 0;
      text-align: left; }
      @media screen and (min-width: 48em) {
        .wheeltype-selector-container .wheeltype-options .wheeltype-option p {
          font-size: 0.875rem;
          line-height: 1rem;
          margin: 3px 0 0; } }

.wheelsForWinterConditionsModalTrigger {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: inherit;
  -webkit-box-direction: inherit;
      -ms-flex-direction: inherit;
          flex-direction: inherit;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 0.8125rem;
  margin-top: 20px;
  text-transform: none; }
  @media screen and (min-width: 48em) {
    .wheelsForWinterConditionsModalTrigger {
      bottom: -22px;
      left: 0;
      margin: 0;
      position: absolute; } }

#PSOverlay {
  background: rgba(0, 0, 0, 0);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  width: 100%;
  z-index: 1; }
  #PSOverlay.visible {
    background: rgba(0, 0, 0, 0.5); }

.trailer-banner-selector #PSOverlay {
  z-index: 0; }

h2.mobile-modal-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 22px;
  height: 64px;
  margin: 0;
  padding: 0 20px;
  text-transform: uppercase; }

#psMobileModal,
#psMobile {
  background: #fff;
  margin: 0; }
  #psMobileModal > li > a,
  #psMobile > li > a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    color: #ff6900;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 21px;
    height: 64px;
    padding: 0 20px; }
    @media screen and (min-width: 48em) {
      #psMobileModal > li > a,
      #psMobile > li > a {
        display: none; } }
  #psMobileModal > li,
  #psMobile > li {
    border-top: 1px solid #f2f2f2; }
    @media screen and (min-width: 48em) {
      #psMobileModal > li,
      #psMobile > li {
        border: 0; } }
    #psMobileModal > li:first-child,
    #psMobile > li:first-child {
      border: 0; }
    #psMobileModal > li a,
    #psMobile > li a {
      color: #000;
      font-size: 22px; }
      #psMobileModal > li a.wheelsForWinterConditionsModalTrigger,
      #psMobile > li a.wheelsForWinterConditionsModalTrigger {
        color: #ff6900;
        font-size: 0.8125rem; }
  #psMobileModal .menu.nested,
  #psMobile .menu.nested {
    margin: 0; }

#productSelectorWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 64em) {
    #productSelectorWrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  #productSelectorWrapper .ps-left {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 0;
    margin: 0 auto 35px;
    margin-bottom: 35px;
    max-width: 600px;
    position: relative;
    text-align: center;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorWrapper .ps-left {
        margin: 0 auto 45px; } }
    @media screen and (min-width: 64em) {
      #productSelectorWrapper .ps-left {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: left;
            -ms-flex-pack: left;
                justify-content: left;
        margin: 0;
        max-width: 100%;
        padding-right: 50px;
        text-align: left;
        width: 50%; } }
    #productSelectorWrapper .ps-left h2 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 2.875rem;
      line-height: 1.2em;
      text-transform: uppercase; }
      @media screen and (min-width: 64em) {
        #productSelectorWrapper .ps-left h2 {
          font-size: 4.1875rem; } }
    #productSelectorWrapper .ps-left p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 1.125rem;
      line-height: 1.2em;
      margin: 10px 0 0; }
      @media screen and (min-width: 48em) {
        #productSelectorWrapper .ps-left p {
          font-size: 1rem; } }
      @media screen and (min-width: 64em) {
        #productSelectorWrapper .ps-left p {
          font-size: 1.125rem; } }
  #productSelectorWrapper .ps-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 0;
    position: relative;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out; }
    @media screen and (min-width: 64em) {
      #productSelectorWrapper .ps-right {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        width: 50%; } }

#productSelectorContent {
  max-width: 100%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #productSelectorContent {
      margin: 0;
      max-width: 100%; } }
  @media screen and (min-width: 64em) {
    #productSelectorContent {
      margin: 0;
      max-width: 610px; } }
  #productSelectorContent.inpage .vehicleSelectorFindTire {
    display: none; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.inpage .vehicleSelectorFindTire {
        display: none; }
        #productSelectorContent.inpage .vehicleSelectorFindTire.trailer-tire-hint {
          display: block; } }
    #productSelectorContent.inpage .vehicleSelectorFindTire.trailer-tire-hint {
      display: block; }
  #productSelectorContent .main-selector-tabs {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
  #productSelectorContent .selector {
    background: #fff;
    padding: 15px;
    position: relative;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector {
        display: none;
        padding: 30px; } }
    #productSelectorContent .selector.active {
      background: #fff;
      display: block; }
  #productSelectorContent .selector-tab {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #f2f2f2;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 15px;
    padding: 15px;
    position: relative; }
    #productSelectorContent .selector-tab div:not(.selector-description),
    #productSelectorContent .selector-tab button {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    #productSelectorContent .selector-tab:first-child {
      margin-top: 0; }
    #productSelectorContent .selector-tab:hover::before {
      border-left: 10px solid #ff6900;
      bottom: 0;
      content: "";
      display: block;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0; }
  #productSelectorContent .selector-image {
    display: none;
    float: left;
    margin-right: 15px;
    max-width: 110px;
    overflow: hidden;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector-image {
        display: block;
        float: left;
        max-width: 220px;
        min-width: 120px;
        overflow: hidden;
        width: 100%; }
        #productSelectorContent .selector-image img {
          width: 100%; } }
  #productSelectorContent .selector-description {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    float: left;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector-description {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        width: 56%; } }
    #productSelectorContent .selector-description h3 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #000;
      font-size: 17px;
      line-height: 17px;
      max-width: 100%;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .selector-description h3 {
          font-size: 20px; } }
    #productSelectorContent .selector-description p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 15px;
      line-height: 18px;
      margin: 0;
      max-width: 100%;
      padding: 0; }
  #productSelectorContent .main-selector-tab {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: rgba(0, 0, 0, 0.5);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    float: left;
    font-size: 1.1875rem;
    height: 44px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: 2px;
    padding: 0 20px; }
    #productSelectorContent .main-selector-tab:first-child {
      bottom: 0;
      margin: 0; }
    #productSelectorContent .main-selector-tab.active {
      background: #fff;
      height: 48px; }
      #productSelectorContent .main-selector-tab.active button {
        color: #000; }
    #productSelectorContent .main-selector-tab button {
      color: #fff;
      text-transform: uppercase; }
  #productSelectorContent .selector-tabs {
    width: 100%; }
  #productSelectorContent .looking-for-other-tires {
    padding-bottom: 15px;
    padding-top: 30px; }
    #productSelectorContent .looking-for-other-tires.trailer-page-redirect {
      bottom: -22px;
      left: auto;
      padding-bottom: 0;
      padding-top: 0;
      right: 0; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .looking-for-other-tires.trailer-page-redirect {
          position: absolute; } }
      #productSelectorContent .looking-for-other-tires.trailer-page-redirect .looking-for-other {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        font-size: 0.8125rem; }
  #productSelectorContent .productSelector {
    display: none;
    position: relative; }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent .productSelector.staggered-active[data-frontrear="front"] .add-rear-size-cta {
        display: none !important; }
      #productSelectorContent .productSelector.staggered-active[data-frontrear="rear"] .add-rear-size-cta {
        display: block !important; } }
    @media screen and (min-width: 48em) {
      #productSelectorContent .productSelector {
        min-height: 220px; }
        #productSelectorContent .productSelector[data-categoryid="tires"] {
          padding-bottom: 15px; }
          #productSelectorContent .productSelector[data-categoryid="tires"] .add-rear-size,
          #productSelectorContent .productSelector[data-categoryid="tires"] .findTireSizeModalTrigger {
            bottom: -15px; } }
    #productSelectorContent .productSelector[data-selectortype="wheel_size"] .findTireSizeModalTrigger {
      display: none; }
    #productSelectorContent .productSelector.active {
      display: block; }
    #productSelectorContent .productSelector .front-rear-mobile {
      display: none; }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent .productSelector.staggered-active {
        display: block !important; }
        #productSelectorContent .productSelector.staggered-active .front-rear-mobile {
          display: block; } }
  #productSelectorContent .selector_close {
    color: #ff6900;
    cursor: pointer;
    display: none;
    font-size: 18px;
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_close {
        display: block;
        line-height: 25px; } }
  #productSelectorContent .front-rear {
    display: none; }
    #productSelectorContent .front-rear::before, #productSelectorContent .front-rear::after {
      content: ' ';
      display: table; }
    #productSelectorContent .front-rear::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .front-rear {
        position: absolute;
        top: 12px; }
        #productSelectorContent .front-rear a {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 500;
          color: #999;
          font-size: 13px; }
        #productSelectorContent .front-rear > div {
          border-left: 1px solid #ccc;
          float: left;
          line-height: 1em; }
          #productSelectorContent .front-rear > div a {
            padding: 0 10px; }
          #productSelectorContent .front-rear > div:first-child {
            border: 0; }
            #productSelectorContent .front-rear > div:first-child a {
              padding-left: 0; } }
    #productSelectorContent .front-rear a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 14px; }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent .front-rear.staggered-active {
        display: none !important; } }
    #productSelectorContent .front-rear.active {
      display: block; }
    #productSelectorContent .front-rear > div.active a {
      background: transparent;
      color: #ff6900; }
  #productSelectorContent .front-rear-mobile {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 20px;
    text-transform: uppercase; }
    #productSelectorContent .front-rear-mobile .rear {
      margin-top: 20px; }
  #productSelectorContent .productSelector[data-selectortype="tire_size"] .add-rear-size-cta, #productSelectorContent .productSelector[data-selectortype="wheel_size"] .add-rear-size-cta {
    display: block; }
  #productSelectorContent .add-rear-size-cta {
    display: none; }
    #productSelectorContent .add-rear-size-cta.mobile-only {
      margin-bottom: 15px; }
      #productSelectorContent .add-rear-size-cta.mobile-only .add-rear-size {
        bottom: 0;
        margin: 0;
        position: relative; }
        #productSelectorContent .add-rear-size-cta.mobile-only .add-rear-size a {
          font-size: 16px;
          text-transform: none; }
          #productSelectorContent .add-rear-size-cta.mobile-only .add-rear-size a::after {
            content: "\f105";
            font-family: "fontello";
            font-size: 12px;
            padding: 0 5px;
            position: relative; }
  #productSelectorContent .selector_options_mobile {
    border: 1px solid #f2f2f2;
    border-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 15px 15px 10px; }
    #productSelectorContent .selector_options_mobile .findTireSizeModalTrigger {
      display: none !important; }
    #productSelectorContent .selector_options_mobile a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background: #f2f2f2;
      color: #000 !important;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: 14px;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      line-height: rem-cal(18);
      margin: 0 0 5px;
      min-height: 40px;
      padding: 0 5px;
      text-align: center; }
      #productSelectorContent .selector_options_mobile a.wheelsForWinterConditionsModalTrigger {
        background: transparent;
        color: #ff6900 !important;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        font-size: 1rem;
        font-weight: bold;
        line-height: 1.125rem;
        padding: 15px 0 6px;
        text-align: left; }
        #productSelectorContent .selector_options_mobile a.wheelsForWinterConditionsModalTrigger .questionmarkcircle {
          color: #ff6900;
          margin-right: 10px;
          width: 30px; }
      #productSelectorContent .selector_options_mobile a.pagedirect {
        display: none; }
    #productSelectorContent .selector_options_mobile .resultsCol {
      border: 0;
      list-style-type: none;
      margin: 0;
      padding: 0; }
  #productSelectorContent .selector_steps::before, #productSelectorContent .selector_steps::after {
    content: ' ';
    display: table; }
  #productSelectorContent .selector_steps::after {
    clear: both; }
  @media screen and (min-width: 48em) {
    #productSelectorContent .selector_steps {
      padding-right: 30px; } }
  #productSelectorContent .selector_steps .step {
    color: #ff6900;
    float: left;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_steps .step {
        width: auto; }
        #productSelectorContent .selector_steps .step::before {
          color: #808285;
          content: "\f105";
          font-family: "fontello";
          font-size: 12px;
          padding: 0 10px;
          position: relative;
          top: -2px; }
        #productSelectorContent .selector_steps .step:first-child::before {
          display: none; } }
    #productSelectorContent .selector_steps .step[data-current-key=VEHICLE_NAME] {
      display: none; }
    #productSelectorContent .selector_steps .step.chosen a {
      cursor: pointer; }
    #productSelectorContent .selector_steps .step > a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #999;
      cursor: default;
      font-size: 18px; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .selector_steps .step > a {
          font-size: 16px;
          text-transform: none; } }
    #productSelectorContent .selector_steps .step .selector_options_mobile {
      display: none !important; }
    #productSelectorContent .selector_steps .step:first-child .steplink {
      border-top: 1px solid #f2f2f2; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .selector_steps .step:first-child .steplink {
          border: 0; } }
  #productSelectorContent .selector_steps .current .selector_options_mobile {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_steps .current .selector_options_mobile {
        display: none !important; } }
  #productSelectorContent .selector_steps .current a {
    color: #ff6900; }
  #productSelectorContent .selector_steps .chosen a {
    color: #000; }
  #productSelectorContent .selector_steps .chosen .selector_options_mobile {
    display: none !important; }
  #productSelectorContent .selector_steps .steplink {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #f2f2f2;
    border-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 50px;
    text-align: center; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_steps .steplink {
        border: 0;
        display: inline-block;
        height: auto;
        min-height: 0;
        text-align: initial; } }

.inline-question-mark {
  display: inline-box;
  margin: 0 0 0 10px; }
  .inline-question-mark .questionmarkcircle {
    border-width: 2px;
    height: 18px !important;
    margin: 0;
    position: relative;
    top: -2px;
    width: 18px !important; }

@media screen and (min-width: 64em) {
  .newsearch-tireselection {
    float: right;
    padding: 0 25px 0 20px; } }

@media screen and (max-width: 63.9375em) {
  .pdp-main .psresults-wrapper {
    padding: 50px 0 10px; } }

.psresults-wrapper {
  padding: 50px 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .psresults-wrapper {
      padding-bottom: 2.5rem; } }
  @media screen and (max-width: 47.9375em) {
    .psresults-wrapper.small-top {
      padding: 0 0 1.875rem; }
      .psresults-wrapper.small-top .psresults-title-border {
        border-bottom: 1px solid #ccc; }
      .psresults-wrapper.small-top h2.psresults-title {
        margin: 0;
        padding: 18px 0; } }
  .psresults-wrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 21px;
    margin-bottom: 35px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .psresults-wrapper h2 {
        font-size: 26px; } }
  .psresults-wrapper .selection-information {
    width: 100%; }
    @media screen and (min-width: 48em) {
      .psresults-wrapper .selection-information {
        display: block !important; } }
  .psresults-wrapper .sel-info-wrap {
    background: #f2f2f2;
    padding: 10px;
    position: relative; }
    .psresults-wrapper .sel-info-wrap .questionmarkcircle {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-width: 3px;
      color: #ff6900;
      height: 21px;
      width: 21px; }
  @media screen and (max-width: 47.9375em) {
    .psresults-wrapper .car-image-col {
      position: absolute;
      right: 10px;
      top: 20px;
      z-index: 1; } }
  @media screen and (min-width: 48em) {
    .psresults-wrapper .car-image-col {
      position: relative; } }
  .psresults-wrapper .car-image {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: initial;
            box-sizing: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    height: 100% !important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative; }
    @media screen and (min-width: 48em) {
      .psresults-wrapper .car-image {
        bottom: 0;
        padding: 0 30px 0 10px;
        position: absolute;
        top: 0;
        width: calc(100% - 50px); } }
  @media screen and (min-width: 48em) and (min-width: 0\0) {
    .psresults-wrapper .car-image {
      width: 100%; } }
    @media screen and (min-width: 64em) {
      .psresults-wrapper .car-image {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: auto; } }
    @media screen and (max-width: 47.9375em) {
      .psresults-wrapper .car-image .loader {
        display: none !important; } }
    .psresults-wrapper .car-image p {
      margin: 0; }
    .psresults-wrapper .car-image .ps-results-image-tip {
      border: 0;
      position: absolute;
      right: -18px;
      top: -8px;
      width: 22px; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .car-image .ps-results-image-tip {
          left: -10px;
          top: 0; } }
      .psresults-wrapper .car-image .ps-results-image-tip span.questionmarkcircle {
        height: 16px;
        width: 16px; }
  .psresults-wrapper .minimized-vehicle-vizualizer .sel-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem; }
    @media screen and (max-width: 47.9375em) {
      .psresults-wrapper .minimized-vehicle-vizualizer .sel-title {
        font-size: 0.875rem; } }
    .psresults-wrapper .minimized-vehicle-vizualizer .sel-title span {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400; }
    .psresults-wrapper .minimized-vehicle-vizualizer .sel-title a {
      font-size: 0.8125rem; }
      @media screen and (max-width: 47.9375em) {
        .psresults-wrapper .minimized-vehicle-vizualizer .sel-title a {
          font-size: 0.75rem; } }
  .psresults-wrapper .sel-info.row {
    background: #fff;
    padding-bottom: 12px;
    padding-top: 12px;
    position: relative; }
    .psresults-wrapper .sel-info.row.left-arrow::before {
      border-bottom: 12px solid transparent;
      border-right: 12px solid #fff;
      border-top: 12px solid transparent;
      bottom: 0;
      content: "";
      display: none;
      height: 0;
      left: -12px;
      margin: auto;
      position: absolute;
      top: 0;
      width: 0; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .sel-info.row.left-arrow::before {
          display: block; } }
    .psresults-wrapper .sel-info.row .init-selector {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 13px; }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .init-selector {
          margin-top: 29px; } }
    .psresults-wrapper .sel-info.row .info-modal {
      margin: 0; }
      .psresults-wrapper .sel-info.row .info-modal .findTireSizeModalTrigger {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #808285;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 13px;
        margin-top: 15px; }
    .psresults-wrapper .sel-info.row .left-info {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 0 0 10px; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .sel-info.row .left-info {
          padding: 10px; } }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .left-info {
          padding: 10px 0; } }
      .psresults-wrapper .sel-info.row .left-info .sel-title {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        font-size: 17px;
        margin: 0; }
        @media screen and (max-width: 47.9375em) {
          .psresults-wrapper .sel-info.row .left-info .sel-title {
            min-height: 56px; } }
        @media screen and (min-width: 64em) {
          .psresults-wrapper .sel-info.row .left-info .sel-title {
            font-size: 18px; } }
        .psresults-wrapper .sel-info.row .left-info .sel-title.nominheight {
          min-height: initial; }
        .psresults-wrapper .sel-info.row .left-info .sel-title a {
          color: #000;
          font-size: 13px; }
          .psresults-wrapper .sel-info.row .left-info .sel-title a:hover {
            text-decoration: underline; }
    .psresults-wrapper .sel-info.row .sel-subtitle {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 13px;
      margin: 5px 0 0;
      padding-right: 50px; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .sel-info.row .sel-subtitle {
          padding: 0; } }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .sel-subtitle {
          font-size: 0.71875rem;
          line-height: 16.5px; } }
      .psresults-wrapper .sel-info.row .sel-subtitle strong {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        font-weight: normal; }
      .psresults-wrapper .sel-info.row .sel-subtitle span {
        border-bottom: 2px dotted #ff6900; }
      .psresults-wrapper .sel-info.row .sel-subtitle .separator {
        border: 0;
        padding: 0 10px; }
    @media screen and (max-width: 47.9375em) {
      .psresults-wrapper .sel-info.row .right-info {
        padding: 0; } }
    .psresults-wrapper .sel-info.row .right-info > div {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .right-info > div {
          border-left: 1px solid #f2f2f2;
          height: 100%; } }

.tire-type-content #productGridUrl {
  display: none; }

.tire-type-content .left-icon-wrapper {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 12px;
  line-height: 1em;
  margin: 0; }
  .tire-type-content .left-icon-wrapper [class^="icon-"] {
    color: #ff6900;
    float: left;
    font-size: 23px;
    margin-right: 12px; }

.tire-type-content .vcenter {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.tire-type-content .tire-types {
  display: none;
  margin-top: 60px; }

.tire-type-content .tire-types.packages {
  display: block; }

.tire-type-content .tires-guided-path {
  margin-bottom: 30px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .tire-type-content .tires-guided-path > img {
      max-width: 50%;
      padding-right: 1.3rem; } }
  .tire-type-content .tires-guided-path.category-select-first-step {
    background: #fff;
    border: 10px solid #e6e6e6;
    padding: 40px 20px 30px;
    position: relative;
    text-align: center;
    -webkit-transition: background-color 100ms;
    transition: background-color 100ms; }
    @media screen and (min-width: 64em) {
      .tire-type-content .tires-guided-path.category-select-first-step .image {
        display: inline-block; } }
    .tire-type-content .tires-guided-path.category-select-first-step .image {
      display: none; }
    .tire-type-content .tires-guided-path.category-select-first-step .guided-section-head {
      margin-bottom: 20px; }
      .tire-type-content .tires-guided-path.category-select-first-step .guided-section-head h3 {
        font-size: 20px; }
    .tire-type-content .tires-guided-path.category-select-first-step .arrow {
      background: #e6e6e6;
      bottom: -20px;
      display: none;
      height: 40px;
      left: 50%;
      margin-left: -30px;
      position: absolute;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg);
      width: 40px; }
    .tire-type-content .tires-guided-path.category-select-first-step.active {
      opacity: 1; }
      .tire-type-content .tires-guided-path.category-select-first-step.active + .tire-types {
        opacity: 1; }
    .tire-type-content .tires-guided-path.category-select-first-step:hover {
      background: #e6e6e6; }
      .tire-type-content .tires-guided-path.category-select-first-step:hover .button {
        background: #f6a583; }
  .tire-type-content .tires-guided-path img {
    height: 50px;
    margin-bottom: 20px; }
  .tire-type-content .tires-guided-path .button {
    text-transform: uppercase; }

.tire-type-content .mid-line-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  margin: 25px 0; }
  @media screen and (min-width: 48em) {
    .tire-type-content .mid-line-copy {
      font-size: 18px;
      margin: 50px 0; } }
  @media screen and (min-width: 64em) {
    .tire-type-content .mid-line-copy {
      font-size: 18px; } }

.tire-type-content .tire-types-section-head {
  margin-bottom: 10px; }
  .tire-type-content .tire-types-section-head::before, .tire-type-content .tire-types-section-head::after {
    content: ' ';
    display: table; }
  .tire-type-content .tire-types-section-head::after {
    clear: both; }
  .tire-type-content .tire-types-section-head h3 {
    font-size: 18px; }
    @media screen and (min-width: 64em) {
      .tire-type-content .tire-types-section-head h3 {
        font-size: 22px; } }
  .tire-type-content .tire-types-section-head p {
    font-size: 16px; }

.tire-type-content .category-column-wrapper {
  padding-bottom: 15px; }

.tire-type-content .cat-types-cta {
  margin-top: 35px; }

.tire-type-content .result_btn {
  margin-bottom: 30px; }
  @media screen and (min-width: 64em) {
    .tire-type-content .result_btn {
      margin-bottom: 0; } }
  .tire-type-content .result_btn button {
    font-size: 13px;
    margin: 0;
    text-transform: uppercase; }
  .tire-type-content .result_btn .button[disabled] {
    background: #808285;
    border: 0; }

.tire-type-content .selector_checkbox {
  border: 5px solid #f2f2f2;
  border-left-width: 8px;
  margin: 0 0 15px;
  padding: 15px 70px 15px 30px;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 64em) {
    .tire-type-content .selector_checkbox:hover {
      border-left-width: 13px;
      cursor: pointer; }
      .tire-type-content .selector_checkbox:hover .tiretype-indicator {
        left: -13px;
        width: 13px; } }
  .tire-type-content .selector_checkbox label {
    display: none;
    left: -200px;
    position: relative;
    width: 0; }
  .tire-type-content .selector_checkbox h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: inline-block;
    font-size: 16px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .tire-type-content .selector_checkbox h3 {
        font-size: 18px; } }
    @media screen and (min-width: 64em) {
      .tire-type-content .selector_checkbox h3 {
        font-size: 20px; } }
    .tire-type-content .selector_checkbox h3 [class^="icon-"] {
      color: #ff6900;
      font-size: 23px;
      position: relative;
      top: -3px; }
  .tire-type-content .selector_checkbox p,
  .tire-type-content .selector_checkbox .has-tip {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #808285;
    font-size: 12px;
    margin: 0; }
    @media screen and (min-width: 48em) {
      .tire-type-content .selector_checkbox p,
      .tire-type-content .selector_checkbox .has-tip {
        font-size: 14px; } }
  .tire-type-content .selector_checkbox p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 48em) {
      .tire-type-content .selector_checkbox p {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-margin-start: 12px;
                margin-inline-start: 12px; } }
  .tire-type-content .selector_checkbox .has-tip {
    border-bottom: 0;
    color: #000;
    font-weight: normal;
    line-height: 1em; }
    .tire-type-content .selector_checkbox .has-tip:hover {
      border-bottom: 1px solid #000; }
  .tire-type-content .selector_checkbox .fa {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    bottom: 0;
    color: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 16px;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0; }
    .tire-type-content .selector_checkbox .fa::before {
      border: 3px solid #f2f2f2;
      border-radius: 50%;
      padding: 5px; }
  .tire-type-content .selector_checkbox .tiretype-indicator {
    background: #f2f2f2;
    height: calc(100% + 10px);
    left: -8px;
    position: absolute;
    top: -5px;
    width: 8px; }
  .tire-type-content .selector_checkbox.catcolor-all-weather .tiretype-indicator {
    background: #bf1a8d; }
  .tire-type-content .selector_checkbox.catcolor-winter .tiretype-indicator {
    background: #20c3f3; }
  .tire-type-content .selector_checkbox.catcolor-3-season .tiretype-indicator, .tire-type-content .selector_checkbox.catcolor-all-season .tiretype-indicator {
    background: #fbb116; }
  .tire-type-content .selector_checkbox.catcolor-performance .tiretype-indicator {
    background: #6353a3; }
  .tire-type-content .selector_checkbox.catcolor-touring .tiretype-indicator {
    background: #00a651; }
  .tire-type-content .selector_checkbox.catcolor-mud-terrain .tiretype-indicator {
    background: #422800; }
  .tire-type-content .selector_checkbox.catcolor-sport-truck .tiretype-indicator {
    background: #9ecf7c; }
  .tire-type-content .selector_checkbox.catcolor-all-terrain .tiretype-indicator {
    background: #7a5226; }
  .tire-type-content .selector_checkbox.catcolor-commercial .tiretype-indicator {
    background: #a7a9ac; }
  .tire-type-content .selector_checkbox.catcolor-ultra-high-performance .tiretype-indicator {
    background: #a499ca; }

.selector_checkbox.selected .fa {
  color: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .selector_checkbox.selected .fa::before {
    border-color: #ff6900; }

.tooltip.oem-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 12px;
  max-width: 230px !important;
  min-width: 230px !important;
  padding: 0; }
  .tooltip.oem-tip::before {
    border: inset 0.45rem;
    border-bottom-style: solid;
    border-color: transparent transparent #ff6900; }
  .tooltip.oem-tip h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 13px;
    line-height: 30px;
    margin: 0;
    padding: 0 15px; }
  .tooltip.oem-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 12px;
    margin: 0;
    padding: 15px; }
  .tooltip.oem-tip.top::before {
    border: inset 0.45rem;
    border-color: #fff transparent transparent transparent;
    border-top-style: solid; }
  .tooltip.oem-tip.bottom::before {
    border: inset 0.45rem;
    border-color: transparent transparent #ff6900 transparent;
    border-top-style: solid; }
  .tooltip.oem-tip.right::before {
    border: inset 0.45rem;
    border-color: transparent #fff transparent transparent;
    border-right-style: solid; }
  .tooltip.oem-tip.left::before {
    border: inset 0.45rem;
    border-color: transparent transparent transparent #fff;
    border-left-style: solid; }

.tooltip.cattype-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 12px;
  max-width: 380px !important;
  min-width: 230px !important;
  padding: 0; }
  .tooltip.cattype-tip::before {
    border: inset 0.45rem;
    border-bottom-style: solid;
    border-color: transparent transparent #ff6900; }
  .tooltip.cattype-tip h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    border-bottom: 3px solid #ff6900;
    color: #000;
    font-size: 13px;
    line-height: 30px;
    margin: 0;
    padding: 0 15px; }
  .tooltip.cattype-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 12px;
    margin: 0;
    padding: 15px; }
    .tooltip.cattype-tip p img {
      float: left;
      max-width: 130px; }
  .tooltip.cattype-tip.top::before {
    border: inset 0.45rem;
    border-color: #fff transparent transparent transparent;
    border-top-style: solid; }
  .tooltip.cattype-tip.bottom::before {
    border: inset 0.45rem;
    border-color: transparent transparent #ff6900 transparent;
    border-top-style: solid; }
  .tooltip.cattype-tip.right::before {
    border: inset 0.45rem;
    border-color: transparent #fff transparent transparent;
    border-right-style: solid; }
  .tooltip.cattype-tip.left::before {
    border: inset 0.45rem;
    border-color: transparent transparent transparent #fff;
    border-left-style: solid; }

.tooltip.disabled-email-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 0.75rem;
  max-width: 246px !important;
  min-width: 246px !important;
  padding: 15px; }
  .tooltip.disabled-email-tip::before {
    border: inset 0.45rem;
    border-bottom-style: solid;
    border-color: transparent transparent #fff; }
  .tooltip.disabled-email-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 0.9375rem;
    margin: 0;
    padding: 0 0 2px; }
  .tooltip.disabled-email-tip .orange-phone,
  .tooltip.disabled-email-tip .pale-grey-text {
    padding: 0; }
  .tooltip.disabled-email-tip .orange-phone {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #ff6900;
    font-size: 0.6875rem; }
  .tooltip.disabled-email-tip .pale-grey-text {
    color: #808285; }

#guidedSellingPathWrapper {
  display: none; }
  #guidedSellingPathWrapper .gspAnswer.selected {
    border: 4px solid #ff6900; }

.ps-landing-content-wrapper {
  padding: 60px 0; }
  @media screen and (min-width: 64em) {
    .ps-landing-content-wrapper {
      padding: 90px 0; } }
  .ps-landing-content-wrapper img {
    display: block;
    height: auto;
    margin-bottom: 20px;
    width: 100%; }
  .ps-landing-content-wrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 0;
    text-align: center; }
    @media screen and (min-width: 48em) {
      .ps-landing-content-wrapper h2 {
        font-size: 21px;
        margin-bottom: 25px;
        text-align: left; } }
    @media screen and (min-width: 64em) {
      .ps-landing-content-wrapper h2 {
        font-size: 22px; } }
  .ps-landing-content-wrapper h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 17px; }
    @media screen and (min-width: 48em) {
      .ps-landing-content-wrapper h3 {
        font-size: 18px; } }
    @media screen and (min-width: 64em) {
      .ps-landing-content-wrapper h3 {
        font-size: 22px;
        padding: 0 10px; } }
  .ps-landing-content-wrapper p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #000;
    font-size: 14px; }
    @media screen and (min-width: 64em) {
      .ps-landing-content-wrapper p {
        padding: 0 10px; } }
  .ps-landing-content-wrapper .row > div {
    margin-bottom: 45px; }
    @media screen and (min-width: 48em) {
      .ps-landing-content-wrapper .row > div {
        margin-bottom: 0; } }

#oemarkingModal {
  border: 0;
  max-width: 380px;
  padding: 0; }
  #oemarkingModal h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 0.8125rem;
    margin-bottom: 10px;
    padding: 9px 15px;
    text-transform: uppercase; }
  #oemarkingModal p {
    font-size: 0.75rem;
    padding: 0 15px; }
  #oemarkingModal .oemarkingModalCta {
    color: #ff6900;
    font-size: 0.75rem;
    padding: 0 15px 15px;
    text-align: right; }

#fitmentModal {
  border: 0;
  max-width: 380px;
  padding: 0; }
  #fitmentModal h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 0.8125rem;
    margin-bottom: 10px;
    padding: 9px 15px;
    text-transform: uppercase; }
  #fitmentModal p {
    font-size: 0.75rem;
    padding: 0 15px; }
  #fitmentModal .fitmentModalCta {
    color: #ff6900;
    font-size: 0.75rem;
    padding: 0 15px 15px;
    text-align: right; }

.reveal.vcenter {
  left: 50% !important;
  position: absolute;
  top: 50% !important;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

#productSelectorSlotWrapper.expanded #productSelectorContent.service-selector-content {
  max-width: 774px; }

#productSelectorContent.service-selector-content .choice-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .choice-wrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }

#productSelectorContent.service-selector-content .choice {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #f2f2f2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 15px;
  min-height: 182px;
  position: relative; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .choice {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 50%;
              flex: 1 1 50%;
      margin-bottom: 2px;
      margin-left: 2px;
      margin-top: 30px;
      width: 347px; } }
  #productSelectorContent.service-selector-content .choice img {
    max-width: 100px; }
  #productSelectorContent.service-selector-content .choice:hover {
    background-color: #ff6900;
    color: #fff;
    cursor: pointer; }
    #productSelectorContent.service-selector-content .choice:hover .check-icon {
      border: 2px solid #fff; }
  #productSelectorContent.service-selector-content .choice[data-value="Yes"] {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  #productSelectorContent.service-selector-content .choice[data-value="No"] {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }

#productSelectorContent.service-selector-content .check-icon {
  border: 2px solid #dedede;
  border-radius: 50%;
  height: 19px;
  margin: 10px 10px 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 19px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .check-icon {
      height: 27px;
      margin: 15px 15px 0;
      width: 27px; } }
  #productSelectorContent.service-selector-content .check-icon.selected {
    background-color: #fff; }
    #productSelectorContent.service-selector-content .check-icon.selected::before {
      color: #ff6900;
      content: "\f00c";
      display: block;
      font-family: fontawesome;
      font-size: 11px;
      text-align: center;
      width: 16px; }
      @media screen and (min-width: 48em) {
        #productSelectorContent.service-selector-content .check-icon.selected::before {
          font-size: 16px;
          width: 25px; } }

#productSelectorContent.service-selector-content .productSelector h3 {
  color: #000;
  font-size: 0.875rem;
  margin: 0;
  text-align: center; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .productSelector h3 {
      font-size: 1.25rem;
      padding: 5px 0 0;
      text-align: left; } }

#productSelectorContent.service-selector-content .selector-tab {
  padding: 20px 10px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .selector-tab {
      padding: 28px 0; } }

@media screen and (min-width: 48em) {
  #productSelectorContent.service-selector-content .selector-image {
    margin-left: 30px;
    max-width: 250px;
    min-width: 250px; } }

#productSelectorContent.service-selector-content .selector-description {
  margin-right: 10px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .selector-description {
      max-width: 187px; } }
  #productSelectorContent.service-selector-content .selector-description h3 {
    margin-bottom: 10px; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.service-selector-content .selector-description h3 {
        font-size: 1.25rem;
        line-height: 24px;
        margin-bottom: 20px; } }
  #productSelectorContent.service-selector-content .selector-description .button {
    color: #000;
    font-size: 0.625rem;
    max-width: 137px; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.service-selector-content .selector-description .button {
        font-size: 0.875rem; } }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent.service-selector-content .selector-description .button {
        margin-top: 0;
        padding: 12px 10px; } }

#productSelectorContent.service-selector-content .tire_mount p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #919191;
  font-size: 14px;
  margin: 0;
  padding-left: 15px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .tire_mount p {
      font-size: 18px;
      padding-left: 24px; } }

#productSelectorContent.service-selector-content .tire_mount .choice:first-child {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .tire_mount .choice:first-child {
      margin-right: 0; } }

#productSelectorContent.service-selector-content .tire_mount .choice:last-child {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .tire_mount .choice:last-child {
      margin-right: 14px; } }

#productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice img {
    max-width: 180px; }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice p {
    margin: 0;
    padding: 0; }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice:first-child {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice:first-child {
        margin-right: 14px; } }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice:last-child {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }

@media screen and (min-width: 48em) {
  #choiceModal.reveal {
    max-width: 467px; } }

#choiceModal strong {
  display: block;
  padding-bottom: 20px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    #choiceModal strong {
      padding-bottom: 25px; } }

#choiceModal .modal-content {
  padding: 30px 20px;
  text-align: center; }
  @media screen and (min-width: 48em) {
    #choiceModal .modal-content {
      padding: 40px 0; } }

@media screen and (min-width: 48em) {
  #choiceModal .button {
    max-width: 130px; } }

.pagination {
  margin: 0 0 50px; }
  .pagination ul {
    margin: 0; }
  .pagination li {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    margin: 0 12px 0 0;
    padding: 9px; }
    .pagination li a {
      padding: 0; }
  .pagination .current-page {
    background: #c75300;
    color: #fff; }

.stores-pagination .pagination .current {
  padding: 9px; }
  .stores-pagination .pagination .current a {
    color: #fff;
    cursor: inherit; }
    .stores-pagination .pagination .current a:hover {
      background: transparent; }

.search-result-content .grid-tile,
.page-designer-kaltire .grid-tile {
  margin-bottom: 20px; }
  @media screen and (min-width: 48em) {
    .search-result-content .grid-tile,
    .page-designer-kaltire .grid-tile {
      margin-bottom: 45px; } }
  .search-result-content .grid-tile.new-row:first-of-type,
  .page-designer-kaltire .grid-tile.new-row:first-of-type {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }

.search-result-content .product-tile-content,
.page-designer-kaltire .product-tile-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 15px 15px;
  position: relative; }
  .search-result-content .product-tile-content::before, .search-result-content .product-tile-content::after,
  .page-designer-kaltire .product-tile-content::before,
  .page-designer-kaltire .product-tile-content::after {
    content: ' ';
    display: table; }
  .search-result-content .product-tile-content::after,
  .page-designer-kaltire .product-tile-content::after {
    clear: both; }

.search-result-content .product-tile,
.page-designer-kaltire .product-tile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 3px solid #f2f2f2;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  position: relative; }
  .search-result-content .product-tile .product-link-above,
  .page-designer-kaltire .product-tile .product-link-above {
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 2; }
  .search-result-content .product-tile .link-above-product,
  .page-designer-kaltire .product-tile .link-above-product {
    background-color: #f2f2f2;
    border: 3px solid #fff;
    position: relative;
    z-index: 3; }
    .search-result-content .product-tile .link-above-product:hover,
    .page-designer-kaltire .product-tile .link-above-product:hover {
      background-color: #f6a583;
      border: 3px solid #ff6900;
      color: #000; }
  .search-result-content .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover),
  .page-designer-kaltire .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) {
    border-color: #757575; }
    .search-result-content .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .recommended-bagde,
    .page-designer-kaltire .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .recommended-bagde {
      background: #d9d9da; }
    .search-result-content .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .product-compare label,
    .page-designer-kaltire .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .product-compare label {
      text-decoration: underline; }
  @media only screen and (max-width: 1279px) {
    .search-result-content .product-tile:not(.isMasterProduct) .product-pricing,
    .page-designer-kaltire .product-tile:not(.isMasterProduct) .product-pricing {
      font-size: 1.5625rem; } }
  .search-result-content .product-tile .recommended-bagde,
  .page-designer-kaltire .product-tile .recommended-bagde {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #f2f2f2;
    color: #ff6900;
    padding: 3px 0;
    text-align: center;
    width: 100%; }
  .search-result-content .product-tile .promo-badge,
  .page-designer-kaltire .product-tile .promo-badge {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #ff6900;
    color: #000;
    font-size: 0.75rem;
    left: 0;
    margin: 0 7px;
    padding: 5px;
    position: absolute;
    top: 7px; }
  .search-result-content .product-tile .product-badge,
  .page-designer-kaltire .product-tile .product-badge {
    color: #000;
    left: 0;
    margin: 0 6px;
    position: absolute;
    z-index: 1; }
  .search-result-content .product-tile .product-name,
  .page-designer-kaltire .product-tile .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1.375rem;
    line-height: 1;
    margin: 0 0 15px;
    word-wrap: break-word; }
    .search-result-content .product-tile .product-name .brand-name,
    .page-designer-kaltire .product-tile .product-name .brand-name {
      font-size: 0.8125rem;
      margin: 0 0 5px; }
    .search-result-content .product-tile .product-name a,
    .page-designer-kaltire .product-tile .product-name a {
      color: #000; }
  .search-result-content .product-tile .v-view-on-vehicle,
  .page-designer-kaltire .product-tile .v-view-on-vehicle {
    min-height: 65px; }
    .search-result-content .product-tile .v-view-on-vehicle .button,
    .page-designer-kaltire .product-tile .v-view-on-vehicle .button {
      margin-bottom: 5px; }
  .search-result-content .product-tile .product-price,
  .page-designer-kaltire .product-tile .product-price {
    color: #000; }
    .search-result-content .product-tile .product-price::before, .search-result-content .product-tile .product-price::after,
    .page-designer-kaltire .product-tile .product-price::before,
    .page-designer-kaltire .product-tile .product-price::after {
      content: ' ';
      display: table; }
    .search-result-content .product-tile .product-price::after,
    .page-designer-kaltire .product-tile .product-price::after {
      clear: both; }
    .search-result-content .product-tile .product-price .rebate ~ .price-sales,
    .page-designer-kaltire .product-tile .product-price .rebate ~ .price-sales {
      color: #ff6900; }
  .search-result-content .product-tile .price-sales,
  .page-designer-kaltire .product-tile .price-sales {
    float: left;
    margin: 0 5px 0 0; }
  .search-result-content .product-tile .rebate,
  .page-designer-kaltire .product-tile .rebate {
    float: left;
    margin: 10px 0 0; }
  .search-result-content .product-tile .add-all-to-cart,
  .page-designer-kaltire .product-tile .add-all-to-cart {
    height: 60px;
    margin-bottom: 0; }

.search-result-content .marketing-info-wrapper,
.page-designer-kaltire .marketing-info-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f2f2f2;
  border: 3px solid #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding: 30px 10px; }
  .search-result-content .marketing-info-wrapper .marketing-title,
  .page-designer-kaltire .marketing-info-wrapper .marketing-title {
    font-size: 1.125rem;
    margin-bottom: 20px;
    text-align: center; }
  .search-result-content .marketing-info-wrapper .marketing-info-section,
  .page-designer-kaltire .marketing-info-wrapper .marketing-info-section {
    padding: 15px 0;
    position: relative;
    text-align: center; }
    .search-result-content .marketing-info-wrapper .marketing-info-section h4,
    .page-designer-kaltire .marketing-info-wrapper .marketing-info-section h4 {
      font-size: 1rem;
      text-align: center; }
    .search-result-content .marketing-info-wrapper .marketing-info-section p,
    .page-designer-kaltire .marketing-info-wrapper .marketing-info-section p {
      color: #000;
      font-size: 0.8125rem; }
    .search-result-content .marketing-info-wrapper .marketing-info-section i,
    .page-designer-kaltire .marketing-info-wrapper .marketing-info-section i {
      color: #ff6900;
      display: block;
      font-size: 2.5rem; }
      .search-result-content .marketing-info-wrapper .marketing-info-section i::before,
      .page-designer-kaltire .marketing-info-wrapper .marketing-info-section i::before {
        margin: 0;
        padding: 0; }

.search-result-content .product-image,
.page-designer-kaltire .product-image {
  margin: 15px 0; }
  .search-result-content .product-image .thumb-link,
  .page-designer-kaltire .product-image .thumb-link {
    display: block;
    margin: 0 auto;
    max-height: 215px;
    max-width: 215px;
    text-align: center; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .search-result-content .product-image .thumb-link,
      .page-designer-kaltire .product-image .thumb-link {
        max-height: 195px;
        max-width: 195px; } }

.search-result-content .tested-bykal-badge,
.page-designer-kaltire .tested-bykal-badge {
  min-height: 20px; }

.search-result-content .product-name .brand-name,
.page-designer-kaltire .product-name .brand-name {
  display: block; }

.search-result-content .product-attributes .attribute,
.page-designer-kaltire .product-attributes .attribute {
  font-size: 0.875rem;
  line-height: 1;
  margin: 0 0 8px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .search-result-content .product-attributes .attribute,
    .page-designer-kaltire .product-attributes .attribute {
      font-size: 0.8125rem; } }

.search-result-content .product-attributes .name,
.page-designer-kaltire .product-attributes .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.search-result-content .product-attributes .value,
.page-designer-kaltire .product-attributes .value {
  text-transform: capitalize; }

.search-result-content .product-attributes .category,
.page-designer-kaltire .product-attributes .category {
  color: #808285;
  font-size: 0.8125rem; }

.search-result-content .categories-box,
.page-designer-kaltire .categories-box {
  line-height: 1;
  margin: 10px 0 15px; }

.search-result-content .not-available-msg,
.page-designer-kaltire .not-available-msg {
  color: #f00;
  font-weight: bold; }

.search-result-content .availability-msg,
.page-designer-kaltire .availability-msg {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
  padding: 0 0 10px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .search-result-content .availability-msg,
    .page-designer-kaltire .availability-msg {
      font-size: 0.8125rem; } }
  .search-result-content .availability-msg .availability-label,
  .page-designer-kaltire .availability-msg .availability-label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }

.search-result-content .product-size,
.page-designer-kaltire .product-size {
  padding-right: 0.3125rem; }
  @media screen and (min-width: 64em) {
    .search-result-content .product-size,
    .page-designer-kaltire .product-size {
      padding-right: 0.625rem; } }
  .search-result-content .product-size .product-attributes .attribute,
  .page-designer-kaltire .product-size .product-attributes .attribute {
    font-size: 0.75rem; }

.search-result-content .product-pricing,
.page-designer-kaltire .product-pricing {
  padding-left: 0.3125rem; }
  @media screen and (min-width: 64em) {
    .search-result-content .product-pricing,
    .page-designer-kaltire .product-pricing {
      padding-left: 0.625rem; } }

.search-result-content .isMasterProduct .product-pricing,
.page-designer-kaltire .isMasterProduct .product-pricing {
  padding-left: 0;
  width: 100%; }

.search-result-content .isMasterProduct .master-product-price,
.search-result-content .isMasterProduct .rebate,
.page-designer-kaltire .isMasterProduct .master-product-price,
.page-designer-kaltire .isMasterProduct .rebate {
  display: inline-block; }

.search-result-content .isMasterProduct .rebate,
.page-designer-kaltire .isMasterProduct .rebate {
  float: none;
  line-height: 1.2; }

.search-result-content .view-on-vehicle,
.page-designer-kaltire .view-on-vehicle {
  margin: 10px 0 0;
  width: 100%; }

.search-result-content .size-price-qty-box,
.page-designer-kaltire .size-price-qty-box {
  margin: auto 0 0; }
  .search-result-content .size-price-qty-box .product-size .box-spacing:first-of-type,
  .search-result-content .size-price-qty-box .product-pricing .box-spacing:first-of-type,
  .page-designer-kaltire .size-price-qty-box .product-size .box-spacing:first-of-type,
  .page-designer-kaltire .size-price-qty-box .product-pricing .box-spacing:first-of-type {
    margin: 0 0 35px; }
  .search-result-content .size-price-qty-box .product-pricing,
  .page-designer-kaltire .size-price-qty-box .product-pricing {
    color: #ff6900; }

.search-result-content .product-tile__actions,
.page-designer-kaltire .product-tile__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 2; }

.search-result-content .product-tile__add-to-cart,
.page-designer-kaltire .product-tile__add-to-cart {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  height: 60px; }
  .search-result-content .product-tile__add-to-cart .add-to-cart,
  .page-designer-kaltire .product-tile__add-to-cart .add-to-cart {
    height: 60px;
    margin-bottom: 0;
    width: 100%; }

.compare-items-container {
  background: #fff;
  border-top: 1px solid #d9d9da;
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 3; }

.compare-items {
  margin: 0 auto;
  max-width: 1240px; }
  .compare-items .compare-item {
    height: 160px;
    margin: 30px 50px 30px 0;
    position: relative;
    width: 150px; }
    .compare-items .compare-item img {
      display: block;
      height: 145px;
      margin: 0 auto;
      padding: 10px 0 15px;
      width: 120px; }
    .compare-items .compare-item .compare-item-name {
      text-align: center; }
    .compare-items .compare-item .compare-item-number {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #f2f2f2;
      color: #808285;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: 1.5rem;
      height: 110px;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0 auto;
      width: 110px; }
  .compare-items .compare-item-remove {
    position: absolute;
    right: 0;
    top: 0; }
  .compare-items .compare-title {
    font-size: 1rem;
    margin: 0; }
    @media screen and (max-width: 63.9375em) {
      .compare-items .compare-title {
        display: none; } }
  .compare-items .button {
    margin: 0 0 0 25px;
    padding: 15px 28px; }
  .compare-items .compare-action {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 84px; }

.italic-text {
  font-style: italic; }

.finance-info {
  border: 2px solid #ff6900;
  display: inline-block;
  font-size: 0.9375rem;
  margin: 25px 0;
  padding: 0.5em; }
  .finance-info a {
    text-decoration: underline; }

@media screen and (min-width: 48em) {
  .search-result-content .product-tile-content {
    padding: 0 10px 15px; }
  .search-result-content .product-compare {
    border-top: 3px solid #f2f2f2;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    line-height: 55px;
    max-height: 60px;
    text-align: center; }
    .search-result-content .product-compare .compare-label,
    .search-result-content .product-compare .field-wrapper {
      cursor: pointer;
      display: inline-block;
      position: relative; }
    .search-result-content .product-compare .compare-label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #000;
      font-size: 0.875rem;
      margin: 0 5px 0 0;
      text-transform: uppercase; }
    .search-result-content .product-compare input {
      display: none;
      margin: 0;
      opacity: 0;
      position: relative;
      top: 4px;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      z-index: 2; }
      .search-result-content .product-compare input:checked {
        display: inherit; }
      .search-result-content .product-compare input:checked + .input-custom::after {
        color: #000;
        content: "\e811";
        font-family: "fontello"; }
      .search-result-content .product-compare input:focus {
        outline: none; }
    .search-result-content .product-compare .input-custom {
      left: 0;
      position: absolute;
      top: 2px;
      z-index: 1; }
      .search-result-content .product-compare .input-custom::after {
        color: transparent;
        content: "\f1db";
        font-family: "fontello";
        left: 0;
        position: absolute; }
    .search-result-content .product-compare .input-custom,
    .search-result-content .product-compare input {
      height: 17px;
      width: 17px; }
  .search-result-content .product-tile-active {
    border-color: #ff6900; }
    .search-result-content .product-tile-active .product-compare {
      background: #ff6900;
      border: 3px solid #ff6900; }
      .search-result-content .product-tile-active .product-compare .compare-label {
        color: #000;
        text-decoration: underline; }
  .search-result-content .product-tile-active .recommended-bagde,
  .search-result-content .product-tile--cart-button-hover .recommended-bagde {
    background: #ff6900;
    color: #fff; }
  .search-result-content .product-tile-active .compare-label,
  .search-result-content .product-tile--cart-button-hover .compare-label {
    color: #ff6900; }
  .search-result-content .product-tile--cart-button-hover {
    border-color: #757575; }
    .search-result-content .product-tile--cart-button-hover .compare-label {
      color: #000; } }

.pt_product-search-result .page-title {
  margin-bottom: 0; }

.pt_product-search-result .start-new-search-wrapper {
  text-align: end; }
  .pt_product-search-result .start-new-search-wrapper .loader {
    z-index: 10; }

.pt_product-search-result .start-new-search {
  margin-bottom: 0;
  margin-top: 10px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_product-search-result .start-new-search {
      margin-top: 20px 0;
      width: auto; } }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .start-new-search {
      margin-top: 35px; } }

.pt_product-search-result .psresults-wrapper {
  margin-top: 10px;
  padding: 0 0 10px; }

.pt_product-search-result .matched-products {
  margin: 0 0 20px; }
  .pt_product-search-result .matched-products p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 14px;
    margin: 0; }
  .pt_product-search-result .matched-products span {
    color: #ff6900; }

.pt_product-search-result .search-info {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 18px;
  margin: 0 0 25px; }

.pt_product-search-result .tabs-content {
  border: 0; }

.pt_product-search-result .search-results-tabs {
  border-bottom: 6px solid #f2f2f2;
  display: block;
  margin: 0 0 30px; }
  @media screen and (max-width: 63.9375em) {
    .pt_product-search-result .search-results-tabs {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .pt_product-search-result .search-results-tabs .tabs-title {
    margin: 0 0 -6px;
    text-align: center;
    width: 50%; }
    @media screen and (min-width: 48em) {
      .pt_product-search-result .search-results-tabs .tabs-title {
        width: auto; } }
    @media screen and (max-width: 63.9375em) {
      .pt_product-search-result .search-results-tabs .tabs-title {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        width: auto; } }
    .pt_product-search-result .search-results-tabs .tabs-title > a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #808285;
      font-size: 16px; }
      @media screen and (max-width: 63.9375em) {
        .pt_product-search-result .search-results-tabs .tabs-title > a {
          font-size: 0.875rem;
          padding: 10px 0; } }
    .pt_product-search-result .search-results-tabs .tabs-title a[aria-selected="true"] {
      background: transparent;
      color: #000; }
    .pt_product-search-result .search-results-tabs .tabs-title.is-active {
      border-bottom: 6px solid #ff6900; }

.pt_product-search-result .tabs-panel {
  padding: 0; }
  @media screen and (min-width: 48em) {
    .pt_product-search-result .tabs-panel .sort-by-wrapper {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .tabs-panel .sort-by-wrapper {
      background: transparent;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin: 0 0 30px;
      padding: 0; } }
  .pt_product-search-result .tabs-panel .sort-by label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000; }

.pt_product-search-result .article-result {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
  padding-bottom: 20px; }
  .pt_product-search-result .article-result p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #808285;
    margin: 0; }
    @media screen and (max-width: 63.9375em) {
      .pt_product-search-result .article-result p {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 400;
        color: #000; } }
  .pt_product-search-result .article-result a {
    font-size: 0.75rem; }

.pt_product-search-result .sort-by select {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  margin: 0; }

.pt_product-search-result .sort-by-wrapper {
  margin-bottom: 10px; }

.pt_product-search-result #refinements-content-wrap {
  display: none; }
  @media screen and (max-width: 63.9375em) {
    .pt_product-search-result #refinements-content-wrap {
      background: #fff;
      position: absolute;
      width: 100%;
      z-index: 3; } }
  .pt_product-search-result #refinements-content-wrap.expanded {
    display: block; }
    @media screen and (max-width: 63.9375em) {
      .pt_product-search-result #refinements-content-wrap.expanded {
        -webkit-box-shadow: 2px 4px 5px #808080;
                box-shadow: 2px 4px 5px #808080; } }

.pt_product-search-result #refinements-content-trigger {
  margin: 0;
  width: 100%; }

.pt_product-search-result .refinements-wrapper {
  margin: 0 0 25px;
  position: relative; }

.pt_product-search-result .refinements [class^="icon-"]::before,
.pt_product-search-result .refinements [class*=" icon-"]::before {
  margin: 0; }

.pt_product-search-result .refinements .icon-circle-thin,
.pt_product-search-result .refinements .icon-circle {
  color: #c75300; }

.pt_product-search-result .refinements .refinements-content {
  border: 1px solid #f2f2f2;
  border-bottom: 0;
  padding-top: 44px;
  position: relative; }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .refinements .refinements-content {
      padding-top: 0; } }

.pt_product-search-result .refinements .clear-filters {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-bottom: 1px solid #f2f2f2;
  font-size: 14px;
  line-height: 1;
  padding: 15px 0 15px 15px;
  position: absolute;
  top: 0;
  width: 100%; }

.pt_product-search-result .refinements .is-accordion-submenu-parent {
  border-bottom: 1px solid #f2f2f2; }
  .pt_product-search-result .refinements .is-accordion-submenu-parent > a {
    font-size: 14px;
    padding: 15px 0 15px 37px; }

.pt_product-search-result .refinements .is-accordion-submenu {
  margin: -5px 0 10px 15px; }

.pt_product-search-result .refinements .is-accordion-submenu-parent[aria-expanded="true"] > a::before {
  content: "\e80c";
  font-family: "fontello"; }

.pt_product-search-result .refinements .is-accordion-submenu-parent > a::after {
  display: none; }

.pt_product-search-result .refinements .is-accordion-submenu-parent > a::before {
  color: #c75300;
  content: "\e80b";
  font-family: "fontello";
  left: 15px;
  position: absolute; }

.pt_product-search-result .refinements li a {
  color: #000; }

.pt_product-search-result .refinements .is-submenu-item a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  display: block;
  font-size: 14px;
  line-height: 1.2;
  padding: 5px 0;
  text-transform: capitalize; }

.pt_product-search-result .refinements .is-submenu-item i {
  float: left;
  padding: 0 5px 1px 0; }

.pt_product-search-result .is-accordion-submenu li.selected a {
  color: #000; }

.pt_product-search-result .info-box {
  margin: 50px 0 40px; }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .info-box {
      background: #202020;
      color: #fff;
      padding: 20px 14px; }
      .pt_product-search-result .info-box .button {
        margin: 0;
        padding: 15px 10px; } }
  @media screen and (min-width: 82.5em) {
    .pt_product-search-result .info-box {
      padding: 20px; } }
  .pt_product-search-result .info-box .button span {
    font-size: 11px; }
  .pt_product-search-result .info-box h3 {
    font-size: 18px;
    margin: 0 0 10px; }
  .pt_product-search-result .info-box p {
    font-size: 12px;
    margin: 0 0 15px; }

.pt_product-search-result .live-chat-box {
  background: #f2f2f2;
  border: 2px solid #ccc;
  margin: 50px 0 40px;
  max-height: 375px;
  overflow: hidden;
  padding: 20px 14px 0;
  width: 210px; }
  @media screen and (max-width: 47.9375em) {
    .pt_product-search-result .live-chat-box {
      margin: 50px 20px 40px;
      max-height: 405px;
      width: 315px; } }
  .pt_product-search-result .live-chat-box h3 {
    font-size: 18px; }
  .pt_product-search-result .live-chat-box .button-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .pt_product-search-result .live-chat-box .button-wrapper .button {
      margin: 0;
      padding: 15px 10px;
      width: 180px; }
      @media screen and (max-width: 47.9375em) {
        .pt_product-search-result .live-chat-box .button-wrapper .button {
          width: 280px; } }
      .pt_product-search-result .live-chat-box .button-wrapper .button span {
        font-size: 14px;
        font-weight: 700;
        line-height: 20px; }
  .pt_product-search-result .live-chat-box .image-wrapper {
    margin-bottom: 0;
    padding-top: 32px; }
    @media screen and (max-width: 47.9375em) {
      .pt_product-search-result .live-chat-box .image-wrapper {
        max-height: -webkit-fit-content;
        max-height: -moz-fit-content;
        max-height: fit-content;
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content; } }

.pt_product-search-result .live-chat-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.pt_product-search-result .need-help-box .button {
  position: relative; }
  .pt_product-search-result .need-help-box .button span {
    font-size: 11px;
    padding: 0 0 0 25px; }

.pt_product-search-result .need-help-box .icon-livechat {
  bottom: 0;
  font-size: 18px;
  height: 18px;
  margin: auto;
  position: absolute;
  top: 0; }

@media screen and (min-width: 48em) {
  .pt_product-search-result .search-results-content {
    padding: 0 10px 0 0; } }

.pt_product-search-result .search-results-content .folder-content-list {
  margin: 0; }
  .pt_product-search-result .search-results-content .folder-content-list li {
    margin: 0 0 50px; }
    .pt_product-search-result .search-results-content .folder-content-list li:last-child {
      margin: 0; }

.pt_product-search-result .search-results-content .content-title {
  font-size: calc-rem(18);
  line-height: 1;
  margin: 0 0 15px; }

.pt_product-search-result .search-results-content .readmore {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.pt_product-search-result .resource-center h3 {
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .pt_product-search-result .resource-center h3 {
      font-size: 1.375rem; } }

.pt_product-search-result .resource-center img {
  display: block;
  margin: 0 auto;
  max-width: 100%; }

.pt_product-search-result .resource-center .button {
  margin: 30px 0 0; }

.pt_product-search-result .change-location-box {
  background: rgba(0, 0, 0, 0.9);
  bottom: 0;
  color: #fff;
  left: 0;
  min-height: 50px;
  padding: 10px 0;
  position: fixed;
  right: 0;
  text-align: center;
  z-index: 10; }
  @media screen and (max-width: 47.9375em) {
    .pt_product-search-result .change-location-box {
      text-align: left; } }
  .pt_product-search-result .change-location-box p {
    font-size: 0.875rem;
    line-height: 35px;
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .pt_product-search-result .change-location-box p {
        line-height: 1.4; } }
  .pt_product-search-result .change-location-box .button {
    margin: 0 0 0 10px;
    padding: 10px 15px; }
    @media screen and (max-width: 47.9375em) {
      .pt_product-search-result .change-location-box .button {
        margin: 10px 0 0; } }

@media screen and (max-width: 47.9375em) {
  .pt_product-search-result .pagination ul {
    text-align: center; }
  .pt_product-search-result .pagination li {
    margin: 0;
    padding: 6px; } }

#newSearchModal {
  padding: 0; }
  @media screen and (min-width: 64em) {
    #newSearchModal {
      padding: 0; } }
  #newSearchModal .selector-image {
    display: none; }
  #newSearchModal .add-rear-size,
  #newSearchModal .findTireSizeModalTrigger,
  #newSearchModal .looking-for-other {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ff6900;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 0.8125rem;
    margin-top: 20px;
    text-transform: none; }
    @media screen and (min-width: 48em) {
      #newSearchModal .add-rear-size,
      #newSearchModal .findTireSizeModalTrigger,
      #newSearchModal .looking-for-other {
        bottom: -22px;
        left: 0;
        margin: 0;
        position: absolute; } }
  #newSearchModal .looking-for-other {
    display: block;
    font-size: 1rem;
    position: initial; }
  #newSearchModal .close_button {
    color: #ff6900;
    cursor: pointer;
    display: none;
    font-size: 18px;
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (min-width: 48em) {
      #newSearchModal .close_button {
        display: block;
        line-height: 25px; } }

@media screen and (min-width: 48em) {
  .pt_product-search-result .matched-products {
    margin: 0; }
    .pt_product-search-result .matched-products p {
      font-size: 18px; }
  .pt_product-search-result .refinements-wrapper {
    margin: 0 0 45px; } }

@media screen and (min-width: 64em) {
  .pt_product-search-result .sort-by-wrapper {
    background: #000;
    color: #fff;
    margin-bottom: 55px;
    padding-bottom: 20px;
    padding-top: 20px; }
  .pt_product-search-result .sort-by label {
    color: #fff;
    font-size: 18px; }
  .pt_product-search-result #refinements-content-wrap {
    display: block; }
  .pt_product-search-result .refinements .refinements-content,
  .pt_product-search-result .refinements .is-accordion-submenu-parent,
  .pt_product-search-result .refinements .clear-filters {
    border: 0; }
  .pt_product-search-result .refinements .is-accordion-submenu-parent > a {
    padding: 12px 0 12px 20px; }
    .pt_product-search-result .refinements .is-accordion-submenu-parent > a::before {
      left: 0; }
    .pt_product-search-result .refinements .is-accordion-submenu-parent > a:hover {
      text-decoration: underline; }
  .pt_product-search-result .refinements .is-accordion-submenu {
    margin: 0; }
  .pt_product-search-result .refinements .clear-filters {
    padding: 5px 0 10px; }
  .pt_product-search-result .refinement-title {
    font-size: 18px;
    margin: 0 0 15px; }
    .pt_product-search-result .refinement-title.sizes-title {
      margin-top: 15px; } }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-badge {
    margin: 0 0 15px; }
  .pdp-main .tested-bykal-badge {
    margin: 0 0 30px; } }

.pdp-main .psresults-wrapper {
  padding-top: 0; }

.pdp-main .brand-name {
  font-size: 1rem;
  margin: 0 0 0.3125rem; }

.pdp-main .product-name {
  font-size: 1.375rem;
  margin: 0; }

@media screen and (min-width: 48em) {
  .pdp-main .pdp-top-name {
    margin-bottom: 2rem; }
    .pdp-main .pdp-top-name .product-name {
      font-size: 1.625rem; } }

.pdp-main .product-set-list::before, .pdp-main .product-set-list::after {
  content: ' ';
  display: table; }

.pdp-main .product-set-list::after {
  clear: both; }

.pdp-main .product-set-list .product-set-item {
  margin-bottom: 10px; }
  .pdp-main .product-set-list .product-set-item::before, .pdp-main .product-set-list .product-set-item::after {
    content: ' ';
    display: table; }
  .pdp-main .product-set-list .product-set-item::after {
    clear: both; }
  .pdp-main .product-set-list .product-set-item .quantity {
    float: right;
    max-width: 75px;
    min-width: 75px; }
    @media screen and (min-width: 64em) {
      .pdp-main .product-set-list .product-set-item .quantity {
        float: left; } }

.pdp-main .product-set-list .product-set-details {
  float: left;
  width: 70%; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-set-list .product-set-details {
      width: 100%; } }
  .pdp-main .product-set-list .product-set-details .product-price {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content; }

.pdp-main .product-set-list .add-sub-product {
  float: left;
  width: 30% !important; }
  @media screen and (max-width: 47.9375em) {
    .pdp-main .product-set-list .add-sub-product {
      margin: 8px 0 0 !important; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .product-set-list .add-sub-product {
      margin: 8px 0 0 !important; } }
  @media screen and (min-width: 64em) {
    .pdp-main .product-set-list .add-sub-product {
      margin-top: 15px !important;
      width: 100% !important; } }

.pdp-main .add-all-to-cart {
  margin-top: 0;
  width: 100%; }

.pdp-main .set-attr-titles {
  min-width: 200px;
  text-align: right; }
  .pdp-main .set-attr-titles::before, .pdp-main .set-attr-titles::after {
    content: ' ';
    display: table; }
  .pdp-main .set-attr-titles::after {
    clear: both; }
  .pdp-main .set-attr-titles .value-front {
    display: inline-block;
    font-size: 0.875rem;
    padding: 9px 12px; }
    .pdp-main .set-attr-titles .value-front::before, .pdp-main .set-attr-titles .value-front::after {
      content: ' ';
      display: table; }
    .pdp-main .set-attr-titles .value-front::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      .pdp-main .set-attr-titles .value-front {
        font-size: 1rem; } }
  .pdp-main .set-attr-titles .value-rear {
    display: inline-block;
    font-size: 0.875rem;
    min-width: 80px;
    padding: 9px 12px; }
    .pdp-main .set-attr-titles .value-rear::before, .pdp-main .set-attr-titles .value-rear::after {
      content: ' ';
      display: table; }
    .pdp-main .set-attr-titles .value-rear::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      .pdp-main .set-attr-titles .value-rear {
        font-size: 1rem;
        min-width: 200px; } }

.pdp-main .manufacturer-number {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  font-size: 0.6875rem;
  margin: 5px 0 0; }

.pdp-main .multiple-manufacturer-numbers {
  margin: 0; }

.pdp-main .title-main-section {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-left: 3px solid #ff6900;
  font-size: 1.125rem;
  margin: 0 0 25px;
  padding: 0 0 0 18px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .pdp-main .title-main-section {
      font-size: 1.5rem; } }
  .pdp-main .title-main-section.review-title {
    margin: 0 0 20px; }

.pdp-main .product-attributes .attribute {
  font-size: 0.875rem;
  line-height: 1;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-attributes .attribute {
      font-size: 1rem; } }

.pdp-main .product-attributes .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.pdp-main .product-attributes .value {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  text-transform: capitalize; }

.pdp-main .overview,
.pdp-main .product-description,
.pdp-main .test-results,
.pdp-main .product-sizes,
.pdp-main .rating-box {
  margin-bottom: 100px; }

.pdp-main #productDescription,
.pdp-main #testResults,
.pdp-main #raitingReviews,
.pdp-main #productSizes {
  scroll-margin-top: 120px; }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-image-container {
    padding: 30px 0; } }

.pdp-main .product-thumbnails {
  margin: 10px 10px 0; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-thumbnails {
      float: left;
      margin: 0;
      position: relative;
      top: 0;
      width: 56px; } }
  @media screen and (min-width: 64em) {
    .pdp-main .product-thumbnails {
      width: 66px; } }
  @media screen and (min-width: 48em) {
    .pdp-main .product-thumbnails.top-padding {
      top: 15px; } }
  .pdp-main .product-thumbnails .slick-slider {
    margin: 0;
    text-align: center;
    visibility: hidden; }
    .pdp-main .product-thumbnails .slick-slider.slick-initialized {
      visibility: visible; }
  .pdp-main .product-thumbnails .thumb {
    cursor: pointer; }
    .pdp-main .product-thumbnails .thumb img {
      border: 1px solid #f2f2f2; }
      @media screen and (min-width: 48em) {
        .pdp-main .product-thumbnails .thumb img {
          margin-bottom: 5px; } }
  .pdp-main .product-thumbnails .slick-next,
  .pdp-main .product-thumbnails .slick-prev {
    color: transparent;
    margin: 0 auto;
    width: 20px; }
    @media screen and (min-width: 48em) {
      .pdp-main .product-thumbnails .slick-next,
      .pdp-main .product-thumbnails .slick-prev {
        left: 0;
        position: absolute;
        right: 0; } }
    .pdp-main .product-thumbnails .slick-next::before,
    .pdp-main .product-thumbnails .slick-prev::before {
      color: #000;
      font-family: "fontello"; }
    .pdp-main .product-thumbnails .slick-next.slick-disabled,
    .pdp-main .product-thumbnails .slick-prev.slick-disabled {
      pointer-events: none; }
      .pdp-main .product-thumbnails .slick-next.slick-disabled::before,
      .pdp-main .product-thumbnails .slick-prev.slick-disabled::before {
        color: #bfc0c2; }
  .pdp-main .product-thumbnails .slick-next {
    right: -15px; }
    @media screen and (min-width: 48em) {
      .pdp-main .product-thumbnails .slick-next {
        bottom: -23px;
        right: 0;
        top: auto; } }
    .pdp-main .product-thumbnails .slick-next::before {
      content: "\e814"; }
      @media screen and (min-width: 48em) {
        .pdp-main .product-thumbnails .slick-next::before {
          content: "\e80f"; } }
  .pdp-main .product-thumbnails .slick-prev {
    left: -15px; }
    @media screen and (min-width: 48em) {
      .pdp-main .product-thumbnails .slick-prev {
        left: 0;
        top: -10px; } }
    .pdp-main .product-thumbnails .slick-prev::before {
      content: "\e813"; }
      @media screen and (min-width: 48em) {
        .pdp-main .product-thumbnails .slick-prev::before {
          content: "\e80e"; } }
  .pdp-main .product-thumbnails .slick-slide.slick-current .productthumbnail {
    border: 1px solid #ff6900; }

.pdp-main .main-carousel {
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pdp-main .main-carousel {
      float: right;
      min-height: 272px;
      width: calc(100% - 70px); } }
  @media screen and (min-width: 64em) {
    .pdp-main .main-carousel {
      float: right;
      min-height: 317px;
      width: calc(100% - 85px); } }
  .pdp-main .main-carousel .slick-slider {
    margin: 0;
    visibility: hidden; }
    .pdp-main .main-carousel .slick-slider.slick-initialized {
      visibility: visible; }
  .pdp-main .main-carousel .videoWrapper {
    height: 315px;
    padding-bottom: 0;
    padding-top: 0; }
  .pdp-main .main-carousel .slick-slide {
    border: 1px solid #f2f2f2; }

.pdp-main .overview .product-attributes .attribute {
  font-size: 0.875rem;
  margin: 5px 0; }
  .pdp-main .overview .product-attributes .attribute.trailer-tire-attribute {
    font-size: 14px;
    margin-bottom: 15px; }

.pdp-main .overview .product-attributes.category-attributes .name {
  float: left;
  margin-right: 5px;
  min-height: 18px;
  overflow: hidden; }

.pdp-main .overview .product-attributes .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.pdp-main .overview .product-attributes .category {
  color: #808285; }

.pdp-main .overview .product-review {
  margin: 25px 0; }

.pdp-main .overview .aditional-details {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  margin: 0 0 20px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .overview .aditional-details {
      padding-right: 0.625rem; } }

.pdp-main .price-right-box {
  width: 100%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .price-right-box {
      padding-left: 0.625rem;
      width: 50%; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .pdp-main .product-price-addtocart {
    margin: 40px 0 0; } }

.pdp-main .product-price-addtocart .product-price-wrap {
  float: left;
  margin-bottom: 15px;
  width: 100%; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-price-addtocart .product-price-wrap {
      margin: 0 0 25px;
      width: 100%; } }
  .pdp-main .product-price-addtocart .product-price-wrap .price-label {
    margin: 0 0 9px; }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-price-addtocart .price-right-box {
    position: relative; } }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-price-addtocart .price-right-box .inventory {
    position: absolute;
    right: 0;
    top: 0; } }

.pdp-main .product-price-addtocart .inventory {
  float: right; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-price-addtocart .inventory {
      float: left;
      width: 100%; } }
  .pdp-main .product-price-addtocart .inventory input {
    display: none;
    margin: 0; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-price-addtocart .inventory .product-quantity {
      max-width: 75px;
      width: 50%; } }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-price-addtocart #totalPriceSection {
    margin-top: 14px;
    padding-bottom: 15px; } }

@media screen and (min-width: 64em) {
  .pdp-main .product-price-addtocart #totalPriceSection .quantity {
    margin-bottom: 15px; } }

.pdp-main .product-price-addtocart #totalPriceSection .product-price {
  display: inline;
  font-size: 1.5625rem; }
  .pdp-main .product-price-addtocart #totalPriceSection .product-price .currency-indices {
    font-size: 0.8125rem; }

.pdp-main .product-price-addtocart #totalPriceSection .price-standard {
  color: #c75300; }

.pdp-main .product-price-addtocart .product-add-to-cart {
  float: left;
  margin: 25px 0 0;
  width: 100%;
  margin: 0; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .product-price-addtocart .product-add-to-cart {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  @media screen and (max-width: 47.9375em) {
    .pdp-main .product-price-addtocart .product-add-to-cart .button {
      margin: 0;
      width: 100%; } }

.pdp-main .product-price-addtocart .price-label,
.pdp-main .product-price-addtocart .quantity .quantity-total,
.pdp-main .product-price-addtocart .quantity label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  display: inherit;
  font-size: 0.6875rem;
  line-height: 1;
  margin-bottom: 9px;
  text-transform: uppercase; }

.pdp-main .product-price {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 2.1875rem;
  line-height: 1; }
  .pdp-main .product-price .currency-indices {
    font-size: 1.0625rem; }
  .pdp-main .product-price .price-sales {
    color: #000;
    margin: 0 10px 0 0; }
  .pdp-main .product-price .price-standard {
    color: #c75300; }
    .pdp-main .product-price .price-standard + .price-sales {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.8125rem;
      text-decoration: line-through; }
      .pdp-main .product-price .price-standard + .price-sales .currency-indices {
        font-size: 0.8125rem; }
  .pdp-main .product-price .rebate {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #ff6900;
    display: block;
    font-size: 0.75rem;
    margin: 10px 0 0; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .pdp-main .product-price .rebate {
        margin-bottom: 10px; } }

.pdp-main .product-description .long-description {
  font-size: 0.875rem;
  margin: 0 0 80px; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-description .long-description {
      margin: 0;
      padding: 0 35px 0 0; } }
  @media screen and (min-width: 64em) {
    .pdp-main .product-description .long-description {
      font-size: 1rem; } }

.pdp-main .product-description .care-plan .title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  margin: 0 0 15px; }

.pdp-main .test-results .driver-notes-wrap {
  margin: 0 0 30px; }

.pdp-main .test-results .driver-notes {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 1.125rem;
  font-style: italic; }

.pdp-main .test-results .driver-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #808285;
  font-size: 0.75rem; }

.pdp-main .test-results .testing-video-box {
  margin-bottom: 35px; }
  @media screen and (min-width: 48em) {
    .pdp-main .test-results .testing-video-box {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }

.pdp-main .test-results .questions {
  margin: 15px 0 0; }
  .pdp-main .test-results .questions p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.8125rem;
    margin: 0 0 10px; }
  .pdp-main .test-results .questions .inline-question-mark {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #808285;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0; }
  .pdp-main .test-results .questions .questionmarkcircle {
    color: #ff6900;
    margin: 0 10px 0 0;
    top: 0; }

.pdp-main .test-results .season-title {
  float: left;
  font-size: 1.25rem;
  width: 100%; }

.pdp-main .test-results .attribute-title {
  font-size: 1rem;
  margin: 0 0 7px; }

@media screen and (min-width: 64em) {
  .pdp-main .test-results .seasson {
    padding-right: 2.5rem; } }

.pdp-main .test-results .seasson .section {
  margin: 0 0 35px; }
  @media screen and (min-width: 48em) {
    .pdp-main .test-results .seasson .section {
      float: left;
      width: 47%; }
      .pdp-main .test-results .seasson .section:nth-child(odd) {
        float: right; } }
  .pdp-main .test-results .seasson .section:last-child {
    margin: 0; }

.pdp-main .test-results .seasson ul {
  margin: 0; }

.pdp-main .test-results .seasson li {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  line-height: 1;
  margin: 5px 0; }
  .pdp-main .test-results .seasson li::before, .pdp-main .test-results .seasson li::after {
    content: ' ';
    display: table; }
  .pdp-main .test-results .seasson li::after {
    clear: both; }

.pdp-main .test-results .seasson .label-title {
  float: left;
  width: 50%; }
  @media screen and (min-width: 64em) {
    .pdp-main .test-results .seasson .label-title {
      width: 70%; } }

.pdp-main .test-results .seasson .label-title-bold {
  float: left;
  font-weight: 700;
  width: 50%; }
  @media screen and (min-width: 64em) {
    .pdp-main .test-results .seasson .label-title-bold {
      width: 70%; } }

.pdp-main .test-results .seasson .raiting {
  color: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 50%; }
  @media screen and (min-width: 64em) {
    .pdp-main .test-results .seasson .raiting {
      width: 30%; } }

.pdp-main .test-results .seasson [class^="icon-"]::before,
.pdp-main .test-results .seasson [class*=" icon-"]::before {
  margin: 0; }

.pdp-main .test-results .seasson i {
  float: left; }

.pdp-main .product-sizes .model-specs .model-box {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1rem;
  margin: 0 0 20px; }

.pdp-main .product-sizes .model-specs .model-size {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }

.pdp-main .product-sizes .view-all {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 0.8125rem;
  margin: 0 0 30px; }
  .pdp-main .product-sizes .view-all::before {
    content: "\f053";
    font-family: fontawesome;
    font-size: 7px;
    padding-right: 0.3125rem;
    vertical-align: middle; }

.pdp-main .product-sizes .product-attributes .attribute {
  padding: 9px 12px; }
  .pdp-main .product-sizes .product-attributes .attribute:nth-child(odd) {
    background: #f2f2f2; }
  .pdp-main .product-sizes .product-attributes .attribute:nth-child(even) {
    padding: 12px; }
  .pdp-main .product-sizes .product-attributes .attribute.finish_attribute .value:not(.value-rear) {
    display: none; }

.pdp-main .product-sizes .product-attributes .value {
  float: right; }

.pdp-main .product-sizes .product-attributes .value-rear {
  min-width: 80px;
  text-align: right; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-sizes .product-attributes .value-rear {
      min-width: 200px; } }
  .pdp-main .product-sizes .product-attributes .value-rear .name {
    display: none; }

.pdp-main .product-sizes .load-range-title {
  margin-top: 40px; }

.pdp-main .service-info-wrapper .left-info .sel-subtitle strong {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.pdp-main .service-info-wrapper .right-info .newsearch-tireselection .init-selector {
  -ms-flex-item-align: center;
      align-self: center;
  margin: 0; }

.pdp-main .service-info-wrapper .service-info-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    .pdp-main .service-info-wrapper .service-info-content {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .pdp-main .service-info-wrapper .service-info-content .sel-subtitle {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
    @media screen and (min-width: 48em) {
      .pdp-main .service-info-wrapper .service-info-content .sel-subtitle {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        font-size: 0.9375rem; } }
  .pdp-main .service-info-wrapper .service-info-content .tire {
    padding-right: 15px; }

.pdp-main .service-info-wrapper .sel-info {
  padding: 20px 0; }
  @media screen and (min-width: 48em) {
    .pdp-main .service-info-wrapper .sel-info {
      padding: 10px 0; } }

.product-size-tabs {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-flex: initial;
      -ms-flex-positive: initial;
          flex-grow: initial;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (max-width: 47.9375em) {
    .product-size-tabs {
      display: block; } }
  .product-size-tabs.trailer-load-range-tabs {
    display: block; }
  .product-size-tabs .tabs-title {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-bottom: 3px solid #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 25%;
    text-align: center;
    width: auto; }
    @media screen and (max-width: 47.9375em) {
      .product-size-tabs .tabs-title {
        display: block;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        width: 25%; } }
    @media screen and (min-width: 64em) {
      .product-size-tabs .tabs-title {
        max-width: 22%; } }
    .product-size-tabs .tabs-title a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #808285;
      font-size: 16px;
      padding: 0.5rem 1rem 1rem; }
      .product-size-tabs .tabs-title a::after {
        content: "\f10e";
        font-family: fontawesome;
        font-size: 6px;
        vertical-align: super; }
      .product-size-tabs .tabs-title a.load-range-anchor {
        padding: 0.5rem 2rem 1rem; }
        .product-size-tabs .tabs-title a.load-range-anchor::after {
          content: none; }
    .product-size-tabs .tabs-title > a:focus,
    .product-size-tabs .tabs-title > a[aria-selected="true"] {
      background: transparent; }
    .product-size-tabs .tabs-title.is-active, .product-size-tabs .tabs-title:focus, .product-size-tabs .tabs-title:hover {
      border-bottom-color: #ff6900; }
      .product-size-tabs .tabs-title.is-active a,
      .product-size-tabs .tabs-title.is-active a:hover, .product-size-tabs .tabs-title:focus a,
      .product-size-tabs .tabs-title:focus a:hover, .product-size-tabs .tabs-title:hover a,
      .product-size-tabs .tabs-title:hover a:hover {
        color: #000; }

.product-size-tabs-content {
  border: 0; }
  .product-size-tabs-content .tabs-panel {
    padding: 2.75rem 0; }
    .product-size-tabs-content .tabs-panel a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000; }
    .product-size-tabs-content .tabs-panel ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0; }
      .product-size-tabs-content .tabs-panel ul li {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        line-height: 48px; }
        @media screen and (min-width: 48em) {
          .product-size-tabs-content .tabs-panel ul li {
            -ms-flex-preferred-size: 33%;
                flex-basis: 33%;
            line-height: 30px; } }
    .product-size-tabs-content .tabs-panel.trailer-load-range-options {
      padding-top: 0.5rem; }
      .product-size-tabs-content .tabs-panel.trailer-load-range-options.is-active {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .product-size-tabs-content .tabs-panel.trailer-load-range-options .product-size-tabs {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
      .product-size-tabs-content .tabs-panel.trailer-load-range-options .tabs-title {
        max-width: 65px; }
    .product-size-tabs-content .tabs-panel .tire-size-options {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .product-size-tabs-content .tabs-panel .tire-size-options {
          width: 70%; } }
      .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size {
        margin-bottom: 25px;
        width: 100%; }
        @media screen and (min-width: 48em) {
          .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size {
            margin-bottom: 0;
            width: auto; } }
        .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size:hover {
          background: #f2f2f2; }
          .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size:hover a {
            color: #ff6900; }

.image-tooltip {
  color: #ff6900;
  float: right;
  font-size: 12px;
  margin: 5px 0 0; }
  @media screen and (min-width: 48em) {
    .image-tooltip {
      float: left;
      margin: 5px 0 0 20px; } }
  .image-tooltip .has-tip {
    border: 0;
    font-weight: normal; }

.tooltip.img-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 12px;
  max-width: 260px !important;
  min-width: 230px !important;
  padding: 0; }
  .tooltip.img-tip h1 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 13px;
    line-height: 1rem;
    margin: 0;
    padding: 7px 15px; }
  .tooltip.img-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 12px;
    margin: 0;
    padding: 15px; }
  .tooltip.img-tip.top::before {
    border: inset 0.45rem;
    border-color: #fff transparent transparent transparent;
    border-top-style: solid; }

.pdp-master .product-sizef,
.pdp-master .product-wheelsizef {
  display: none; }

.pdp-master .product-price .rebate br {
  display: none; }

@media screen and (min-width: 48em) {
  .pdp-main .badges-box {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-bottom: 15px;
    margin-top: 10px; }
    .pdp-main .badges-box p {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  .pdp-main .product-badge,
  .pdp-main .tested-bykal-badge {
    margin: 0; }
  .pdp-main .tested-bykal-badge {
    padding: 7px; }
  .pdp-main .top-info-product-box {
    margin: 0 0 10px; } }

@media screen and (min-width: 64em) {
  .pdp-nav {
    margin: 0 0 70px;
    width: 100%; }
    .pdp-nav ul {
      margin: 0; }
    .pdp-nav li {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-bottom: 6px solid #f2f2f2;
      float: left;
      font-size: 1rem;
      text-align: center;
      width: 20%; }
      .pdp-nav li a {
        color: #808285;
        display: inline-block;
        padding: 0 0 15px;
        width: 100%; }
      .pdp-nav li:hover, .pdp-nav li.active {
        border-bottom: 6px solid #ff6900; }
        .pdp-nav li:hover a, .pdp-nav li.active a {
          color: #000; }
  .pdp-main .product-sizes .attr-column {
    float: left;
    width: 45%; }
    .pdp-main .product-sizes .attr-column:nth-child(2) {
      float: right; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .compare-page .scroll-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin-right: 20px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .compare-page .scroll-section.no-margin {
      margin-right: 0; }
  .compare-page .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
  .compare-page .section-title {
    border: 0;
    margin: 0; }
  .compare-page .title-border {
    border-top: 2px solid #f2f2f2;
    padding-top: 30px; }
  .compare-page .two-columns:nth-child(1) .title-border {
    margin-left: 0.625rem;
    padding-left: 0; }
  .compare-page .two-columns:nth-child(2) .title-border {
    margin-right: 0.625rem;
    padding-right: 0; }
  .compare-page .three-columns:nth-child(1) .title-border {
    margin-left: 0.625rem;
    padding-left: 0; }
  .compare-page .three-columns:nth-child(3) .title-border {
    margin-right: 0.625rem;
    padding-right: 0; } }

.compare-page .small-device-message p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1.25rem;
  margin: 100px 0 0;
  text-align: center; }

.compare-page .page-title {
  margin: 25px 0 20px; }

.compare-page a.back {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.compare-page .section-box {
  margin: 0 0 50px; }

.compare-page .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-bottom: 2px solid #f2f2f2;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 30px;
  padding: 0 0 10px;
  text-transform: uppercase; }

.compare-page .product-column:not(:first-of-type) .section-title,
.compare-page .product-column:not(:first-of-type) .test-score .season-title {
  outline: 0;
  text-indent: -9999em; }

.compare-page #compare-table {
  margin-top: 100px; }
  .compare-page #compare-table .product-tile-content {
    position: relative; }
  .compare-page #compare-table .product-winter-use {
    position: absolute;
    right: 0; }

.compare-page .two-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .two-columns:nth-child(1) {
      padding-left: 0.625rem; }
      .compare-page .two-columns:nth-child(1) .row-spaces {
        padding-right: 8.33333%; }
    .compare-page .two-columns:nth-child(2) {
      padding-right: 0.625rem; }
      .compare-page .two-columns:nth-child(2) .row-spaces {
        padding-left: 8.33333%; } }

.compare-page .three-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .three-columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
      .compare-page .three-columns:nth-child(1) {
        padding-left: 0.625rem; }
        .compare-page .three-columns:nth-child(1) .row-spaces {
          padding-right: 2.1865rem; }
      .compare-page .three-columns:nth-child(2) .row-spaces {
        padding-left: 1.40575rem;
        padding-right: 1.40575rem; }
      .compare-page .three-columns:nth-child(3) {
        padding-right: 0.625rem; }
        .compare-page .three-columns:nth-child(3) .row-spaces {
          padding-left: 2.1865rem; } }

.compare-page .product-tile {
  height: auto !important;
  margin: 0 0 25px;
  text-align: center; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-tile .compare-remove-product {
      display: inline-block !important; } }
  @media screen and (min-width: 64em) {
    .compare-page .product-tile .product-image:hover + .product-name, .compare-page .product-tile .product-name:hover {
      /* stylelint-disable-line */ }
      .compare-page .product-tile .product-image:hover + .product-name .compare-remove-product, .compare-page .product-tile .product-name:hover .compare-remove-product {
        color: #ff6900;
        display: inline-block !important;
        margin: 0 0 0 5px;
        position: absolute;
        z-index: 2; } }
  .compare-page .product-tile .recommended-bagde,
  .compare-page .product-tile .promo-badge,
  .compare-page .product-tile .product-attributes,
  .compare-page .product-tile .availability-msg,
  .compare-page .product-tile .product-size,
  .compare-page .product-tile .tested-bykal-badge,
  .compare-page .product-tile .aditional-details {
    display: none; }
  .compare-page .product-tile .product-badge {
    position: absolute; }
  .compare-page .product-tile .product-image {
    margin: 0 auto;
    max-width: 215px;
    padding: 0 0 25px; }
    .compare-page .product-tile .product-image a {
      display: block; }
  .compare-page .product-tile .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    position: relative; }
    .compare-page .product-tile .product-name .brand-name {
      display: block;
      font-size: 16px;
      margin: 0 0 5px; }
    .compare-page .product-tile .product-name .name-link {
      color: #000; }
  .compare-page .product-tile .price-qty-box {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .compare-page .product-tile .product-pricing {
    text-align: left;
    width: 75%; }
    .compare-page .product-tile .product-pricing .price-sales,
    .compare-page .product-tile .product-pricing .price-standard {
      margin-bottom: -5px; }
    .compare-page .product-tile .product-pricing .price-standard + .price-sales {
      margin: 0 0 0 15px; }
  .compare-page .product-tile .product-price {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
  .compare-page .product-tile .rebate {
    margin: 0 0 0 15px; }
  .compare-page .product-tile .price-standard + .price-sales + .rebate {
    bottom: -20px;
    left: 0;
    position: absolute; }
  .compare-page .product-tile .inventory {
    float: right;
    width: 25%; }
  .compare-page .product-tile .quantity label,
  .compare-page .product-tile .quantity input.product-quantity {
    display: none; }
  .compare-page .product-tile .product-quantity select {
    margin: 0;
    max-width: 85px; }
  .compare-page .product-tile .product-add-to-cart {
    display: block;
    float: right;
    padding: 30px 0 0;
    text-align: right;
    width: 100%; }

.compare-page .button-group {
  margin: 0;
  text-align: right; }

.compare-page .categories .category {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #999;
  display: block;
  font-size: 0.8125rem; }
  .compare-page .categories .category:not(:first-of-type) {
    margin: 10px 0 0; }

.compare-page .summary .attribute,
.compare-page .tire-specs .attribute {
  font-size: 0.9375rem;
  margin: 0;
  padding: 7px 12px; }
  .compare-page .summary .attribute::before, .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::before,
  .compare-page .tire-specs .attribute::after {
    content: ' ';
    display: table; }
  .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::after {
    clear: both; }
  .compare-page .summary .attribute:nth-of-type(odd),
  .compare-page .tire-specs .attribute:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .summary .attribute:nth-of-type(even),
  .compare-page .tire-specs .attribute:nth-of-type(even) {
    padding: 9px 12px; }

.compare-page .summary .name,
.compare-page .tire-specs .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.compare-page .summary .value,
.compare-page .tire-specs .value {
  float: right;
  text-transform: capitalize; }

.compare-page .test-score .section {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem;
  padding: 12px; }
  .compare-page .test-score .section:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .test-score .section ul {
    margin: 0; }
  .compare-page .test-score .section li::before, .compare-page .test-score .section li::after {
    content: ' ';
    display: table; }
  .compare-page .test-score .section li::after {
    clear: both; }
  .compare-page .test-score .section .attribute-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.9375rem; }

.compare-page .test-score .label-title {
  float: left;
  padding-right: 10px;
  width: calc(100% - 75px); }

.compare-page .test-score .raiting {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 75px; }

.compare-page .test-score [class^="icon-"]::before,
.compare-page .test-score [class*=" icon-"]::before {
  margin: 0; }

.compare-page .test-score i {
  color: #ff6900;
  float: left; }

.compare-page .test-score .season-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 15px; }
  .compare-page .test-score .season-title:not(:first-of-type) {
    margin: 30px 0 15px; }

.compare-page .small-device-message p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1.25rem;
  margin: 100px 0 0;
  text-align: center; }

.compare-page .page-title {
  margin: 25px 0 20px; }

.compare-page a.back {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.compare-page .section-box {
  margin: 0 0 50px; }

.compare-page .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-bottom: 2px solid #f2f2f2;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 30px;
  padding: 0 0 10px;
  text-transform: uppercase; }

.compare-page .product-column:not(:first-of-type) .section-title,
.compare-page .product-column:not(:first-of-type) .test-score .season-title {
  outline: 0;
  text-indent: -9999em; }

.compare-page #compare-table {
  margin-top: 100px; }
  .compare-page #compare-table .product-tile-content {
    position: relative; }
  .compare-page #compare-table .product-winter-use {
    position: absolute;
    right: 0; }

.compare-page .two-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .two-columns:nth-child(1) {
      padding-left: 0.625rem; }
      .compare-page .two-columns:nth-child(1) .row-spaces {
        padding-right: 8.33333%; }
    .compare-page .two-columns:nth-child(2) {
      padding-right: 0.625rem; }
      .compare-page .two-columns:nth-child(2) .row-spaces {
        padding-left: 8.33333%; } }

.compare-page .three-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .three-columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
      .compare-page .three-columns:nth-child(1) {
        padding-left: 0.625rem; }
        .compare-page .three-columns:nth-child(1) .row-spaces {
          padding-right: 2.1865rem; }
      .compare-page .three-columns:nth-child(2) .row-spaces {
        padding-left: 1.40575rem;
        padding-right: 1.40575rem; }
      .compare-page .three-columns:nth-child(3) {
        padding-right: 0.625rem; }
        .compare-page .three-columns:nth-child(3) .row-spaces {
          padding-left: 2.1865rem; } }

.compare-page .product-tile {
  height: auto !important;
  margin: 0 0 25px;
  text-align: center; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-tile .compare-remove-product {
      display: inline-block !important; } }
  @media screen and (min-width: 64em) {
    .compare-page .product-tile .product-image:hover + .product-name, .compare-page .product-tile .product-name:hover {
      /* stylelint-disable-line */ }
      .compare-page .product-tile .product-image:hover + .product-name .compare-remove-product, .compare-page .product-tile .product-name:hover .compare-remove-product {
        color: #ff6900;
        display: inline-block !important;
        margin: 0 0 0 5px;
        position: absolute;
        z-index: 2; } }
  .compare-page .product-tile .recommended-bagde,
  .compare-page .product-tile .promo-badge,
  .compare-page .product-tile .product-attributes,
  .compare-page .product-tile .availability-msg,
  .compare-page .product-tile .product-size,
  .compare-page .product-tile .tested-bykal-badge,
  .compare-page .product-tile .aditional-details {
    display: none; }
  .compare-page .product-tile .product-badge {
    position: absolute; }
  .compare-page .product-tile .product-image {
    margin: 0 auto;
    max-width: 215px;
    padding: 0 0 25px; }
    .compare-page .product-tile .product-image a {
      display: block; }
  .compare-page .product-tile .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    position: relative; }
    .compare-page .product-tile .product-name .brand-name {
      display: block;
      font-size: 16px;
      margin: 0 0 5px; }
    .compare-page .product-tile .product-name .name-link {
      color: #000; }
  .compare-page .product-tile .product-review {
    height: 25px;
    margin: 5px 0 25px; }
  .compare-page .product-tile .sa_s28_display_avg_rating {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .compare-page .product-tile .sa_s28_display_avg_rating ul {
      margin: 0; }
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_rating,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_points_rating {
      display: inline-block; }
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_leftBrackets,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_productReviewCount,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_masterCategoryPageText,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_childCategoryPageText,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_rightBrackets {
      display: none; }
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_points_rating span {
      color: #000;
      font-size: 0.75rem;
      margin: 0 0 0 5px; }
  .compare-page .product-tile .price-qty-box {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .compare-page .product-tile .product-pricing {
    text-align: left;
    width: 75%; }
    .compare-page .product-tile .product-pricing .price-sales,
    .compare-page .product-tile .product-pricing .price-standard {
      margin-bottom: -5px; }
    .compare-page .product-tile .product-pricing .price-standard + .price-sales {
      margin: 0 0 0 15px; }
  .compare-page .product-tile .product-price {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
  .compare-page .product-tile .rebate {
    margin: 0 0 0 15px; }
  .compare-page .product-tile .price-standard + .price-sales + .rebate {
    bottom: -20px;
    left: 0;
    position: absolute; }
  .compare-page .product-tile .inventory {
    float: right;
    width: 25%; }
  .compare-page .product-tile .quantity label,
  .compare-page .product-tile .quantity input.product-quantity {
    display: none; }
  .compare-page .product-tile .product-quantity select {
    margin: 0;
    max-width: 85px; }
  .compare-page .product-tile .product-add-to-cart {
    display: block;
    float: right;
    padding: 30px 0 0;
    text-align: right;
    width: 100%; }

.compare-page .button-group {
  margin: 0;
  text-align: right; }

.compare-page .categories .category {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #999;
  display: block;
  font-size: 0.8125rem; }
  .compare-page .categories .category:not(:first-of-type) {
    margin: 10px 0 0; }

.compare-page .summary .attribute,
.compare-page .tire-specs .attribute {
  font-size: 0.9375rem;
  margin: 0;
  padding: 7px 12px; }
  .compare-page .summary .attribute::before, .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::before,
  .compare-page .tire-specs .attribute::after {
    content: ' ';
    display: table; }
  .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::after {
    clear: both; }
  .compare-page .summary .attribute:nth-of-type(odd),
  .compare-page .tire-specs .attribute:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .summary .attribute:nth-of-type(even),
  .compare-page .tire-specs .attribute:nth-of-type(even) {
    padding: 9px 12px; }

.compare-page .summary .name,
.compare-page .tire-specs .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.compare-page .summary .value,
.compare-page .tire-specs .value {
  float: right;
  text-transform: capitalize; }

.compare-page .test-score .section {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem;
  padding: 12px; }
  .compare-page .test-score .section:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .test-score .section ul {
    margin: 0; }
  .compare-page .test-score .section li::before, .compare-page .test-score .section li::after {
    content: ' ';
    display: table; }
  .compare-page .test-score .section li::after {
    clear: both; }
  .compare-page .test-score .section .attribute-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.9375rem; }

.compare-page .test-score .label-title {
  float: left;
  padding-right: 10px;
  width: calc(100% - 75px); }

.compare-page .test-score .raiting {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 75px; }

.compare-page .test-score [class^="icon-"]::before,
.compare-page .test-score [class*=" icon-"]::before {
  margin: 0; }

.compare-page .test-score i {
  color: #ff6900;
  float: left; }

.compare-page .test-score .season-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 15px; }
  .compare-page .test-score .season-title:not(:first-of-type) {
    margin: 30px 0 15px; }

.compare-page .product-set .product-tile {
  margin: 0; }
  .compare-page .product-set .product-tile .product-size .product-attributes {
    display: block; }

.compare-page .product-set .size-price-qty-box .box-spacing {
  margin: 0 0 25px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .size-price-qty-box .box-spacing {
      margin: 0 0 35px; } }

.compare-page .product-set .product-size {
  display: inline-block;
  text-align: left;
  width: 18%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .product-size {
      width: 30%; } }

.compare-page .product-set .priceQtyCompareForm {
  display: inline-block;
  width: 82%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .priceQtyCompareForm {
      width: 70%; } }
  .compare-page .product-set .priceQtyCompareForm .promotion {
    display: none; }

.compare-page .product-set .product-set-item::before, .compare-page .product-set .product-set-item::after {
  content: ' ';
  display: table; }

.compare-page .product-set .product-set-item::after {
  clear: both; }

.compare-page .product-set .product-set-details {
  display: inline-block;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  width: 65%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .product-set-details {
      width: 73%; }
      .compare-page .product-set .product-set-details .product-price {
        display: block; }
      .compare-page .product-set .product-set-details .price-sales,
      .compare-page .product-set .product-set-details .price-standard {
        margin-bottom: 0; }
      .compare-page .product-set .product-set-details .price-standard + .price-sales {
        margin: 2px 0 0; } }

.compare-page .product-set .product-pricing {
  width: 100%; }

.compare-page .product-set .add-sub-product {
  display: inline-block;
  float: right;
  text-align: right;
  width: 35%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .add-sub-product {
      width: 25%; } }
  .compare-page .product-set .add-sub-product .product-quantity {
    float: none;
    width: auto; }

.compare-page .product-set .product-add-to-cart {
  float: none;
  padding: 0; }

.compare-page .product-set .set-attr-titles {
  line-height: 1;
  padding: 0 12px 12px;
  text-align: right; }

.compare-page .product-set .set-attribute-name {
  display: inline-block;
  font-size: 15px;
  padding-left: 0.625rem;
  width: 18%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .set-attribute-name {
      width: 33%; } }

.compare-page .product-set .summary .attribute > .value,
.compare-page .product-set .tire-specs .attribute > .value {
  display: inline-block;
  padding-left: 0.625rem;
  text-align: right;
  width: 18%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .summary .attribute > .value,
    .compare-page .product-set .tire-specs .attribute > .value {
      width: 33%; } }

.compare-page .product-set .summary .attribute > .name,
.compare-page .product-set .tire-specs .attribute > .name {
  float: left; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .summary .attribute > .name,
    .compare-page .product-set .tire-specs .attribute > .name {
      width: 34%; } }

.compare-page .product-set .tire-specs .value-rear .name {
  display: none; }

.compare-page .product-set .tire-specs .finish_attribute .value {
  width: 66%; }

.compare-page .product-set .tire-specs .finish_attribute .value:not(.value-rear) {
  display: none; }

.financing-blocks.active-plan .cb-column-child {
  background-color: #ff6900;
  color: #fff; }
  .financing-blocks.active-plan .cb-column-child h2,
  .financing-blocks.active-plan .cb-column-child a {
    color: #fff; }
  .financing-blocks.active-plan .cb-column-child a {
    text-decoration: none; }

.financing-blocks .cb-column-child {
  background-color: #fff;
  color: #000;
  min-height: 230px;
  position: relative;
  text-align: center; }
  .financing-blocks .cb-column-child h2 {
    color: #ff6900;
    font-size: 5.625rem;
    margin-bottom: 0;
    padding-top: 20px; }
  .financing-blocks .cb-column-child p.financing-month-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.875rem;
    margin-bottom: 56px; }
    .financing-blocks .cb-column-child p.financing-month-text + p.financing-small-info {
      letter-spacing: -2px;
      position: relative; }
  .financing-blocks .cb-column-child p.financing-info {
    font-size: 1.45rem;
    line-height: 1.6rem;
    margin-bottom: 0;
    padding: 0 10px; }
  .financing-blocks .cb-column-child p.financing-small-info {
    bottom: 12px;
    font-size: 1.5rem;
    left: 0;
    position: absolute;
    right: 0; }
  .financing-blocks .cb-column-child a {
    color: #000;
    text-decoration: underline; }
  .financing-blocks .cb-column-child img {
    margin: 40px auto 0;
    max-height: 90px;
    width: auto; }

.financing-blocks.steps-to-take .cb-column-child {
  border: 7px solid #1e1e1e;
  min-height: 438px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .financing-blocks.steps-to-take .cb-column-child {
      min-height: 505px; } }
  .financing-blocks.steps-to-take .cb-column-child:hover {
    background-color: #fff;
    color: #000; }
    .financing-blocks.steps-to-take .cb-column-child:hover h2,
    .financing-blocks.steps-to-take .cb-column-child:hover a {
      color: #000; }
    .financing-blocks.steps-to-take .cb-column-child:hover a {
      text-decoration: underline; }
  .financing-blocks.steps-to-take .cb-column-child p.financing-small-info {
    font-size: 0.8125rem;
    line-height: 1.115rem;
    padding: 0 22px; }

.financing-blocks.steps-to-take h2 {
  color: #000;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 30px 0 18px; }

.atroot .financing-blocks:not(.steps-to-take):nth-child(1),
.atroot .financing-blocks:not(.steps-to-take):nth-child(2) {
  border-right: 2px solid #ff3900; }
  @media screen and (max-width: 47.9375em) {
    .atroot .financing-blocks:not(.steps-to-take):nth-child(1),
    .atroot .financing-blocks:not(.steps-to-take):nth-child(2) {
      border-right: 0;
      position: relative; }
      .atroot .financing-blocks:not(.steps-to-take):nth-child(1)::before,
      .atroot .financing-blocks:not(.steps-to-take):nth-child(2)::before {
        border-bottom: 2px solid #ff3900;
        bottom: 0;
        content: "";
        height: 1px;
        left: 37%;
        position: absolute;
        width: 25%; } }

.last-monthly-column {
  padding-bottom: 50px !important; }
  @media screen and (max-width: 47.9375em) {
    .last-monthly-column {
      border-top: 2px solid #f2f2f2; } }
  @media screen and (min-width: 48em) {
    .last-monthly-column .columns {
      border-top: 2px solid #ff6900;
      padding-top: 50px; } }
  .last-monthly-column .cb-column-child h2 {
    color: #ff6900;
    font-size: 5.625rem;
    margin-bottom: 0;
    text-align: center; }
  .last-monthly-column .cb-column-child p.financing-month-text {
    font-size: 1.875rem;
    font-weight: bold;
    margin-bottom: 41px;
    text-align: center; }
  .last-monthly-column .cb-column-child p.financing-info-1,
  .last-monthly-column .cb-column-child p.financing-info-2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #ff6900;
    line-height: 1em; }
  .last-monthly-column .cb-column-child p.financing-info-1 {
    font-size: 2rem; }
  .last-monthly-column .cb-column-child p.financing-info-2 {
    font-size: 3.2rem; }
  .last-monthly-column .cb-column-child p.financing-small-info {
    font-size: 22px;
    letter-spacing: -2px; }
  @media screen and (min-width: 48em) {
    .last-monthly-column .cb-column-child .cb-column-child-copy:last-child {
      padding: 0 50px; } }
  @media screen and (max-width: 47.9375em) {
    .last-monthly-column .cb-column-child .cb-column-child-copy:last-child {
      text-align: center; }
      .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.financing-info-1,
      .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.financing-info-2 {
        text-align: left; }
      .last-monthly-column .cb-column-child .cb-column-child-copy:last-child a {
        margin: 0 auto;
        width: 90%; } }
  .last-monthly-column .cb-column-child .cb-column-child-copy:last-child a {
    text-align: center;
    width: 100%; }
  .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.terms-conditions {
    text-align: center; }
    .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.terms-conditions a {
      color: #000;
      font-size: 13px;
      text-align: center;
      text-decoration: underline; }

.cb-column-child-copy.single-column {
  text-align: center; }
  .cb-column-child-copy.single-column p.terms-conditions a {
    color: #000;
    font-size: 15px;
    text-align: center;
    text-decoration: none; }

.financing-apply-now-cta {
  margin-bottom: 50px; }
  .financing-apply-now-cta a {
    min-width: 220px; }
  .financing-apply-now-cta .cb-cta {
    margin: 0; }

#results-info-from-gsp {
  margin: 25px 0 50px; }
  #results-info-from-gsp img {
    display: block;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      #results-info-from-gsp img {
        margin-bottom: 20px; } }
  #results-info-from-gsp h4 {
    margin-bottom: 24px; }
  #results-info-from-gsp #change-responses-cta {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 13px; }
  #results-info-from-gsp.catcolor-all-weather h4 span {
    color: #bf1a8d; }
  #results-info-from-gsp.catcolor-winter h4 span {
    color: #20c3f3; }
  #results-info-from-gsp.catcolor-3-season h4 span,
  #results-info-from-gsp.catcolor-all-season h4 span {
    color: #fbb116; }
  #results-info-from-gsp.catcolor-performance h4 span {
    color: #6353a3; }
  #results-info-from-gsp.catcolor-touring h4 span {
    color: #00a651; }
  #results-info-from-gsp.catcolor-mud-terrain h4 span {
    color: #422800; }
  #results-info-from-gsp.catcolor-sport-truck h4 span {
    color: #9ecf7c; }
  #results-info-from-gsp.catcolor-all-terrain h4 span {
    color: #7a5226; }
  #results-info-from-gsp.catcolor-commercial h4 span {
    color: #a7a9ac; }
  #results-info-from-gsp.catcolor-ultra-high-performance h4 span {
    color: #a499ca; }

@media screen and (min-width: 64em) {
  #guidedSellingPathWrapper .atroot {
    padding: 0; } }

#guidedSellingPathWrapper #gspMobileClose {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 12px;
  padding: 20px 0; }

#guidedSellingPathWrapper h4 {
  font-size: 1.125rem;
  margin: 0 0 30px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper h4 {
      font-size: 1.3125rem;
      margin-top: 50px;
      text-transform: none; } }

#guidedSellingPathWrapper h3 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  padding: 1.5em 0 0.75em; }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper h3 {
      font-size: 1.25rem; } }

#guidedSellingPathWrapper .gsp-question-wrapper {
  background: rgba(242, 242, 242, 0.85); }

#guidedSellingPathWrapper .gsp-question-number {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border: 3px solid #ff6900;
  border-radius: 1em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 2em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 2em;
  margin: 0 1em 0 -3.5em;
  min-width: 2em;
  width: 2em; }

#guidedSellingPathWrapper .gsp-question-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #202020 url("../images/kaltire/question-header-image.png") -42px center no-repeat;
  background-size: 194px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-title {
      font-size: 1.375rem;
      padding: 0 0.625rem; } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-title {
      background-color: rgba(32, 32, 32, 0.85);
      background-image: url("../images/kaltire/question-header-image@2x.png");
      background-position: -66px center;
      background-size: 48%; } }
  #guidedSellingPathWrapper .gsp-question-title > div {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    line-height: 1.25em;
    padding-bottom: 1.375em;
    padding-top: 1.375em; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-title > div {
        padding-bottom: 0.9775em;
        padding-right: 3rem;
        padding-top: 0.9775em; } }
    @media screen and (min-width: 64em) {
      #guidedSellingPathWrapper .gsp-question-title > div {
        padding-bottom: 1.4095em;
        padding-top: 1.4095em; } }

#guidedSellingPathWrapper .gspAnswer {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

#guidedSellingPathWrapper .fa-times {
  color: #fff;
  cursor: pointer;
  margin-top: -11px;
  position: absolute;
  right: 20px;
  top: 50%; }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .fa-times {
      right: 32px; } }
  #guidedSellingPathWrapper .fa-times:hover {
    color: #f2f2f2; }

#guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer {
  background-position: top center;
  background-size: cover;
  -ms-flex-preferred-size: calc(50% - 22.5px);
      flex-basis: calc(50% - 22.5px);
  flex-basis: calc(50% - 22.5px);
  height: 8.5em;
  margin: 0 0 1.2em 0.9375rem;
  max-width: calc(50% - 22.5px); }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer {
      -ms-flex-preferred-size: calc(33% - 20px);
          flex-basis: calc(33% - 20px);
      flex-basis: calc(33% - 20px);
      height: 11em;
      margin: 0 0.625rem 1.2em;
      max-width: calc(33% - 20px); } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer {
      -ms-flex-preferred-size: calc(20% - 20px);
          flex-basis: calc(20% - 20px);
      flex-basis: calc(20% - 20px);
      height: 12.5em;
      max-width: calc(20% - 20px); } }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer span {
    background: #fff;
    color: #000;
    font-size: 0.75rem;
    font-weight: bold;
    height: 37px;
    padding: 0 6px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    word-wrap: break-word;
    z-index: 2; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer span {
        font-size: 0.8125rem;
        height: 43px; } }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer:hover span {
    height: 49px; }

#guidedSellingPathWrapper .gsp-question-style-multiselect .selected {
  border: 0;
  position: relative; }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .selected span {
    background: #ff6900; }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .selected::after {
    background: rgba(0, 0, 0, 0.4);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1; }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .selected::before {
    border: 3px solid #fff;
    border-radius: 1.6875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #fff;
    content: "\f00c";
    display: block;
    font-family: fontawesome;
    font-size: 1.4375rem;
    height: 3rem;
    left: 50%;
    margin-left: -1.5rem;
    position: absolute;
    text-align: center;
    top: 1.6875rem;
    width: 3rem;
    z-index: 2; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-style-multiselect .selected::before {
        border-width: 5px;
        font-size: 1.75rem;
        height: 3.4375rem;
        margin-left: -1.6875rem;
        top: 3.125rem;
        width: 3.4375rem; } }

#guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer {
  -ms-flex-item-align: start;
      align-self: flex-start; }
  @media screen and (max-width: 47.9375em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer {
      -ms-flex-item-align: start;
          align-self: flex-start;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      width: 50px; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:first-child {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:first-child h4,
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:first-child p {
      text-align: left; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:last-child {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:last-child h4,
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:last-child p {
      text-align: right; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer h4 {
    font-size: 0.8125rem;
    margin: 2em 0 0.75em;
    position: relative;
    text-align: center;
    text-transform: uppercase; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer p {
    color: rgba(128, 130, 133, 0.7);
    font-size: 0.75rem;
    line-height: 1em;
    max-width: 200px;
    text-align: center;
    text-align: center; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer.selected {
    border: 0; }

#guidedSellingPathWrapper .gsp-question-style-radioselecta .option-bg {
  background: #ff6900;
  border-radius: 24px;
  height: 47px;
  margin-top: 3.75em;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .option-bg {
      margin-top: 9.375em; } }

#guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer,
#guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  color: #000;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer p,
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer p {
    font-size: inherit;
    line-height: 1.3125em;
    width: 14rem; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer strong,
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer strong {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }

#guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  height: 14.1875rem;
  margin: 30px 1.875rem; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer {
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%;
      height: 14.1875rem;
      margin: 30px 1.875rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:last-child {
        margin-left: 0.9375rem;
        margin-right: 1.25rem; } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer {
      height: 14.1875rem;
      margin: 30px 1.875rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer p {
        text-align: center;
        width: 12.13rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:last-child {
        margin-left: 0.9524em;
        margin-right: 0; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:hover {
    border: 4px solid #ff6900; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer span {
    background: #ff6900;
    color: #fff;
    font-size: 0.75rem;
    font-weight: bold;
    height: 37px;
    position: relative;
    text-transform: uppercase;
    z-index: 2; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer span {
        font-size: 0.8125rem;
        height: 43px; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:hover span {
    height: 49px; }

#guidedSellingPathWrapper .gsp-question-style-radioselectb img {
  height: 4.375rem;
  margin-bottom: 0.8rem; }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectb img {
      height: 5.625rem; } }

#guidedSellingPathWrapper .gsp-question-style-radioselectb .selected {
  border: 4px solid #ff6900;
  position: relative; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .selected::after {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .selected::before {
    background: #fff;
    border: 3px solid #fff;
    border-radius: 1.6875rem;
    border-width: 5px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #ff6900;
    content: "\f00c";
    display: block;
    font-family: fontawesome;
    font-size: 1.5rem;
    height: 3.0375rem;
    position: absolute;
    right: 0.725rem;
    text-align: center;
    top: 0.525rem;
    width: 3.0375rem;
    z-index: 2; }

#guidedSellingPathWrapper .gsp-question-style-radioselectc .gsp-question-number {
  margin-left: -3.75em; }

#guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
  height: 13rem;
  margin: 0 0.9375rem 1.875rem; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
      height: 13.8125rem;
      margin-top: -0.4375rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer:first-child {
        margin-left: 0; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      height: 17rem; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer img {
    height: 8.625rem; }
    @media screen and (min-width: 64em) {
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer img {
        height: 10.8125rem; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer p {
    margin-bottom: 0.7rem;
    width: 14rem; }
    @media screen and (min-width: 64em) {
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer p {
        font-size: 1.375rem;
        margin-bottom: 0.7rem;
        padding-left: 0.9375rem;
        text-align: left;
        width: 19rem; } }

#guidedSellingPathWrapper .button {
  background: transparent;
  border: 3px solid #ff6900;
  color: #000;
  margin-bottom: 3.25em;
  padding: 13px 2.5em;
  text-transform: uppercase; }
  #guidedSellingPathWrapper .button:hover {
    background: #ffa566; }
  #guidedSellingPathWrapper .button.disabled {
    background: #808285;
    border-color: #808285;
    color: #fff; }

@media screen and (max-width: 47.9375em) {
  .gsp-question-style-radioselecta .gspAnswer h4,
  .gsp-question-style-radioselecta .gspAnswer p {
    display: none; }
  .gsp-question-style-radioselecta .gspAnswer:first-child h4,
  .gsp-question-style-radioselecta .gspAnswer:first-child p, .gsp-question-style-radioselecta .gspAnswer:last-child h4,
  .gsp-question-style-radioselecta .gspAnswer:last-child p {
    display: block; } }

.gsp-question-style-radioselecta .gspAnswer .option {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border: 1px solid #ff6900;
  border-radius: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 36px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: -42px 5px 0;
  width: 36px; }
  .gsp-question-style-radioselecta .gspAnswer .option::after {
    background: rgba(128, 130, 133, 0.2);
    border-radius: 10px;
    content: "";
    display: block;
    height: 15px;
    width: 15px; }

.gsp-question-style-radioselecta .gspAnswer.selected .option,
.gsp-question-style-radioselecta .gspAnswer .option:hover {
  border: 1px solid #fff; }
  .gsp-question-style-radioselecta .gspAnswer.selected .option::after,
  .gsp-question-style-radioselecta .gspAnswer .option:hover::after {
    background: #ff6900; }

@media screen and (min-width: 64em) {
  .gsp-question-style-radioselectc .gsp-question-answers ul {
    pointer-events: none; } }

.gsp-question-style-radioselectc .gsp-question-answers ul:hover .gspAnswer:hover {
  border-color: #ff6900;
  border-width: 4px; }

.gsp-question-style-radioselectc .gspAnswer {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  font-size: 1.125rem; }
  @media screen and (min-width: 48em) {
    .gsp-question-style-radioselectc .gspAnswer {
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%; } }
  @media screen and (min-width: 64em) {
    .gsp-question-style-radioselectc .gspAnswer {
      font-size: 1.3125rem;
      pointer-events: auto; }
      .gsp-question-style-radioselectc .gspAnswer.selected {
        border-color: #ff6900; } }
  .gsp-question-style-radioselectc .gspAnswer strong::after {
    content: ","; }

.noresults-page p,
.noresults-page a {
  font-size: 0.875rem; }

.noresults-page .search-phrase {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .noresults-message {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  margin: 0 0 30px; }
  .noresults-page .noresults-message p {
    font-size: 1.125rem; }

.noresults-page .section-title {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .new-search,
.noresults-page .related-search,
.noresults-page .resource-center {
  margin: 0 0 30px; }

.noresults-page .new-search input {
  height: 45px;
  margin: 0; }

.noresults-page .new-search .button {
  margin: 0 0 0 7px; }
  @media screen and (max-width: 47.9375em) {
    .noresults-page .new-search .button {
      height: 45px;
      padding: 0 10px; } }

.noresults-page .new-search .icon-search {
  font-size: 1.0625rem; }

.noresults-page .related-search .refinement-header {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .related-search ul {
  margin: 0; }

.noresults-page .related-search li {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 15px; }

@media screen and (max-width: 47.9375em) {
  .noresults-page .customer-service {
    border-top: 2px solid #ccc;
    padding: 30px 0 0; } }

.noresults-page .customer-service .box {
  margin: 0 0 20px; }

.noresults-page .customer-service h4 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1rem;
  margin: 0; }
  .noresults-page .customer-service h4 span {
    padding: 0 0 0 8px; }

.noresults-page .customer-service a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem; }

.noresults-page .customer-service p,
.noresults-page .customer-service a {
  margin: 0 0 0 30px; }

.noresults-page .noresults-selector {
  margin-top: 3.125rem; }
  .noresults-page .noresults-selector p {
    line-height: 1.6875rem; }
  .noresults-page .noresults-selector .button.hollow {
    color: inherit; }

@media screen and (min-width: 48em) {
  .noresults-page .noresults-message {
    background: #202020;
    color: #fff;
    margin: 0 0 45px;
    padding: 45px 0;
    text-align: center; }
  .noresults-page .medium-centered {
    left: 50%;
    position: relative;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .noresults-page .noresults-selector {
    background-image: url("../images/kaltire/question-header-image@2x.png");
    background-position: 550px center;
    background-repeat: no-repeat;
    background-size: 600px;
    margin-top: 3.125rem; } }

@media screen and (min-width: 64em) {
  .noresults-page .noresults-selector {
    background-position: 150% center; } }

.visualizer-wrapper {
  border: 6px solid #f2f2f2;
  margin-bottom: 1.875rem; }

.visualizer-container {
  padding: 0.625rem 0.75rem; }
  @media screen and (min-width: 48em) {
    .visualizer-container .visualizer-image {
      bottom: 4.175rem;
      position: absolute;
      right: 0.625rem; } }
  .visualizer-container .visualizer-tools {
    color: #808285;
    float: right;
    font-size: 13px;
    position: relative;
    z-index: 1; }
    .visualizer-container .visualizer-tools a {
      color: #808285; }
      .visualizer-container .visualizer-tools a:hover {
        text-decoration: underline; }
    .visualizer-container .visualizer-tools .minimize {
      display: none; }
  .visualizer-container .product-tile {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  .visualizer-container .brand-name {
    font-size: 17px; }
  .visualizer-container .product-name {
    font-size: 22px;
    line-height: 1;
    margin-bottom: 1.5rem; }
  .visualizer-container .finish {
    margin-bottom: 2.625rem;
    text-transform: capitalize; }
  .visualizer-container .finish,
  .visualizer-container .attribute {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem; }
    .visualizer-container .finish span,
    .visualizer-container .attribute span {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
  .visualizer-container .attribute {
    color: #ff6900;
    margin-bottom: 1.5rem; }
    .visualizer-container .attribute span {
      color: #000;
      display: block; }
    .visualizer-container .attribute em {
      font-style: normal; }
      .visualizer-container .attribute em::after {
        content: "\f10e";
        font-family: fontawesome;
        font-size: 6px;
        vertical-align: super; }
  .visualizer-container .product-pricing {
    float: none;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .visualizer-container .product-pricing .price-standard {
        display: inline-block; } }
    @media screen and (min-width: 48em) {
      .visualizer-container .product-pricing .price-standard + .price-sales {
        float: none; } }
  .visualizer-container .product-price {
    color: #ff6900;
    margin-bottom: 1.25rem; }
    .visualizer-container .product-price::before, .visualizer-container .product-price::after {
      content: ' ';
      display: table; }
    .visualizer-container .product-price::after {
      clear: both; }
  .visualizer-container .visualizer-tip {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    border: 0;
    color: #ff6900;
    font-size: 11px;
    margin-bottom: 1.25rem; }
    @media screen and (min-width: 48em) {
      .visualizer-container .visualizer-tip {
        bottom: 5px;
        position: absolute;
        right: 0.625rem; } }
  .visualizer-container .relative {
    position: relative; }

.visualizer-carousel {
  border-top: 6px solid #f2f2f2;
  padding: 1.25rem 3.5rem 0;
  position: relative; }
  .visualizer-carousel .carousel-wrapper {
    height: 14rem; }
  .visualizer-carousel .carousel-container {
    margin: 0; }

.v-carousel-item {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  cursor: pointer;
  font-size: 12px;
  height: 14rem;
  outline: none;
  text-align: center; }
  .v-carousel-item img {
    outline: none; }
  .v-carousel-item a {
    display: block;
    margin: 0 auto;
    max-width: 120px;
    outline: none; }
  .v-carousel-item .price {
    color: #808285; }
    .v-carousel-item .price .currency-code {
      font-size: 100%;
      top: 0; }
  .v-carousel-item.active, .v-carousel-item:hover {
    border-bottom: 6px solid #ff6900; }

.visualizer-colors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.25rem 0 0.625rem; }
  @media screen and (min-width: 48em) {
    .visualizer-colors {
      bottom: 0.625rem;
      left: 50%;
      position: absolute;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); } }
  .visualizer-colors li {
    border: 1px solid #808285;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    height: 1rem;
    line-height: 1rem;
    margin: 5px 2px;
    min-width: 1rem;
    overflow: hidden;
    position: relative;
    text-indent: -9999px;
    width: 1rem; }
    @media screen and (max-width: 47.9375em) {
      .visualizer-colors li {
        margin: 5px 2px; } }
    .visualizer-colors li::before {
      content: "\f111";
      font-family: fontawesome;
      font-size: 20px;
      left: 50%;
      margin: -0.5rem 0 0 -0.5rem;
      position: absolute;
      text-indent: 0;
      top: 50%; }
    .visualizer-colors li.active, .visualizer-colors li:hover {
      border-color: #ff6900; }

@media screen and (min-width: 48em) {
  #v-visualizer-large .product-tile {
    min-height: 24rem; } }

#v-visualizer-large .visualizer-tools .minimize {
  display: block; }

#v-visualizer-large .visualizer-tools .expand {
  display: none; }

#v-visualizer-large .product-tile {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.carousel-btn {
  border: 3px solid #ff6900;
  color: #000;
  height: 2rem;
  left: 1rem;
  line-height: 1.75rem;
  position: absolute;
  text-align: center;
  top: 4rem;
  width: 2rem; }
  .carousel-btn.slick-disabled {
    border-color: #e6e6e6;
    color: #e6e6e6; }
  .carousel-btn.carousel-next {
    left: auto;
    right: 1rem; }

#v-pdp-toplevelcomponent {
  position: relative; }
  @media screen and (min-width: 48em) {
    #v-pdp-toplevelcomponent #v-vehicle-image {
      min-height: 17.5rem; }
    #v-pdp-toplevelcomponent .relative {
      padding-bottom: 3.125rem; } }

#v-visualizer-default-vehicle-small {
  text-align: center; }

.login-wrapper {
  margin-bottom: 6.25rem;
  padding: 0.3125rem 0; }
  @media screen and (min-width: 48em) {
    .login-wrapper {
      border: 5px solid rgba(242, 242, 242, 0.8);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-bottom: 2.813rem;
      padding-top: 4.063rem; } }
  .pt_cart .login-wrapper {
    margin-bottom: 0; }
  .login-wrapper h5 {
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper h5 {
        margin-bottom: 1.375rem; } }
  .login-wrapper .dialog-required {
    margin: 0 0 1rem;
    text-align: left; }
  .login-wrapper .bordered-end {
    border-bottom: 1px solid #f2f2f2;
    margin-bottom: 2.375rem;
    padding-bottom: 0.3125rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .bordered-end {
        border-bottom: 0;
        border-right: 1px solid #f2f2f2;
        margin-bottom: 0;
        margin-right: 0.625rem;
        padding-bottom: 0;
        padding-right: 0.625rem; }
        .login-wrapper .bordered-end .button-group {
          margin-bottom: 0; } }
  .login-wrapper .password-reset {
    font-size: 0.6875rem;
    line-height: 1.625rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .password-reset {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        font-size: 0.75rem; } }
  .login-wrapper .login-rememberme {
    margin: 0.9375rem 0 1.875rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .login-rememberme {
        margin-bottom: 3.125rem; } }
  .login-wrapper .error-form {
    margin-bottom: 1.125rem; }
  .login-wrapper .login-create-account p {
    margin: 0.1875rem 0 1.75rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .login-create-account p {
        font-size: 0.875rem;
        line-height: 1.1875rem;
        margin-bottom: 2.875rem; } }

.login-page-title,
.brands-landing-wrapper .brands-page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 21px;
  margin: 20px 0;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .login-page-title,
    .brands-landing-wrapper .brands-page-title {
      font-size: 1.625rem;
      margin: 30px 0 2.9375rem; } }
  @media screen and (min-width: 48em) {
    .login-page-title,
    .brands-landing-wrapper .brands-page-title {
      margin: 50px 0 2.9375rem; } }

.ui-widget-overlay {
  background: rgba(0, 0, 0, 0.9);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100; }

.ui-widget {
  font-size: 0.875rem;
  max-width: 100%;
  outline: none;
  padding: 0 0.9375rem;
  z-index: 101; }
  .ui-widget p {
    line-height: 1.375rem;
    margin-bottom: 1.375rem;
    margin-bottom: 1.5625rem; }
    @media screen and (min-width: 48em) {
      .ui-widget p {
        margin-bottom: 1rem; } }
  .ui-widget .dialog-content {
    background: #fff;
    padding: 1.0625rem 1.25rem; }
    @media screen and (min-width: 48em) {
      .ui-widget .dialog-content {
        padding: 1.6875rem 1.875rem 2.6875rem; } }
  .ui-widget h1 {
    font-size: 1.125rem;
    margin-bottom: 1.5625rem; }
    @media screen and (min-width: 48em) {
      .ui-widget h1 {
        margin-bottom: 1.1875rem; } }
  .ui-widget .ui-dialog-title {
    display: none; }
  .ui-widget .ui-dialog-titlebar-close {
    border: 0;
    outline: none;
    padding: 0;
    position: absolute;
    right: 35px;
    top: 12px; }
    @media screen and (min-width: 48em) {
      .ui-widget .ui-dialog-titlebar-close {
        right: 47px;
        top: 24px; } }
  .ui-widget .ui-button-icon-only .ui-button-text {
    display: none; }
  .ui-widget .ui-button-icon-only .ui-button-icon-primary::after {
    color: #ff6900;
    content: "\f00d";
    font-family: fontawesome;
    font-size: 1.5rem; }
  .ui-widget .ui-button-icon-only .ui-button-icon-primary:hover::after {
    color: #db5a00; }
  .ui-widget .ui-dialog-buttonpane {
    background: #fff;
    padding: 1.5rem 1.25rem; }
    @media screen and (min-width: 48em) {
      .ui-widget .ui-dialog-buttonpane {
        padding: 0 1.875rem 1.5em; } }
  .ui-widget.no-buttonpane .ui-dialog-buttonpane {
    display: none; }
  .ui-widget .button-modal {
    margin-top: -2rem;
    padding: 0.75rem 18px; }

.password-container {
  display: inline-block;
  width: 100%; }
  .password-container .field-wrapper {
    position: relative; }

.password-icon {
  cursor: pointer;
  height: 20px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px; }
  .password-icon::after {
    background-image: url("../images/eye-show-password.svg");
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    cursor: pointer;
    display: inline-block;
    height: 20px;
    width: 20px; }
  .password-icon.password-show::after {
    background-image: url("../images/eye-hide-password.svg"); }

.forgot-password {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.8125rem; }

.password-reset-dialog {
  max-width: 42rem; }
  @media screen and (min-width: 48em) {
    .password-reset-dialog p {
      font-size: 0.875rem; }
    .password-reset-dialog .form-row {
      float: left;
      margin-right: 0.625rem;
      min-width: 400px; }
    .password-reset-dialog .button-group {
      display: inline-block;
      margin-top: 1.375rem; }
    .password-reset-dialog strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; } }
  .password-reset-dialog .button-group {
    margin-bottom: 0; }

.pt_account .medium-centered {
  margin-left: auto;
  margin-right: auto; }

.register-page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 21px;
  margin: 20px 0;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .register-page-title {
      font-size: 1.625rem;
      margin: 30px auto 2.5rem; } }
  @media screen and (min-width: 64em) {
    .register-page-title {
      margin-top: 20px; } }
  .register-page-title.has-subtitle {
    margin-bottom: 0.5rem; }

.register-breadcrumb {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  font-weight: bold;
  margin-top: 40px; }

.register-form {
  margin-bottom: 4.875rem; }
  .register-form .dialog-required {
    margin: 0 0 1rem;
    text-align: left; }
  .register-form .info-box {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285; }
    .register-form .info-box a {
      color: #808285;
      text-decoration: underline; }
      .register-form .info-box a:hover {
        text-decoration: none; }
    .register-form .info-box p {
      font-size: 0.875rem;
      margin-bottom: 1.75rem; }
      @media screen and (min-width: 48em) {
        .register-form .info-box p {
          margin-bottom: 3rem; } }
  .register-form .hidden-caption .form-caption {
    display: none; }
  .register-form .newsletter-text {
    margin-bottom: 30px;
    margin-top: 10px; }
    .register-form .newsletter-text span {
      line-height: 1rem; }

.noresults-page p,
.noresults-page a {
  font-size: 0.875rem; }

.noresults-page .search-phrase {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .noresults-message {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  margin: 0 0 30px; }
  .noresults-page .noresults-message p {
    font-size: 1.125rem; }

.noresults-page .section-title {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .new-search,
.noresults-page .related-search,
.noresults-page .resource-center {
  margin: 0 0 30px; }

.noresults-page .new-search input {
  height: 45px;
  margin: 0; }

.noresults-page .new-search .button {
  margin: 0 0 0 7px; }
  @media screen and (max-width: 47.9375em) {
    .noresults-page .new-search .button {
      height: 45px;
      padding: 0 10px; } }

.noresults-page .new-search .icon-search {
  font-size: 1.0625rem; }

.noresults-page .related-search .refinement-header {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .related-search ul {
  margin: 0; }

.noresults-page .related-search li {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 15px; }

@media screen and (max-width: 47.9375em) {
  .noresults-page .customer-service {
    border-top: 2px solid #ccc;
    padding: 30px 0 0; } }

.noresults-page .customer-service .box {
  margin: 0 0 20px; }

.noresults-page .customer-service h4 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1rem;
  margin: 0; }
  .noresults-page .customer-service h4 span {
    padding: 0 0 0 8px; }

.noresults-page .customer-service a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem; }

.noresults-page .customer-service p,
.noresults-page .customer-service a {
  margin: 0 0 0 30px; }

.noresults-page .noresults-selector {
  margin-top: 3.125rem; }
  .noresults-page .noresults-selector p {
    line-height: 1.6875rem; }
  .noresults-page .noresults-selector .button.hollow {
    color: inherit; }

@media screen and (min-width: 48em) {
  .noresults-page .noresults-message {
    background: #202020;
    color: #fff;
    margin: 0 0 45px;
    padding: 45px 0;
    text-align: center; }
  .noresults-page .medium-centered {
    left: 50%;
    position: relative;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .noresults-page .noresults-selector {
    background-image: url("../images/kaltire/question-header-image@2x.png");
    background-position: 550px center;
    background-repeat: no-repeat;
    background-size: 600px;
    margin-top: 3.125rem; } }

@media screen and (min-width: 64em) {
  .noresults-page .noresults-selector {
    background-position: 150% center; } }

.packages-selection {
  margin: 40px 0 15px; }
  @media screen and (max-width: 47.9375em) {
    .packages-selection {
      padding: 0 30px; } }
  .packages-selection .circle-indicator {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #000;
    display: block;
    font-size: 18px; }
    @media screen and (min-width: 48em) {
      .packages-selection .circle-indicator {
        display: inline-block;
        margin-left: 90px; }
        .packages-selection .circle-indicator:first-child {
          margin: 0; } }
    .packages-selection .circle-indicator:first-child {
      margin: 0 0 12px; }
    .packages-selection .circle-indicator .pk-edit-wheel {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 13px;
      margin-left: 5px; }
    .packages-selection .circle-indicator .step-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      background: #000;
      border-radius: 50%;
      color: #fff;
      display: inline-block;
      font-size: 18px;
      height: 32px;
      line-height: 32px;
      margin: 0 0.3125rem 0 0;
      text-align: center;
      width: 32px; }
    .packages-selection .circle-indicator.selected {
      color: #ff6900; }
      .packages-selection .circle-indicator.selected .step-number {
        background: #ff6900; }
    .packages-selection .circle-indicator.disabled {
      color: #d9d9da; }
      .packages-selection .circle-indicator.disabled .step-number {
        background: #d9d9da; }

.selector-packages h2 {
  font-size: 1.25rem;
  margin-bottom: 0;
  text-transform: none; }

.selector-packages h5 {
  margin-bottom: 0; }
  @media screen and (max-width: 47.9375em) {
    .selector-packages h5 {
      margin-top: 2rem; } }

.selector-packages .mid-line-copy {
  margin: 2.5rem 0 2.375rem; }

.selector-packages .oe-size {
  border: 0;
  display: inline-block;
  margin: 0 0 1rem; }
  @media screen and (min-width: 48em) {
    .selector-packages .oe-size {
      margin: 0 0 3rem; } }
  .selector-packages .oe-size .sel-subtitle span {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
  .selector-packages .oe-size a {
    color: #808285;
    display: block;
    font-size: 0.9375rem;
    padding: 15px 18px; }
    .selector-packages .oe-size a:not(.sel-subtitle) {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #000;
      margin-bottom: 0;
      text-transform: uppercase; }
  .selector-packages .oe-size.oe-size-orange {
    background: #ff6900;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
    .selector-packages .oe-size.oe-size-orange:hover {
      background: #ffa566;
      border-color: #ffa566; }
    .selector-packages .oe-size.oe-size-orange a {
      color: #fff; }

.selector-packages .optional-sizes-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 1.1875rem; }
  .selector-packages .optional-sizes-header i {
    color: #ff6900;
    margin-left: 15px; }
    .selector-packages .optional-sizes-header i::before {
      font-size: 40px;
      line-height: 27px; }

.selector-packages .show-self-service {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }

.selector-packages .oe-size-container .section-tite {
  margin-bottom: 0.5rem; }

.selector-packages .oe-size-container .sel-subtitle {
  margin: 0; }

.selector-packages .oe-size-container .subtitle-title {
  font-weight: bold; }

.selector-packages .your-vehicle-info {
  margin-bottom: 1rem; }

.selector-packages .section-title-tooltip {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.5rem; }
  .selector-packages .section-title-tooltip .sel-subtitle {
    margin-bottom: 0;
    margin-left: 0.5rem; }

.oe-size-btn {
  text-align: center; }

.section-question-copy p, .packages-section-heading p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #808285;
  font-size: 0.8125rem; }
  .section-question-copy p span, .packages-section-heading p span {
    color: #ff6900;
    cursor: pointer;
    float: left; }

.packages-section-heading {
  /* stylelint-disable-line */ }
  .packages-section-heading p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #000;
    font-size: 0.875rem;
    margin-bottom: 1.3125rem; }
  .packages-section-heading a {
    border-bottom: 2px dotted #ff6900;
    color: inherit;
    font-style: italic; }

.packages-section-heading-main {
  margin-top: 1rem; }
  .packages-section-heading-main p {
    margin-top: 1rem; }

.packages-staggered {
  margin-top: 1.875rem; }
  .packages-staggered .package-staggered-button {
    margin-left: 0.9375rem; }
    @media screen and (max-width: 47.9375em) {
      .packages-staggered .package-staggered-button {
        margin-left: 0;
        margin-top: 0.9375rem; } }

#rebatesLandingWrapper .rebatesTopSlotWrapper {
  background: #000;
  background-size: cover;
  color: #fff;
  padding: 70px 0 100px;
  position: relative; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebatesTopSlotWrapper {
      padding: 125px 0 135px; } }
  #rebatesLandingWrapper .rebatesTopSlotWrapper h1,
  #rebatesLandingWrapper .rebatesTopSlotWrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 46px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebatesTopSlotWrapper h1,
      #rebatesLandingWrapper .rebatesTopSlotWrapper h2 {
        font-size: 67px; } }
  #rebatesLandingWrapper .rebatesTopSlotWrapper p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.2rem;
    margin: 1.4rem 0 0; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebatesTopSlotWrapper p {
        font-size: 18px;
        line-height: 1.6rem; } }
  #rebatesLandingWrapper .rebatesTopSlotWrapper .rebates-tabs-nav-wrapper {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    left: 0;
    line-height: 45px;
    min-height: 45px;
    position: absolute;
    right: 0;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebatesTopSlotWrapper .rebates-tabs-nav-wrapper {
        line-height: 60px;
        min-height: 60px; } }

#rebatesLandingWrapper .rebates-tabs-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 45px;
  margin: 0; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-tabs-nav {
      line-height: 60px; } }
  #rebatesLandingWrapper .rebates-tabs-nav li {
    display: inline;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    position: relative;
    text-align: center; }
    #rebatesLandingWrapper .rebates-tabs-nav li.active a {
      opacity: 1; }
    #rebatesLandingWrapper .rebates-tabs-nav li a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #fff;
      display: block;
      font-size: 12px;
      opacity: 0.6;
      width: 100%; }
      @media screen and (min-width: 48em) {
        #rebatesLandingWrapper .rebates-tabs-nav li a {
          font-size: 16px; } }
    #rebatesLandingWrapper .rebates-tabs-nav li:hover::after, #rebatesLandingWrapper .rebates-tabs-nav li.active::after {
      background: #ff6900;
      bottom: 0;
      content: "";
      height: 3px;
      left: 0;
      position: absolute;
      right: 0;
      width: 100%; }
      @media screen and (min-width: 48em) {
        #rebatesLandingWrapper .rebates-tabs-nav li:hover::after, #rebatesLandingWrapper .rebates-tabs-nav li.active::after {
          height: 5px; } }

#rebatesLandingWrapper .rebatesMainContentWrapper {
  margin: 45px 0 115px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebatesMainContentWrapper {
      margin: 75px 0 115px; } }

#rebatesLandingWrapper .rebates-landing-head h2 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 18px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-landing-head h2 {
      font-size: 22px; } }

#rebatesLandingWrapper .rebates-landing-head p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-landing-head p {
      font-size: 16px; } }

#rebatesLandingWrapper .rebates-landing-head img {
  display: block;
  height: auto;
  width: 100%; }

#rebatesLandingWrapper .rebates-landing-head .button.small {
  margin: 20px 0 0;
  padding: 8px 15px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-landing-head .button.small {
      font-size: 13px;
      margin: 30px 0 0;
      padding: 10px 15px; } }

#rebatesLandingWrapper .rebates-item {
  border: 6px solid #f2f2f2;
  margin: 15px 0 0;
  padding: 7px;
  width: 100%; }
  #rebatesLandingWrapper .rebates-item::before, #rebatesLandingWrapper .rebates-item::after {
    content: ' ';
    display: table; }
  #rebatesLandingWrapper .rebates-item::after {
    clear: both; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-item {
      margin: 20px 0 0;
      padding: 12px; } }
  #rebatesLandingWrapper .rebates-item .rebates-item-img {
    display: none;
    float: left;
    width: 35.332%; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item .rebates-item-img {
        display: block; } }
    #rebatesLandingWrapper .rebates-item .rebates-item-img img {
      width: 100%; }
  #rebatesLandingWrapper .rebates-item .rebates-item-content {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item .rebates-item-content {
        padding-left: 20px;
        width: 64.67%; } }
  #rebatesLandingWrapper .rebates-item h3 {
    font-size: 16px;
    margin: 0;
    padding: 0 10px 5px; }
  #rebatesLandingWrapper .rebates-item h2 {
    font-size: 22px;
    margin: 0;
    padding: 0 10px 10px; }
  #rebatesLandingWrapper .rebates-item p {
    font-size: 14px;
    margin: 0;
    padding: 0 10px 18px; }
    #rebatesLandingWrapper .rebates-item p strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
  #rebatesLandingWrapper .rebates-item a.button {
    margin: 0 0 8px 10px;
    padding: 11px 15px; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item a.button {
        margin: 0 0 0 10px; } }

#rebatesLandingWrapper .rebates-item-type-row {
  overflow: hidden; }
  #rebatesLandingWrapper .rebates-item-type-row .rebates-item-type {
    float: left; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item-type-row .rebates-item-type {
        float: right; } }

#rebatesLandingWrapper .rebates-item-type {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  background: #ff6900;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  line-height: 27px;
  margin-bottom: 15px;
  padding: 0 13px; }
  #rebatesLandingWrapper .rebates-item-type.black {
    background: #000; }

@media screen and (max-width: 47.9375em) {
  .brands-landing-wrapper h4 {
    font-size: 18px; } }

.brands-landing-wrapper .brands-page-title {
  margin-bottom: 1.75rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-page-title {
      margin-bottom: 2.5rem; } }

.brands-landing-wrapper .brands,
.brands-landing-wrapper .featured-brands {
  border-bottom: 1px solid #f2f2f2;
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands,
    .brands-landing-wrapper .featured-brands {
      margin-bottom: 4.1875rem;
      padding-bottom: 3.125rem; } }

.brands-landing-wrapper .brands-slot div {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding: 1rem 0; }
  .brands-landing-wrapper .brands-slot div p {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
    padding: 1.8rem; }
    @media screen and (min-width: 48em) {
      .brands-landing-wrapper .brands-slot div p {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        max-width: 25%; } }

.brands-landing-wrapper .brands {
  padding: 1rem 0; }

@media screen and (max-width: 47.9375em) {
  .brands-landing-wrapper .brands-item:nth-child(odd) {
    padding-right: 0.3125rem; }
  .brands-landing-wrapper .brands-item:nth-child(even) {
    padding-left: 0.3125rem; } }

.brands-landing-wrapper .brands-item a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 3.75rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 0.625rem;
  padding: 0.625rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-item a {
      height: 8rem;
      margin-bottom: 1.3rem;
      padding: 1.3rem; } }

.brands-landing-wrapper .brands-item.featured-brands-item a {
  border: 6px solid #f2f2f2;
  height: 7.1875rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-item.featured-brands-item a {
      border-width: 10px;
      height: 15rem; } }

.brands-landing-wrapper .brands-item .button {
  display: none;
  margin: 0.625rem 0 0;
  min-height: 1.5rem;
  padding: 0.3125rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-item .button {
      font-size: 0.8125rem;
      margin-top: 1.3rem;
      padding: 0.9375rem 0.625rem;
      padding-right: 0.625rem; } }

.brands-landing-wrapper .brands-item:hover .button {
  display: block; }

.brands-landing-wrapper .brands-item img {
  max-height: 4.0625rem; }

.brand-banner {
  background-size: cover;
  color: #fff;
  margin-bottom: 1.75rem;
  padding: 4rem 0 3rem; }
  @media screen and (min-width: 48em) {
    .brand-banner {
      margin-bottom: 3rem;
      padding: 8.75rem 0 8.25rem; }
      .brand-banner p {
        font-size: 18px;
        line-height: 1.5rem; } }
  .brand-banner h1,
  .brand-banner h2 {
    font-size: 42px;
    margin-bottom: 1.5rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .brand-banner h1,
      .brand-banner h2 {
        font-size: 67px;
        margin-bottom: 1rem; } }

.brand-banner-wrapper {
  margin-bottom: 2.75rem;
  min-height: 3.3125rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .brand-banner-wrapper {
      margin-bottom: 5rem;
      min-height: 3.75rem; } }
  .brand-banner-wrapper .brand-banner {
    background-position: 79% 20%;
    margin-bottom: 0;
    padding-bottom: 5.625rem; }
    @media screen and (min-width: 48em) {
      .brand-banner-wrapper .brand-banner {
        padding: 8.125rem 0 8.25rem; } }

.brand-menu-wrapper {
  background: rgba(0, 0, 0, 0.6);
  bottom: 0;
  height: 3.3125rem;
  left: 0;
  position: absolute;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .brand-menu-wrapper {
      height: 3.75rem; } }
  .brand-menu-wrapper ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0; }
    .brand-menu-wrapper ul li {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      line-height: 3.3125rem;
      max-width: 33%; }
      @media screen and (min-width: 48em) {
        .brand-menu-wrapper ul li {
          line-height: 3.75rem; } }
      .brand-menu-wrapper ul li a {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 12px;
        height: 3.3125rem;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        line-height: 1rem;
        opacity: 0.6;
        padding: 5px;
        text-align: center; }
        @media screen and (min-width: 48em) {
          .brand-menu-wrapper ul li a {
            font-size: 16px;
            height: 3.75rem; } }
    .brand-menu-wrapper ul .selected,
    .brand-menu-wrapper ul a:hover {
      opacity: 1;
      position: relative; }
      .brand-menu-wrapper ul .selected::after,
      .brand-menu-wrapper ul a:hover::after {
        background: #ff6900;
        bottom: 0;
        content: "";
        display: block;
        height: 3px;
        left: 0;
        position: absolute;
        right: 0;
        width: 100%; }
        @media screen and (min-width: 48em) {
          .brand-menu-wrapper ul .selected::after,
          .brand-menu-wrapper ul a:hover::after {
            height: 6px; } }

.brand-page-title {
  border-left: 3px solid #ff6900;
  font-size: 24px;
  line-height: 1.125rem;
  margin-bottom: 2.75rem;
  padding-left: 1.125rem;
  text-transform: uppercase; }

.about-brand-section {
  margin-bottom: 2rem; }
  .about-brand-section iframe {
    max-width: 100%;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      .about-brand-section iframe {
        height: auto; } }
  .about-brand-section .button,
  .about-brand-section p {
    margin-bottom: 1.5rem; }
  .about-brand-section .about-brand-top {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }

.brand-page-products .grid-tile {
  /* stylelint-disable-line */ }

.brand-page-products .recommended-bagde,
.brand-page-products .product-compare {
  display: none; }

.contactus-landing-wrapper .contact-us-map {
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .contactus-landing-wrapper .contact-us-map {
      padding: 0 30px; } }

.contactus-landing-wrapper .contactus-banner {
  background-size: cover;
  color: #fff;
  margin-bottom: 1.75rem;
  padding: 4rem 0 3rem; }
  @media screen and (min-width: 48em) {
    .contactus-landing-wrapper .contactus-banner {
      margin-bottom: 3rem;
      padding: 8.75rem 0 8.25rem; }
      .contactus-landing-wrapper .contactus-banner p {
        font-size: 18px;
        line-height: 1.5rem; } }
  .contactus-landing-wrapper .contactus-banner .contactus-banner-text-block {
    margin-top: 3rem; }
  .contactus-landing-wrapper .contactus-banner p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
  .contactus-landing-wrapper .contactus-banner h2 {
    font-size: 42px;
    margin-bottom: 1.5rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .contactus-landing-wrapper .contactus-banner h2 {
        font-size: 67px;
        margin-bottom: 1rem; } }

@media screen and (max-width: 47.9375em) {
  .contactus-landing-wrapper .cards-title {
    font-size: 18px !important; } }

.contactus-landing-wrapper .contact-block {
  margin-bottom: 1.25rem; }

.contactus-landing-wrapper .contact-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px; }

.contactus-landing-wrapper .contact-openingdays {
  color: #999;
  margin-bottom: 0; }

.contactus-landing-wrapper .contact-divider {
  border-top: 1px solid #e8e8e9; }

.contactus-landing-wrapper .contactus-help {
  margin-top: 4rem; }

.contactus-landing-wrapper .contact-align-complement {
  font-family: "Gotham A", "Gotham B", Arial !important;
  font-size: 14px;
  font-weight: 400 !important;
  margin-bottom: 0;
  padding-left: 24px; }

.contactus-landing-wrapper .contactus-banner-wrapper {
  margin-bottom: 2.75rem;
  min-height: 3.3125rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .contactus-landing-wrapper .contactus-banner-wrapper {
      margin-bottom: 5rem;
      min-height: 3.75rem; } }
  .contactus-landing-wrapper .contactus-banner-wrapper .contactus-banner {
    margin-bottom: 0;
    padding-bottom: 5.625rem; }
    @media screen and (min-width: 48em) {
      .contactus-landing-wrapper .contactus-banner-wrapper .contactus-banner {
        padding: 8.125rem 0 8.25rem; } }

.contactus-landing-wrapper .contactus-page-title {
  border-left: 3px solid #ff6900;
  font-size: 26px;
  line-height: 1.125rem;
  margin-bottom: 2.75rem;
  padding-left: 1.125rem;
  text-transform: uppercase; }
  @media screen and (max-width: 47.9375em) {
    .contactus-landing-wrapper .contactus-page-title {
      font-size: 18px; } }

.contactus-landing-wrapper .contactus-help-cards {
  margin-bottom: 2rem;
  margin-top: 2rem; }
  .contactus-landing-wrapper .contactus-help-cards .cards-title {
    font-size: 1.375rem;
    margin-top: 0.9375rem; }
  @media screen and (max-width: 47.9375em) {
    .contactus-landing-wrapper .contactus-help-cards .card-block {
      margin-bottom: 1rem; } }
  .contactus-landing-wrapper .contactus-help-cards .card-icon {
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1em;
    margin-right: 0.2em;
    speak: none;
    text-align: center;
    text-decoration: inherit;
    text-transform: none;
    width: 1em; }
  .contactus-landing-wrapper .contactus-help-cards .cards-description {
    font-size: 0.875rem; }
  .contactus-landing-wrapper .contactus-help-cards a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.875rem; }
  .contactus-landing-wrapper .contactus-help-cards .assistance-block {
    background: #ededed;
    margin-top: 1.5rem;
    padding: 1.25rem; }
    .contactus-landing-wrapper .contactus-help-cards .assistance-block .assistance-text {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #999;
      margin-bottom: 0.3125rem; }
    .contactus-landing-wrapper .contactus-help-cards .assistance-block .assistance-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #f60;
      margin-bottom: 0.3125rem; }

.contactus-address {
  display: block; }
  @media screen and (min-width: 48em) {
    .contactus-address {
      display: none; } }
  .contactus-address .address-title {
    font-size: 1.125rem;
    margin-top: 0.9375rem; }
  .contactus-address .address-location {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin-bottom: 0; }
  .contactus-address .address-directions {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.8125rem; }
  .contactus-address .address-workinghours {
    margin-bottom: 2rem; }

@media print {
  a[href]::after {
    content: none; }
  .pt_order-confirmation {
    margin: 5mm;
    width: 100%; }
    .pt_order-confirmation .header-banner,
    .pt_order-confirmation .header-nav,
    .pt_order-confirmation .print-link,
    .pt_order-confirmation .login-create-account,
    .pt_order-confirmation .need-help-checkout,
    .pt_order-confirmation .footer-wrapper,
    .pt_order-confirmation .footer-copy-wrapper,
    .pt_order-confirmation .top-bar-right,
    .pt_order-confirmation .add-to-calendar {
      display: none; }
    .pt_order-confirmation .atroot,
    .pt_order-confirmation .confirmation-page {
      display: block;
      margin-top: 0; }
    .pt_order-confirmation .checked-icon {
      -webkit-box-shadow: 0 0 0 4px #ff6900 inset !important;
              box-shadow: 0 0 0 4px #ff6900 inset !important; }
    .pt_order-confirmation .header-main-nav::after {
      display: none; }
    .pt_order-confirmation .header-main-nav .top-bar-left .header-logo-image {
      float: right;
      height: 50%;
      width: 20%; }
    .pt_order-confirmation .confirmation-page {
      float: left;
      left: 0;
      top: 0;
      width: 100%; }
      .pt_order-confirmation .confirmation-page .confirmation-message h1 {
        margin-top: -15mm; }
      .pt_order-confirmation .confirmation-page .section-title-box {
        left: 0;
        margin: 0;
        padding-left: 0; }
      .pt_order-confirmation .confirmation-page .section-box-wrap {
        width: 100%; }
        .pt_order-confirmation .confirmation-page .section-box-wrap .section-box {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 41.66667%;
                  flex: 0 0 41.66667%;
          max-width: 41.66667%; }
      .pt_order-confirmation .confirmation-page .order-information .order-date {
        left: 0;
        margin-left: 0;
        padding-left: 0; }
      .pt_order-confirmation .confirmation-page .main-section-header .productname-column {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.66667%;
                flex: 0 0 33.66667%;
        max-width: 33.66667%; }
      .pt_order-confirmation .confirmation-page .main-section-header .productvalues-column {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.33333%;
                flex: 0 0 66.33333%;
        max-width: 66.33333%; }
      .pt_order-confirmation .confirmation-page .product-row .orderdetails-productname,
      .pt_order-confirmation .confirmation-page .service-row .orderdetails-productname {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.66667%;
                flex: 0 0 33.66667%;
        max-width: 33.66667%; }
      .pt_order-confirmation .confirmation-page .product-row .orderdetails-productvalues,
      .pt_order-confirmation .confirmation-page .service-row .orderdetails-productvalues {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.33333%;
                flex: 0 0 66.33333%;
        max-width: 66.33333%; }
      .pt_order-confirmation .confirmation-page .product-row .line-item-price .section-header,
      .pt_order-confirmation .confirmation-page .product-row .line-item-quantity .section-header,
      .pt_order-confirmation .confirmation-page .product-row .line-item-total .section-header,
      .pt_order-confirmation .confirmation-page .service-row .line-item-price .section-header,
      .pt_order-confirmation .confirmation-page .service-row .line-item-quantity .section-header,
      .pt_order-confirmation .confirmation-page .service-row .line-item-total .section-header {
        display: none; }
      .pt_order-confirmation .confirmation-page .main-section-header {
        left: 0;
        margin: 0 0 5mm;
        padding: 2mm 0; }
    .pt_order-confirmation .confirmation-message-wrapper {
      margin: 0 auto 10px !important; }
    .pt_order-confirmation .appointment-details-wrapper {
      margin-bottom: 0 !important; }
    .pt_order-confirmation .order-information {
      margin: 10px 0; }
    .pt_order-confirmation .personal-payment-info .section-title.show-for-medium {
      display: none; }
    .pt_order-confirmation .personal-payment-info .small-12 {
      padding-left: 0 !important;
      padding-right: 0 !important; }
    .pt_order-confirmation .payment-verification .section-box {
      padding-left: 14px !important; }
    .pt_order-confirmation .order-confirmation-details .order-payment-summary {
      padding-left: 0 !important;
      padding-right: 0 !important; }
    .pt_order-confirmation .product-specific-messages {
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important; }
  .need-changes {
    display: none; }
  #inside_holder,
  .mainNavLiveChatCTA {
    display: none; } }

.page-iam-store-locator .pac-container {
  margin: 0; }

.pt_store-locator .page-title {
  margin: 20px 0 0; }
  @media screen and (min-width: 48em) {
    .pt_store-locator .page-title {
      margin: 30px 0 10px; } }
  @media screen and (min-width: 64em) {
    .pt_store-locator .page-title {
      margin: 50px 0 20px; } }

.pt_store-locator .page-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 0.8125rem;
  margin: 0 0 20px; }
  @media screen and (min-width: 48em) {
    .pt_store-locator .page-link {
      margin: 0 0 30px; } }
  @media screen and (min-width: 64em) {
    .pt_store-locator .page-link {
      margin: 0 0 35px; } }

.pt_store-locator #filters-content-wrap {
  display: none; }
  .pt_store-locator #filters-content-wrap.expanded {
    display: block;
    padding: 15px 0 0; }

.pt_store-locator .vehicle-types-section {
  padding: 1.25rem 1rem 0; }
  @media screen and (min-width: 64em) {
    .pt_store-locator .vehicle-types-section {
      padding: 1.25rem 2.5rem 0; } }

.pt_store-locator .vehicle-types-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }

.pt_store-locator .vehicle-radio-button {
  display: none; }

.pt_store-locator .vehicle-types-title {
  font-weight: 600;
  margin-bottom: 0.875rem; }

.pt_store-locator .vehicle-type {
  border: 2px solid #e8e8e9;
  margin-right: 0.9375rem;
  min-height: 100px;
  position: relative;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pt_store-locator .vehicle-type {
      margin-right: 0.3125rem; } }
  .pt_store-locator .vehicle-type .personal-vehicle-label {
    background-image: url("../images/vehicle-type/personal.svg"); }
  .pt_store-locator .vehicle-type .commercial-vehicle-label {
    background-image: url("../images/vehicle-type/commercial.svg"); }
  .pt_store-locator .vehicle-type .fleet-vehicle-label {
    background-image: url("../images/vehicle-type/fleet.svg"); }
  .pt_store-locator .vehicle-type .personal-vehicle-label,
  .pt_store-locator .vehicle-type .commercial-vehicle-label,
  .pt_store-locator .vehicle-type .fleet-vehicle-label {
    background-position: center top 28px;
    background-repeat: no-repeat; }
    .pt_store-locator .vehicle-type .personal-vehicle-label span,
    .pt_store-locator .vehicle-type .commercial-vehicle-label span,
    .pt_store-locator .vehicle-type .fleet-vehicle-label span {
      height: 100%; }
  .pt_store-locator .vehicle-type:last-child {
    margin-right: 0; }
  .pt_store-locator .vehicle-type:has(input:checked) {
    border: 2px solid #c75300; }
    .pt_store-locator .vehicle-type:has(input:checked) label {
      color: #c75300; }
    .pt_store-locator .vehicle-type:has(input:checked) .personal-vehicle-label {
      background-image: url("../images/vehicle-type/personal-selected.svg"); }
    .pt_store-locator .vehicle-type:has(input:checked) .commercial-vehicle-label {
      background-image: url("../images/vehicle-type/commercial-selected.svg"); }
    .pt_store-locator .vehicle-type:has(input:checked) .fleet-vehicle-label {
      background-image: url("../images/vehicle-type/fleet-selected.svg"); }
  .pt_store-locator .vehicle-type:hover {
    background-color: #e8e8e9;
    border: 2px solid #000; }
  .pt_store-locator .vehicle-type .vehicle-type-icon {
    max-width: 60px;
    min-height: 35px; }
  .pt_store-locator .vehicle-type .vehicle-type-tooltip {
    position: absolute;
    right: 0;
    top: 0; }
  .pt_store-locator .vehicle-type .questionmarkcircle {
    cursor: pointer;
    height: 18px;
    margin: 0.1875rem;
    width: 18px; }
  .pt_store-locator .vehicle-type label {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0;
    padding-top: 3.75rem; }

.pt_store-locator .location-item-summary {
  margin-top: 0.9375rem; }

.store-locator-page-wrapper {
  min-height: 685px;
  padding: 0; }
  @media screen and (min-width: 48em) {
    .store-locator-page-wrapper {
      border-bottom: 1px solid #e8e8e9;
      min-height: 820px; } }

.store-locator-page {
  position: relative; }
  .store-locator-page ul {
    margin: 0; }
  .store-locator-page p {
    font-size: 14px;
    line-height: 1.3; }
  .store-locator-page .list-view {
    display: block !important; }
  .store-locator-page .locations-list {
    padding: 0 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page .locations-list {
        padding: 0 2.5rem;
        text-align: right; } }
    .store-locator-page .locations-list .page-link {
      color: #000;
      font-weight: normal;
      margin: 0;
      text-decoration: underline; }
  .store-locator-page .search-container {
    padding: 1.25rem 1rem 0; }
    @media screen and (min-width: 64em) {
      .store-locator-page .search-container {
        padding: 1.25rem 2.5rem 0; } }
    .store-locator-page .search-container .button {
      margin: 0 0 0 7px; }
      @media screen and (min-width: 48em) {
        .store-locator-page .search-container .button {
          margin-left: 0;
          width: auto; } }
    .store-locator-page .search-container .button.small {
      padding: 11.5px 15px; }
    .store-locator-page .search-container .start_location {
      background-color: #f2f2f2;
      border-color: #f2f2f2;
      padding: 0.625rem 2.1875rem; }
      .store-locator-page .search-container .start_location::-webkit-input-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location::-moz-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location:-ms-input-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location::-ms-input-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location::placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location:focus {
        border-color: #000; }
        .store-locator-page .search-container .start_location:focus::-webkit-input-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus::-moz-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus:-ms-input-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus::-ms-input-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus::placeholder {
          color: transparent; }
    .store-locator-page .search-container .search-field-wrapper {
      position: relative;
      width: 100%; }
      .store-locator-page .search-container .search-field-wrapper .icon-search {
        left: 10px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); }
      .store-locator-page .search-container .search-field-wrapper .icon-cancel {
        position: absolute;
        right: 10px;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); }
        .store-locator-page .search-container .search-field-wrapper .icon-cancel:hover {
          cursor: pointer; }
  .store-locator-page .store-filters .breadcrumbs-filters .button {
    background-color: #f2f2f2;
    border: 0;
    font-size: 0.8125rem;
    margin: 0;
    width: 100%; }
    .store-locator-page .store-filters .breadcrumbs-filters .button:hover {
      background-color: #f6a583;
      color: #000; }
    .store-locator-page .store-filters .breadcrumbs-filters .button.is-active::after {
      content: ""; }
    .store-locator-page .store-filters .breadcrumbs-filters .button.is-active .clear-filters {
      display: block; }
    .store-locator-page .store-filters .breadcrumbs-filters .button.breadcrumb-filter {
      font-weight: 500;
      margin-right: 0.3125rem;
      margin-top: 0.3125rem;
      padding: 0.3125rem 1.25rem 0.3125rem 0.3125rem;
      position: relative;
      text-transform: none;
      width: auto; }
    .store-locator-page .store-filters .breadcrumbs-filters .button .clear-breadcrumb-filter {
      font-size: 1rem;
      position: absolute;
      right: 0.125rem;
      top: 0.25rem; }
    .store-locator-page .store-filters .breadcrumbs-filters .button .clear-filters {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      border: 0;
      display: none;
      font-size: 17px;
      position: absolute;
      right: 5px; }
  .store-locator-page .store-filters .breadcrumbs-wrapper {
    border: 1px solid #e8e8e9;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 1.25rem;
    padding: 0.625rem 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page .store-filters .breadcrumbs-wrapper {
        padding: 0.625rem 2.5rem; } }
  .store-locator-page .store-filters .filters-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .store-locator-page .store-filters .filters-wrapper.is-active .filters-button::after {
      content: "\e80e"; }
  .store-locator-page .store-filters .filters-button,
  .store-locator-page .store-filters .filters-title {
    color: #000;
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 700; }
  .store-locator-page .store-filters .filters-button {
    margin-right: 0.9375rem;
    position: relative;
    text-align: right; }
    .store-locator-page .store-filters .filters-button::after {
      content: "\e80f";
      font-family: "fontello", sans-serif;
      font-size: 0.625rem;
      padding-left: 0.3125rem;
      padding-top: 0.1875rem;
      position: absolute; }
  .store-locator-page #filters-content-wrap p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    line-height: 1;
    margin: 0 0 0.875rem;
    padding: 0 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page #filters-content-wrap p {
        padding: 0 1rem 0 2.5rem; } }
  .store-locator-page #filters-content-wrap .clear-filters {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-right: 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page #filters-content-wrap .clear-filters {
        padding-right: 2.5rem; } }
    .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button {
      background: transparent;
      border: 3px solid #ff6900;
      color: #000;
      font-size: 0.75rem;
      margin: 0;
      padding: 0.625rem;
      text-transform: uppercase; }
      .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button:hover, .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button:focus {
        background: #f6a583;
        border: 3px solid #ff6900;
        color: #000; }
      .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button:disabled {
        background-color: #c9c9c9;
        border-color: #c9c9c9;
        color: #fff; }
  .store-locator-page #filters-content-wrap .filters-content-wrapper {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .store-locator-page .filters-overlay {
    background: transparent;
    display: none;
    height: calc(100% - 278px);
    position: absolute;
    width: 40%;
    z-index: 100; }
  .store-locator-page .store-filter {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    width: 1px; }
    .store-locator-page .store-filter:not(:checked) + label, .store-locator-page .store-filter:checked + label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      margin-left: 0;
      padding: 0 0 0 1.5rem;
      position: relative; }
      .store-locator-page .store-filter:not(:checked) + label::before, .store-locator-page .store-filter:checked + label::before {
        color: #808285;
        content: "\f1db";
        font-family: "fontello", sans-serif;
        font-size: 1.125rem;
        left: 0;
        position: absolute; }
    .store-locator-page .store-filter:checked + label::before {
      color: #ff6900;
      content: "\f111"; }
    .store-locator-page .store-filter:disabled + label {
      color: #c9c9c9; }
      .store-locator-page .store-filter:disabled + label::before {
        color: #c9c9c9; }
  .store-locator-page .hide-filter {
    display: none; }
  .store-locator-page .locations-box {
    width: 100%; }
    .store-locator-page .locations-box .location-item {
      border-bottom: 1px solid #e8e8e9;
      border-left: 7px solid transparent;
      cursor: pointer;
      padding-left: 0.5625rem;
      padding-right: 1rem; }
      @media screen and (min-width: 64em) {
        .store-locator-page .locations-box .location-item {
          background-position: right 1.125rem center;
          padding-left: 2.5rem;
          padding-right: 2.5rem; } }
      .store-locator-page .locations-box .location-item.active, .store-locator-page .locations-box .location-item:hover {
        border-left: 7px solid #ff6900; }
      .store-locator-page .locations-box .location-item.active {
        background-color: #e4e4e4; }
        .store-locator-page .locations-box .location-item.active .pr-snippet-stars.pr-snippet-stars-png {
          background-color: #e4e4e4; }
      .store-locator-page .locations-box .location-item .pr-snippet-rating-decimal {
        color: #000; }
      .store-locator-page .locations-box .location-item .store-details-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
      .store-locator-page .locations-box .location-item .cb-cta {
        margin: 0; }
      .store-locator-page .locations-box .location-item p {
        margin: 0 0 5px; }
    .store-locator-page .locations-box .scroll-loader {
      bottom: -70px;
      display: none;
      top: auto; }
    .store-locator-page .locations-box .location-item-inner {
      padding: 20px 0 15px; }
    .store-locator-page .locations-box .phone-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
    .store-locator-page .locations-box .location-item-distance {
      color: #000;
      font-weight: 300; }
  .store-locator-page .location-item-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .store-locator-page .location-item-name p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 1rem;
      line-height: 1.3;
      margin: 0 0 0.625rem; }
    .store-locator-page .location-item-name .nickname {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: block; }
  .store-locator-page .map-view {
    overflow: hidden;
    position: relative; }
    .store-locator-page .map-view .error-container {
      background-color: #ff6900;
      display: none;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 10; }
      .store-locator-page .map-view .error-container .close-button {
        color: #fff;
        cursor: pointer;
        font-size: 1.125rem;
        right: 15px;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        transform: translateY(-50%);
        transform: translateY(-50%); }
      .store-locator-page .map-view .error-container .error-message {
        color: #000;
        font-size: 0.875rem;
        margin: 0;
        padding: 15px 40px 15px 15px; }
    .store-locator-page .map-view .loader {
      z-index: 10; }
    .store-locator-page .map-view .gps-toggle {
      background: #fff;
      border: 1px solid #d0d0d0;
      bottom: 15px;
      cursor: pointer;
      display: inline-block;
      padding: 6px 8px;
      position: absolute;
      right: 15px;
      z-index: 10; }
      .store-locator-page .map-view .gps-toggle i {
        color: #ddd;
        font-size: 24px; }
      .store-locator-page .map-view .gps-toggle.active i {
        color: #000; }

.pt_store-locator #filters-content-wrap.expanded {
  background: #fff;
  height: 100%;
  width: 100%;
  z-index: 1; }

@media screen and (max-width: 47.9375em) {
  .map-view {
    max-width: 100%;
    width: 100%; }
  .view-map-btn {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    float: right;
    font-size: 0.8125rem;
    margin: 0 0 20px; }
    .view-map-btn .active-btn-text {
      display: none; }
    .view-map-btn.is-active .btn-text {
      display: none; }
    .view-map-btn.is-active .active-btn-text {
      display: block; }
  .locations-box {
    float: left; } }

#map-box {
  background-color: #e5e3df;
  min-height: 320px; }

@media screen and (min-width: 48em) {
  .store-locator-page #map-box {
    float: right;
    width: 60%; }
  .store-locator-page .map-view {
    max-width: 100%;
    width: 100%; }
  .store-locator-page .list-view {
    padding-top: 278px;
    width: 40%; }
  .store-locator-page .search-filter-box {
    float: left;
    width: 40%; }
  .store-locator-page .search-container .start_location {
    margin: 0; }
  .store-locator-page .search-container .button {
    margin-left: 0.625rem; }
  .pt_store-locator #filters-content-wrap.expanded {
    height: calc(100% - 278px);
    overflow: auto;
    position: absolute;
    width: 40%; } }

.locations-box {
  overflow-y: scroll; }

.todays-hours-toggle {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }
  .todays-hours-toggle .store-hours-expanded {
    opacity: 0;
    -webkit-transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    visibility: hidden; }
    .todays-hours-toggle .store-hours-expanded .store-schedule {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
  .todays-hours-toggle .store-hours-collapsed {
    display: inline-block;
    margin-bottom: 0.5rem; }
    .todays-hours-toggle .store-hours-collapsed * {
      cursor: pointer; }
    .todays-hours-toggle .store-hours-collapsed::after {
      content: "\e80f";
      cursor: pointer;
      font-family: "fontello", sans-serif;
      font-size: 0.625rem;
      padding-left: 0.3125rem;
      padding-top: 0.1875rem;
      position: absolute; }
  .todays-hours-toggle.is-active .store-hours-collapsed::after {
    content: "\e80e"; }
  .todays-hours-toggle.is-active .store-hours-expanded {
    opacity: 1;
    visibility: visible; }

.todays-hours-label {
  font-weight: bold; }

.store-closed {
  color: #c61752;
  font-weight: bold; }

.store-open {
  color: #157f10;
  font-weight: bold; }

.store-hours-wrapper {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease-in-out;
  transition: max-height 0.3s ease-in-out; }
  .store-hours-wrapper.expanded {
    max-height: 500px; }

.store-schedule {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  justify-items: start; }
  .store-schedule .store-day {
    width: 110px; }

@media screen and (min-width: 48em) {
  .all-stores .plus-minus-accordion .is-accordion-submenu-parent > a {
    padding-left: 22px; }
    .all-stores .plus-minus-accordion .is-accordion-submenu-parent > a::after {
      left: 0; }
  .all-stores .submenu {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    column-count: 2;
    column-count: 2; }
    .all-stores .submenu[aria-hidden=false] {
      display: block !important; } }

.all-stores .city-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 15px;
  margin: 5px 0 -2px;
  text-transform: capitalize; }

.all-stores .store-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 13px;
  margin: 0 0 15px;
  padding: 0;
  text-transform: capitalize; }

.all-stores .menu .city-box {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 10px;
  width: 100%; }

.store-details-page {
  padding: 0 1.25rem 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    .store-details-page .map-container {
      margin: 40px 0 100px; } }
  @media screen and (min-width: 48em) {
    .store-details-page .row-separator {
      margin-bottom: 25px; }
    .store-details-page .store-hours {
      margin-bottom: 0; }
    .store-details-page .plus-minus-accordion .menu.nested {
      margin: 0; }
    .store-details-page .section-title {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-left: 3px solid #ff6900;
      color: #000;
      cursor: default;
      font-size: 1.5rem;
      margin: 0 0 35px;
      padding: 0 0 0 20px;
      text-transform: uppercase; } }
  @media screen and (max-width: 47.9375em) {
    .store-details-page .map-container {
      margin: 40px 0 100px; }
    .store-details-page #map,
    .store-details-page #streetview {
      min-height: 250px; } }
  @media screen and (min-width: 48em) {
    .store-details-page .row-separator {
      margin-bottom: 25px; }
    .store-details-page .store-hours {
      margin-bottom: 0; }
    .store-details-page .plus-minus-accordion .menu.nested {
      margin: 0; }
    .store-details-page .section-title {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-left: 3px solid #ff6900;
      color: #000;
      cursor: default;
      font-size: 1.5rem;
      margin: 0 0 35px;
      padding: 0 0 0 20px;
      text-transform: uppercase; } }
  .store-details-page ul {
    margin: 0; }
  .store-details-page li {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.4;
    margin-bottom: 0; }
    .store-details-page li.store-address {
      line-height: 1.7; }
  .store-details-page .close-button {
    border: 2px solid #ff6900;
    border-radius: 50%;
    color: #000;
    font-size: 1.5rem;
    height: 30px;
    top: 16px;
    width: 30px; }
  .store-details-page .store-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.25rem;
    padding-top: 1.25rem; }
    .store-details-page .store-name .nickname {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: block; }
  .store-details-page .sa_s28_display_avg_rating {
    margin: 0 0 15px; }
  .store-details-page .link {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
    @media screen and (min-width: 48em) {
      .store-details-page .link {
        font-size: 0.8125rem; } }
  .store-details-page .store-contact-info {
    margin: 1.25rem 0; }
    .store-details-page .store-contact-info p {
      margin: 0; }
  .store-details-page .store-hours {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.4; }
  .store-details-page .bold-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  .store-details-page .about-location {
    margin-bottom: 20px;
    margin-top: 10px; }
    @media screen and (min-width: 48em) {
      .store-details-page .about-location {
        margin-bottom: 0; } }
  .store-details-page .store-amenities {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media screen and (max-width: 47.9375em) {
      .store-details-page .store-amenities {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .store-details-page .store-amenities i {
      font-size: 1.125rem;
      margin-right: 0.3125rem; }
      .store-details-page .store-amenities i::before {
        margin: 0; }
  .store-details-page .offered-service-name {
    font-size: 1rem;
    line-height: 1.5;
    list-style: disc; }
  .store-details-page .is-accordion-submenu-parent a::after {
    color: #000;
    content: "\e80f";
    font-family: "fontello", sans-serif;
    font-size: 0.875rem;
    position: absolute;
    right: 20px;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
  .store-details-page .is-accordion-submenu-parent[aria-expanded="true"] a::after {
    content: "\e80f";
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  .store-details-page .is-accordion-submenu-parent .store-services-content {
    margin: 0 0 2.5rem 2.5rem; }
  .store-details-page .is-accordion-submenu-parent .service-title span {
    display: inline-block;
    padding: 0 2.1875rem 0 1.25rem;
    text-transform: capitalize; }
  .store-details-page .store-services-list {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1; }
    @media screen and (min-width: 48em) {
      .store-details-page .store-services-list {
        -webkit-column-count: 3;
           -moz-column-count: 3;
                column-count: 3; } }
    @media screen and (min-width: 64em) {
      .store-details-page .store-services-list {
        -webkit-column-count: 4;
           -moz-column-count: 4;
                column-count: 4; } }
  .store-details-page .map-container ul li {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background-color: #8a8a8a;
    display: inline-block;
    margin-right: 2px;
    min-width: 110px;
    text-align: center; }
    .store-details-page .map-container ul li.ui-state-active {
      background-color: #ff6900; }
    .store-details-page .map-container ul li a.ui-tabs-anchor {
      color: #fff;
      display: block;
      font-size: 1.125rem;
      padding: 0 10px; }
  .store-details-page .title-main-section {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    border-left: 3px solid #ff6900;
    font-size: 1rem;
    margin: 0 0 25px;
    padding: 0 0 0 18px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .store-details-page .title-main-section {
        font-size: 1.5rem; } }
    .store-details-page .title-main-section.review-title {
      margin: 1.875rem 0 1.25rem; }

.store-location-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (max-width: 47.9375em) {
    .store-location-info {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse; } }
  .store-location-info .store-distance {
    font-size: 0.75rem; }

.store-locator-page-wrapper {
  position: relative; }

.store-details-sidebar {
  background-color: #fff;
  height: calc(100% - 320px);
  left: -100%;
  margin-top: 320px;
  overflow: hidden;
  position: absolute;
  -webkit-transition: top 0.3s ease-in-out;
  transition: top 0.3s ease-in-out;
  width: 100%;
  z-index: 2; }
  @media screen and (min-width: 48em) {
    .store-details-sidebar {
      height: 100%;
      left: -40%;
      margin-top: 0;
      opacity: 0;
      top: 0;
      -webkit-transition: left 0.4s ease-in-out, opacity 0.4s ease-in-out;
      transition: left 0.4s ease-in-out, opacity 0.4s ease-in-out;
      width: 40%; } }
  .store-details-sidebar.open {
    left: 0;
    opacity: 1;
    overflow: visible; }
    @media screen and (min-width: 48em) {
      .store-details-sidebar.open {
        overflow: auto; } }

.map-container {
  position: relative; }
  @media screen and (max-width: 47.9375em) {
    .map-container .gmnoprint,
    .map-container .gm-control-active,
    .map-container .gm-iv-address,
    .map-container .gps-toggle {
      display: none; } }

.store-details-mode .switch-to-street-view,
.store-details-mode .switch-to-map-view {
  margin: 0.3125rem 0 0;
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .store-details-mode .switch-to-street-view,
    .store-details-mode .switch-to-map-view {
      font-size: 0.5625rem;
      padding: 0.3125rem; } }

.store-details-mode .street-view-wrapper {
  height: 100%;
  width: 100%; }
  .store-details-mode .street-view-wrapper #streetview {
    height: 100%; }

.store-details-mode .is-small-view {
  background: #fff;
  bottom: 25px;
  height: 250px;
  left: 20px;
  padding: 0.9375rem 0.9375rem 3.75rem;
  position: absolute;
  width: 200px;
  z-index: 2; }
  @media screen and (max-width: 47.9375em) {
    .store-details-mode .is-small-view {
      height: 140px;
      padding: 0.625rem 0.625rem 2.1875rem;
      width: 110px; } }
  .store-details-mode .is-small-view .map-view,
  .store-details-mode .is-small-view .street-view {
    pointer-events: none; }
    .store-details-mode .is-small-view .map-view .gmnoprint,
    .store-details-mode .is-small-view .map-view .gm-control-active,
    .store-details-mode .is-small-view .map-view .gm-iv-address,
    .store-details-mode .is-small-view .map-view .gps-toggle,
    .store-details-mode .is-small-view .street-view .gmnoprint,
    .store-details-mode .is-small-view .street-view .gm-control-active,
    .store-details-mode .is-small-view .street-view .gm-iv-address,
    .store-details-mode .is-small-view .street-view .gps-toggle {
      display: none; }
  .store-details-mode .is-small-view #streetview {
    height: 100%; }

.map-accordion {
  bottom: 20px;
  position: absolute; }

.cta-buttons .link {
  display: inline;
  margin: 0;
  padding-right: 0.9375rem; }

.icon-angle-left::before {
  color: #ff6900;
  font-size: 1.25rem;
  margin: 0;
  width: auto; }

.accessibility-table {
  border-spacing: 1px; }
  .accessibility-table td {
    border-right: 1px solid #e6e6e6; }
    .accessibility-table td:last-child {
      border-right: 0; }

.account-subtitle {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.875rem;
  margin-bottom: 1.75rem; }
  @media screen and (min-width: 64em) {
    .account-subtitle {
      font-size: 1.125rem;
      margin-bottom: 3rem; } }
  .account-subtitle .link {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.8125rem; }

.account-section-heading {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  margin: 25px 0; }
  .account-section-heading.top-heading {
    margin-top: 10px; }
  .account-section-heading + .back {
    margin-top: -1.3rem; }

.modify-appointment-button {
  margin-top: 30px;
  max-width: 208px; }
  .modify-appointment-button .modify-account {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 28px;
    text-align: center; }

.account-section {
  padding-bottom: 3rem; }
  @media screen and (min-width: 48em) {
    .account-section {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-top: 3rem; } }
  @media screen and (max-width: 47.9375em) {
    .account-section .nav-wrapper.columns {
      padding: 0; } }
  @media screen and (max-width: 47.9375em) {
    .account-section .content-wrapper {
      padding: 25px 15px; } }
  .account-section .my-garage-page-title {
    margin-bottom: 15px; }
  .account-section .order-history-description {
    font-size: 1rem;
    margin-bottom: 25px; }
    @media screen and (min-width: 48em) {
      .account-section .order-history-description {
        max-width: 75%; } }
  .account-section .back {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.8125rem;
    margin-bottom: 1.75rem; }
    .account-section .back a::before {
      content: "\f053";
      display: inline-block;
      font-family: fontawesome;
      font-size: 0.5rem;
      line-height: 0.9375rem;
      vertical-align: middle; }
  .account-section .button-group {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    width: 100%; }
    .account-section .button-group .button-link {
      color: #000;
      margin-left: 15px;
      text-align: center; }
    .account-section .button-group .button-link,
    .account-section .button-group .button {
      -ms-flex-preferred-size: 30%;
          flex-basis: 30%;
      margin-top: 0;
      width: auto; }
      @media screen and (min-width: 48em) {
        .account-section .button-group .button-link,
        .account-section .button-group .button {
          -ms-flex-preferred-size: 20%;
              flex-basis: 20%; } }
  .account-section .order-history-footer {
    margin-top: 20px; }
    .account-section .order-history-footer .here-to-help {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .account-section .order-history-footer .action-box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
    .account-section .order-history-footer .orderSummaryLiveChat,
    .account-section .order-history-footer .phone-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #ff6900; }
    .account-section .order-history-footer .action-icon .card-icon {
      max-height: 16px; }
    .account-section .order-history-footer .main-section-title {
      font-size: 18px; }
  .account-section .modify-appointment-important {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #ff6900; }
  .account-section .modify-appointment-info {
    padding: 1rem 1.25rem 0.1rem; }
    @media screen and (min-width: 48em) {
      .account-section .modify-appointment-info {
        padding: 1.875rem; } }
  .account-section .no-orders-selectors {
    margin: 0 -10px; }
    .account-section .no-orders-selectors .selector-container {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      padding: 10px; }
    .account-section .no-orders-selectors .no-order-selector-tab {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background: #f2f2f2;
      cursor: pointer;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      margin-top: 15px;
      padding: 15px;
      position: relative; }
      .account-section .no-orders-selectors .no-order-selector-tab:hover::before {
        border-left: 10px solid #ff6900;
        bottom: 0;
        content: "";
        display: block;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0; }
    .account-section .no-orders-selectors .selector-image {
      float: left;
      min-width: 120px;
      overflow: hidden;
      padding-right: 15px;
      width: 120px; }
    .account-section .no-orders-selectors .selector-tab-title {
      font-size: 20px;
      text-transform: uppercase; }

.account-block-border {
  margin-bottom: 1.25rem; }
  .account-block-border.personal-info {
    position: relative; }
    @media screen and (min-width: 48em) {
      .account-block-border.personal-info {
        padding-top: 0; } }
  .account-block-border.order-block {
    border: 1px solid #e8e8e9; }
  .account-block-border .account-info-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 0; }
  .account-block-border .label-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .account-block-border label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    line-height: 1.5;
    margin: 0; }
    .account-block-border label .top-label {
      font-size: 14px; }
      .account-block-border label .top-label a {
        font-size: 14px; }
  .account-block-border .account-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem; }
  .account-block-border .ps-results-image-tip {
    border: 0;
    display: block;
    font-weight: normal; }
  .account-block-border .email-address-info {
    border: 1px solid #ccc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 10px;
    padding: 10px 15px;
    position: relative;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .account-block-border .email-address-info {
        width: 80%; } }

.account-email-tooltip .tooltip-phone {
  color: #ff6900;
  font-weight: bold; }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.account-page .mobile-account-label .account-page,
  .secondary-navigation.order-page .mobile-account-label .order-page {
    display: block; } }

.secondary-navigation .menu-items-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (max-width: 47.9375em) {
    .secondary-navigation .menu-items-wrapper.expanded {
      background-color: #f2f2f2;
      padding-bottom: 30px; } }

@media screen and (min-width: 48em) {
  .secondary-navigation .menu.vertical > li.menu-item.highlighted a {
    color: #c75300;
    font-weight: 700;
    text-decoration: underline; } }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation .menu.vertical > li.menu-item {
    background-color: #fff;
    border-bottom: 1px solid #ccc;
    display: none;
    padding: 0 20px 0 30px; }
    .secondary-navigation .menu.vertical > li.menu-item .toggle-icon {
      display: none; }
    .secondary-navigation .menu.vertical > li.menu-item.highlighted {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #ff6900;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .secondary-navigation .menu.vertical > li.menu-item.highlighted .toggle-icon {
        display: block; } }

.secondary-navigation .menu li a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #000;
  font-size: 16px;
  margin: 10px 0;
  padding: 0; }
  @media screen and (max-width: 47.9375em) {
    .secondary-navigation .menu li a {
      margin: 15px 0; } }
  .secondary-navigation .menu li a:hover {
    background: transparent;
    text-decoration: underline; }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.account-page .menu-item {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    .secondary-navigation.account-page .menu-item.account-page {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.order-page .menu-item {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    .secondary-navigation.order-page .menu-item.order-page {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.carfax-history-page .menu-item {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    .secondary-navigation.carfax-history-page .menu-item.carfax-history-page {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

.mobile-account-menu {
  border: 1px solid #ccc;
  font-size: 13px;
  margin-bottom: 1.25rem;
  padding: 0.75rem; }
  .mobile-account-menu li a {
    color: #000;
    padding: 0.3125rem 0 0.625rem; }
  .mobile-account-menu:hover,
  .mobile-account-menu .active-submenu {
    border-color: #000; }

.menu.mobile-account-list {
  margin: 0.75rem 0.3125rem 0; }

.menu li .mobile-account-label {
  padding: 0; }
  .menu li .mobile-account-label span {
    display: none; }
  .menu li .mobile-account-label::after {
    color: #000;
    content: "\f0dc";
    font-family: fontawesome;
    font-size: 14px;
    right: -2px;
    top: 0.25rem; }

@media screen and (max-width: 47.9375em) {
  .button-group.no-bot-margin {
    margin: 0; } }

.account-block-grey {
  background: #f2f2f2;
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem 0.1rem; }
  @media screen and (min-width: 48em) {
    .account-block-grey {
      padding: 1.875rem 1.875rem 0.5rem; } }
  .account-block-grey .openLiveChatButton b {
    font-weight: bold !important; }
  @media screen and (max-width: 47.9375em) {
    .account-block-grey b {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-weight: normal; } }
  .account-block-grey h5 {
    margin-bottom: 0.75rem; }
    @media screen and (max-width: 47.9375em) {
      .account-block-grey h5 {
        font-size: 16px;
        line-height: 21px; } }
    @media screen and (min-width: 48em) {
      .account-block-grey h5 {
        margin-bottom: 0.375rem; } }
  .account-block-grey p {
    font-size: 14px; }
    @media screen and (min-width: 48em) {
      .account-block-grey p a {
        margin: 1.75rem 0 0.25rem; } }
    .account-block-grey p a:not(.phone-link) {
      display: block; }
      @media screen and (max-width: 47.9375em) {
        .account-block-grey p a:not(.phone-link) {
          margin-bottom: 1rem; } }

@media screen and (max-width: 47.9375em) {
  .bottom-space-mobile {
    margin-bottom: 1.25rem; } }

.button-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  margin-top: 0.625rem;
  padding: 0.75rem 0;
  text-align: center;
  vertical-align: middle;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .button-link {
      margin: 0 0 0 1.25rem;
      text-align: left;
      width: auto; } }

.pt_account .phone-link,
.pt_order .phone-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .pt_account .phone-link,
    .pt_order .phone-link {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000; }
      .pt_account .phone-link:hover,
      .pt_order .phone-link:hover {
        color: #000; } }

.orderdetails .order-shipments .product-brand,
.order-history-list .product-brand {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 0.875rem;
  line-height: 1; }

.orderdetails .order-shipments .product-name,
.order-history-list .product-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1; }
  @media screen and (min-width: 64em) {
    .orderdetails .order-shipments .product-name,
    .order-history-list .product-name {
      font-size: 1.125rem; } }

.order-history-list {
  margin-left: 0; }
  .order-history-list .label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: transparent;
    color: #000;
    display: block;
    font-size: 15px;
    padding: 0; }
    .order-history-list .label .fa {
      font-size: 18px; }
    .order-history-list .label .fa-calendar-o {
      margin: 0 0.3125rem 0 0; }
  @media screen and (max-width: 47.9375em) {
    .order-history-list .accordion-order-header {
      margin: 15px 0; } }
  .order-history-list .order-history-items {
    padding-top: 20px; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-history-items {
        padding-top: 25px; } }
    @media screen and (min-width: 48em) {
      .order-history-list .order-history-items .row {
        width: 100%; } }
    @media screen and (max-width: 47.9375em) {
      .order-history-list .order-history-items .columns {
        padding: 0; } }
    .order-history-list .order-history-items .order-totals {
      border-top: 1px solid #ccc;
      margin: 0; }
      .order-history-list .order-history-items .order-totals .order-value {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .order-history-list .order-history-items .order-totals .total-value-row {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
      .order-history-list .order-history-items .order-totals .order-totals-row,
      .order-history-list .order-history-items .order-totals .row {
        margin: 0; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-history-items .order-info {
        padding-top: 25px; } }
    .order-history-list .order-history-items .order-info .order-info-row {
      margin: 0; }
      .order-history-list .order-history-items .order-info .order-info-row .row {
        margin: 0; }
    .order-history-list .order-history-items .order-info .main-section-header {
      display: none; }
    .order-history-list .order-history-items .order-info .line-items {
      padding: 0; }
      .order-history-list .order-history-items .order-info .line-items .product-row {
        margin-left: 0;
        margin-right: 0; }
      .order-history-list .order-history-items .order-info .line-items .orderdetails-productvalues,
      .order-history-list .order-history-items .order-info .line-items .orderdetails-productname {
        padding: 0; }
      .order-history-list .order-history-items .order-info .line-items .row {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 10px 0; }
    .order-history-list .order-history-items .order-info .order-payment-summary {
      border-bottom: 0;
      border-left: 0;
      border-right: 0;
      padding-left: 0;
      padding-right: 0; }
    .order-history-list .order-history-items .order-info,
    .order-history-list .order-history-items .order-totals {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000;
      padding-top: 20px; }
    .order-history-list .order-history-items .value-column {
      text-align: right; }
  .order-history-list .order-history-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .order-history-list .order-history-header button {
      margin-top: 1.625rem;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-history-header button {
          width: auto; } }
    .order-history-list .order-history-header .label {
      margin-bottom: 0.375rem; }
    .order-history-list .order-history-header .value {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000;
      display: block;
      font-size: 14px;
      margin-bottom: 1rem; }
      .order-history-list .order-history-header .value.paid-online {
        margin: 0; }
    .order-history-list .order-history-header .order-header-info {
      border-bottom: 1px solid #ccc;
      color: #000;
      margin: 0;
      padding-bottom: 5px;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-history-header .order-header-info .row {
          margin: 0; } }
      .order-history-list .order-history-header .order-header-info .columns {
        padding: 0; }
    .order-history-list .order-history-header .order-location {
      text-transform: capitalize; }
    .order-history-list .order-history-header .order-information-client .value,
    .order-history-list .order-history-header .order-location .value {
      margin-bottom: 0; }
    .order-history-list .order-history-header .cancelled-order,
    .order-history-list .order-history-header .modified-order {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
    .order-history-list .order-history-header .modified-order {
      color: #ff6900;
      font-size: 12px;
      margin-bottom: 0; }
    .order-history-list .order-history-header .cancelled-order {
      color: #f00; }
  .order-history-list .order-history-table {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 15px; }
    .order-history-list .order-history-table tbody {
      border: 0; }
      .order-history-list .order-history-table tbody tr {
        background: transparent; }
    .order-history-list .order-history-table th,
    .order-history-list .order-history-table td {
      line-height: 1.25rem;
      padding: 0 0 1.375rem; }
      .order-history-list .order-history-table th:first-child,
      .order-history-list .order-history-table td:first-child {
        width: 56%; }
      .order-history-list .order-history-table th:last-child,
      .order-history-list .order-history-table td:last-child {
        text-align: right;
        width: 10%; }
    .order-history-list .order-history-table th {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-weight: normal;
      text-align: left; }
    .order-history-list .order-history-table .old-price {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.75rem;
      text-decoration: line-through; }
  .order-history-list .order-block .order-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    color: #000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 14px;
    font-weight: 500;
    height: 64px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 20px; }
    .order-history-list .order-block .order-title::after {
      border: 0;
      color: #848484;
      content: "\f107";
      display: block;
      font-family: "fontello";
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      height: auto;
      line-height: 1em;
      position: absolute;
      right: 20px;
      text-align: center;
      text-transform: none;
      top: 8px;
      width: 1em; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title::after {
          font-size: 1.25rem;
          top: 50%;
          -webkit-transform: translateY(-30%);
              -ms-transform: translateY(-30%);
                  transform: translateY(-30%); } }
    .order-history-list .order-block .order-title[aria-expanded="true"]::after {
      -webkit-transform: scaleY(-1);
          -ms-transform: scaleY(-1);
              transform: scaleY(-1);
      -webkit-transform-origin: 50% 50%;
          -ms-transform-origin: 50% 50%;
              transform-origin: 50% 50%; }
    .order-history-list .order-block .order-title .order-total {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000;
      font-size: 1rem;
      font-weight: bold;
      margin-right: 30px; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title .order-total {
          font-size: 1.125rem; } }
    .order-history-list .order-block .order-title .order-number-status {
      display: block; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title .order-number-status {
          font-size: 18px; } }
    .order-history-list .order-block .order-title .order-vehicle-name {
      display: block;
      padding: 10px 0 15px; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title .order-vehicle-name {
          padding: 10px 0 0; } }
      .order-history-list .order-block .order-title .order-vehicle-name.unknown {
        color: #979797; }
  .order-history-list .order-block .accordion-content {
    border: 0;
    margin: 0;
    min-height: 70px;
    padding: 16px 10px 0;
    position: relative; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-block .accordion-content {
        padding: 16px 23px 0; } }
  .order-history-list .order-block .car-appointment-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    background: #f2f2f2;
    color: #000;
    font-size: 0.875rem;
    line-height: 22px;
    margin-bottom: 20px;
    padding: 10px; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-block .car-appointment-info {
        margin-bottom: 30px;
        padding: 20px; } }
  .order-history-list .load-more-container {
    position: relative;
    text-align: center;
    width: 100%; }
  .order-history-list .productvalues-column {
    font-size: 14px; }
    @media screen and (min-width: 48em) {
      .order-history-list .productvalues-column {
        font-size: 16px; } }
    .order-history-list .productvalues-column .mobile-titles {
      font-family: "gotham-bold", Arial;
      font-weight: bold; }

.orderdetails .order-information {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 1rem;
  margin: 0 0 25px;
  padding-top: 0.625rem; }
  @media screen and (min-width: 48em) {
    .orderdetails .order-information {
      padding-top: 1.625rem; } }
  .orderdetails .order-information .order-number {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    margin: 0 0 5px; }
    @media screen and (min-width: 48em) {
      .orderdetails .order-information .order-number {
        margin: 0 0 10px; } }
    .orderdetails .order-information .order-number .value {
      color: #000; }

.orderdetails .account-block-grey .label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.orderdetails .label {
  background: transparent;
  color: #000;
  font-size: 1em;
  padding: 0; }

.orderdetails .account-block-border {
  border-width: 2px;
  margin-bottom: 1.875rem; }
  @media screen and (min-width: 48em) {
    .orderdetails .account-block-border {
      margin-bottom: 2.8125rem; } }

.orderdetails .account-section-heading {
  margin-bottom: 1.875rem; }

.orderdetails .mini-address-location p,
.orderdetails .account-info p,
.orderdetails .appointment-info p {
  font-size: 0.875rem;
  margin: 0; }
  .orderdetails .mini-address-location p.email,
  .orderdetails .account-info p.email,
  .orderdetails .appointment-info p.email {
    display: none; }

.orderdetails .appointment-time {
  color: #808285; }

.orderdetails .line-sections-separator::before {
  background: #f2f2f3; }

.account-info-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.account-info-message {
  color: #808285;
  display: block; }

.order-payment-summary {
  border: 2px solid #ccc;
  margin: 0;
  padding: 1rem 1.25rem 0; }
  .order-payment-summary::before, .order-payment-summary::after {
    content: ' ';
    display: table; }
  .order-payment-summary::after {
    clear: both; }
  @media screen and (min-width: 48em) {
    .order-payment-summary {
      padding: 1.5625rem 1.875rem 0; } }
  .order-payment-summary .order-summary-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.125rem;
    margin: 0 0 1.5625rem; }
    @media screen and (min-width: 48em) {
      .order-payment-summary .order-summary-title {
        display: none; } }
  @media screen and (min-width: 48em) {
    .order-payment-summary .order-detail-summary {
      float: right;
      padding-left: 0.625rem;
      width: 58.33333%; } }
  @media screen and (min-width: 64em) {
    .order-payment-summary .order-detail-summary {
      width: 41.66667%; } }
  .order-payment-summary .vehicle-info {
    display: none; }
  .order-payment-summary .order-totals-table {
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .order-payment-summary .order-totals-table .amount-total-paid {
        border-top: 1px solid #f2f2f3; }
        .order-payment-summary .order-totals-table .amount-total-paid td {
          padding-top: 15px; }
      .order-payment-summary .order-totals-table .order-total td {
        padding-bottom: 15px; } }
    .order-payment-summary .order-totals-table tbody {
      border: 0; }
      .order-payment-summary .order-totals-table tbody tr:nth-child(even) {
        background: transparent; }
      .order-payment-summary .order-totals-table tbody td {
        padding: 0; }
        @media screen and (min-width: 48em) {
          .order-payment-summary .order-totals-table tbody td {
            padding: 5px 0; } }
    .order-payment-summary .order-totals-table tr {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.875rem; }
      .order-payment-summary .order-totals-table tr td:first-child {
        padding-right: 0.625rem;
        text-align: left; }
      .order-payment-summary .order-totals-table tr td:last-child {
        text-align: right; }
      .order-payment-summary .order-totals-table tr.bold {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
      @media screen and (min-width: 48em) {
        .order-payment-summary .order-totals-table tr.order-total {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 400; } }
      .order-payment-summary .order-totals-table tr.amount-total-paid.bold, .order-payment-summary .order-totals-table tr.amount-store-total.bold {
        font-size: 0.9375rem; }
  .order-payment-summary .currency-code {
    font-size: 0.5625rem; }

.account-info-row .account-info-wrapper {
  border-bottom: 1px solid #e8e8e9;
  padding: 15px 0; }
  .account-info-row .account-info-wrapper p {
    margin: 0; }

.account-info-row.expanded .account-info-wrapper {
  display: none; }

.account-info-row.expanded .edit-form {
  display: block; }

.account-info-row .edit-form {
  display: none;
  margin-top: 15px; }
  .account-info-row .edit-form .required-indicator {
    display: none; }

.account-info-row .password-dots {
  font-size: 12px;
  letter-spacing: -2px; }
  .account-info-row .password-dots .icon-circle::before {
    color: #424242;
    margin: 0;
    padding: 0;
    width: 12px; }

.account-info-row .reset-password-button {
  font-size: 14px; }

.account-info-row .edit-toggle {
  color: #c75300;
  font-size: 14px; }

.account-info-row .int-phone-testing {
  margin: 15px 0; }

.verification-modal {
  padding: 25px;
  width: 500px; }
  @media screen and (max-width: 47.9375em) {
    .verification-modal {
      height: auto;
      margin: 20px;
      min-height: auto;
      width: auto; } }
  .verification-modal .close-button {
    color: #ff6900;
    font-size: 22px;
    top: 20px; }
  .verification-modal .verification-title {
    font-size: 16px;
    margin-bottom: 30px; }
  .verification-modal .icon-verify-method::before {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 16px; }
  .verification-modal .verification-method {
    font-weight: normal;
    overflow-wrap: break-word;
    padding: 3px 0;
    text-transform: none;
    word-break: break-all; }
  .verification-modal .verification-text-message {
    font-size: 12px;
    line-height: 16px;
    margin: 0; }
  .verification-modal .customer-contact {
    font-weight: 500; }
  .verification-modal .verification-actions {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 15px; }
    .verification-modal .verification-actions.disable-resend {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  .verification-modal .verify-code-btn {
    margin: 0;
    padding: 10px 18px; }
    .verification-modal .verify-code-btn[disabled] {
      border-color: #808285; }
  .verification-modal .resend-code {
    color: #c75300;
    font-size: 13px;
    font-weight: 400;
    text-align: left;
    text-decoration: underline; }
  .verification-modal .verification-code-sent {
    margin-bottom: 10px; }
  .verification-modal .verification-error {
    color: #f00;
    font-size: 12px;
    margin: 0; }
  .verification-modal .icon-resend::before {
    margin: 0; }
  .verification-modal .verify-code-form {
    margin-top: 20px; }

.send-verification-code-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (max-width: 47.9375em) {
    .send-verification-code-form {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .send-verification-code-form .send-verification-code {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 110px;
    padding: 10px; }
    @media screen and (min-width: 48em) {
      .send-verification-code-form .send-verification-code {
        max-width: 220px;
        width: 100%; } }
    .send-verification-code-form .send-verification-code[disabled] {
      background-color: #e5e5e5;
      border-color: #e5e5e5; }

.cart-summary-box .product-name {
  text-transform: uppercase; }

.cart-summary-box .line-item .product-brand,
.cart-summary-box .line-item .product-name,
.cart-summary-box .line-item .line-item-price,
.cart-summary-box .line-item .item-quantity,
.cart-summary-box .line-item .price-total {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem; }

.cart-summary-box .line-item .front-back-set-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }

.cart-summary-box .line-item .currency-code {
  font-size: 0.5625rem; }

.login-modal {
  height: 160px;
  min-height: 160px;
  position: absolute !important;
  width: 400px; }
  @media screen and (min-width: 48em) {
    .login-modal {
      height: 175px;
      min-height: 175px; } }
  @media screen and (max-width: 63.9375em) {
    .login-modal {
      margin-top: 70px !important;
      max-width: calc(100vw - 20px); } }
  .login-modal .close-button {
    color: #000; }
  .login-modal .login-modal-title {
    margin-bottom: 15px; }
  .login-modal p {
    font-size: 14px;
    margin-bottom: 15px;
    padding: 10px 0; }
    @media screen and (min-width: 48em) {
      .login-modal p {
        font-size: 15px;
        margin-bottom: 20px; } }
  .login-modal a {
    margin: 0; }
  .login-modal .no-thanks {
    padding: 8px; }
    .login-modal .no-thanks a {
      color: #000;
      font-size: 14px; }
    .login-modal .no-thanks :hover {
      text-decoration: underline; }
  .login-modal .cb-cta.button-full-white {
    padding: 8px 60px; }

@media screen and (max-width: 47.9375em) {
  .pt_mygarage .columns.mobile-padding-right-6px {
    padding-right: 6px; }
  .pt_mygarage .columns.mobile-padding-left-6px {
    padding-left: 6px; } }

.pt_mygarage .width-50-percent {
  width: 50%; }

.pt_mygarage .dotted-border {
  border-bottom: 3.5px dotted #ff6900; }

.pt_mygarage .arrow {
  color: #ff6900; }

.pt_mygarage .top-section,
.pt_mygarage .top-section-archive {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 15px 0; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .top-section,
    .pt_mygarage .top-section-archive {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .pt_mygarage .top-section p,
      .pt_mygarage .top-section .car-add-new,
      .pt_mygarage .top-section button,
      .pt_mygarage .top-section-archive p,
      .pt_mygarage .top-section-archive .car-add-new,
      .pt_mygarage .top-section-archive button {
        width: 100%; }
      .pt_mygarage .top-section .car-add-new,
      .pt_mygarage .top-section-archive .car-add-new {
        margin-top: 25px; } }
  .pt_mygarage .top-section p,
  .pt_mygarage .top-section-archive p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 18px;
    font-weight: 700;
    line-height: 21.6px;
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .pt_mygarage .top-section p,
      .pt_mygarage .top-section-archive p {
        font-size: 16px; } }

@media screen and (max-width: 47.9375em) {
  .pt_mygarage .top-section {
    margin: 0; } }

@media screen and (max-width: 47.9375em) {
  .pt_mygarage .top-section-archive p {
    width: 75%; }
  .pt_mygarage .top-section-archive button {
    width: 30%; } }

.pt_mygarage .subtitle-text {
  font-size: 16px;
  margin-bottom: 25px; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .subtitle-text {
      font-size: 14px; } }

.pt_mygarage .car-add-new button.cb-cta.button-hollow-black {
  font-size: 13px;
  margin: 0;
  padding: 11px 15px; }

.pt_mygarage .cars-container,
.pt_mygarage .cars-container-archived {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .cars-container,
    .pt_mygarage .cars-container-archived {
      margin-left: -15px;
      width: calc(100% + 30px); } }

.pt_mygarage .car-container {
  background: #f2f2f2;
  margin-bottom: 50px;
  padding: 10px 10px 30px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_mygarage .car-container {
      margin-bottom: 30px;
      padding: 10px; } }
  .pt_mygarage .car-container p {
    margin: 0; }
  .pt_mygarage .car-container .cb-cta {
    margin: 5px 0; }

.pt_mygarage .car-visuals {
  -ms-flex-line-pack: center;
      align-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  text-align: center; }

.pt_mygarage .car-information {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 13px;
  height: 100%;
  line-height: 1;
  padding: 15px;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_mygarage .car-information::before {
      border-color: #fff transparent;
      border-style: solid;
      border-width: 14px 14px 0;
      content: "";
      display: block;
      left: -21px;
      position: absolute;
      top: calc(50% - 7px);
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg);
      width: 0;
      z-index: 0; } }

.pt_mygarage .car-image {
  max-height: 100%;
  max-width: 100%;
  min-height: 70px;
  padding: 10px 10px 0; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .car-image {
      max-height: 100px;
      max-width: 200px;
      min-height: 90px; } }
  .pt_mygarage .car-image .loader {
    display: block; }

.pt_mygarage .car-name,
.pt_mygarage .car-vin,
.pt_mygarage .car-plate-add,
.pt_mygarage .car-plate-edit {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #ff6900;
  cursor: pointer;
  font-size: 12px;
  line-height: 14.4px;
  padding-top: 2px;
  text-decoration: underline;
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .car-name,
    .pt_mygarage .car-vin,
    .pt_mygarage .car-plate-add,
    .pt_mygarage .car-plate-edit {
      margin-bottom: 15px; } }

.pt_mygarage .car-plate-edit,
.pt_mygarage .car-name,
.pt_mygarage .car-vin {
  color: #000;
  padding-bottom: 4px;
  text-decoration: none; }
  .pt_mygarage .car-plate-edit span,
  .pt_mygarage .car-name span,
  .pt_mygarage .car-vin span {
    text-decoration: underline; }

.pt_mygarage .car-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 17px;
  line-height: 1; }

.pt_mygarage .car-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 14px;
  font-weight: 500;
  line-height: 16.8px; }
  .pt_mygarage .car-name i {
    color: #ff6900;
    font-size: 15px; }

.pt_mygarage .car-tire-wheel > div {
  line-height: 17px;
  margin-top: 14px; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .car-tire-wheel > div {
      margin-top: 12px; } }

.pt_mygarage .car-tire-wheel,
.pt_mygarage .car-info-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }

.pt_mygarage .car-info-bottom {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  margin-top: auto;
  padding-top: 16px;
  row-gap: 17px; }
  .pt_mygarage .car-info-bottom a {
    color: #000; }
    @media screen and (max-width: 47.9375em) {
      .pt_mygarage .car-info-bottom a {
        width: 100%; } }

.pt_mygarage .car-no-order-history {
  color: #808285; }

.pt_mygarage .car-appointment {
  background: #fff;
  border-left: 5px solid #ff6900;
  margin-top: 16px;
  padding: 15px 20px; }

.pt_mygarage .car-appointment-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
  padding-bottom: 5px; }

.pt_mygarage .car-appointment-info {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px; }

.pt_mygarage .appointment-map,
.pt_mygarage .modify-appointment {
  color: #ff6900; }

.pt_mygarage .appointment-map {
  text-transform: capitalize; }

.pt_mygarage .modify-appointment {
  font-size: 0.875rem; }

.pt_mygarage .car-buy-actions {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  margin-top: 6px; }
  .pt_mygarage .car-buy-actions a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    font-size: 13px;
    line-height: 15px;
    text-align: center; }
    @media screen and (max-width: 47.9375em) {
      .pt_mygarage .car-buy-actions a {
        font-size: 11px;
        line-height: 12px; } }
    .pt_mygarage .car-buy-actions a:last-child {
      margin-right: 0; }

.pt_mygarage .car-buy-action,
.pt_mygarage .services-cta {
  width: 100%; }
  .pt_mygarage .car-buy-action.cb-cta.button-hollow-black, .pt_mygarage .car-buy-action.cb-cta.button-full-white,
  .pt_mygarage .services-cta.cb-cta.button-hollow-black,
  .pt_mygarage .services-cta.cb-cta.button-full-white {
    padding: 11px 0; }

.pt_mygarage .services-cta {
  background-color: #fff; }
  .pt_mygarage .services-cta:hover, .pt_mygarage .services-cta:focus {
    background: #f6a583; }

.pt_mygarage .custom-class .questionmarkcircle {
  float: left; }

.pt_mygarage .highlight-existing-car {
  border: 2px solid #ff6900;
  -webkit-transition: border-width 0.5s linear;
  transition: border-width 0.5s linear; }
  .pt_mygarage .highlight-existing-car.transition-to-end {
    border-width: 0; }

.pt_mygarage .toggle-archived-cars {
  color: #000;
  font-size: 14px; }
  .pt_mygarage .toggle-archived-cars i {
    font-size: 10px;
    vertical-align: top; }

.pt_mygarage .archived-cars {
  margin-top: 20px; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .archived-cars {
      margin-left: -15px;
      width: calc(100% + 30px); } }

.service-actions-modal {
  top: 50%; }
  @media screen and (max-width: 47.9375em) {
    .service-actions-modal {
      height: auto;
      margin: auto;
      min-height: auto;
      width: 95%; } }
  .service-actions-modal .modal-title {
    margin: 8px 0;
    padding: 0 10px; }
  .service-actions-modal .car-buy-actions {
    padding: 10px 0; }
  .service-actions-modal .car-buy-action {
    text-align: center;
    width: 100%; }
  .service-actions-modal .modal-close {
    background-color: transparent;
    color: #ff6900;
    position: absolute;
    right: 15px;
    top: 15px; }
    .service-actions-modal .modal-close span {
      font-size: 30px;
      font-weight: 600;
      line-height: 1; }

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

.flex-order-1 {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1; }

.garage-modal-title {
  margin-bottom: 30px; }

[form-ctrl] .vin-container {
  display: none; }

[form-ctrl][form-ctrl="carfax"] .vin-container, [form-ctrl][form-ctrl="editVehicleData"] .vin-container {
  display: block; }

.garage-modal {
  width: 100%; }
  .garage-modal#verify-vehicle-modal .description {
    font-size: 14px;
    line-height: 22px; }
  .garage-modal .modal-title {
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 20px; }
  .garage-modal .modal-close {
    background-color: transparent;
    position: absolute;
    right: 15px;
    top: 15px; }
    .garage-modal .modal-close span {
      font-size: 30px;
      font-weight: 400;
      line-height: 1; }
  .garage-modal .description {
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 20px;
    padding: 0; }
  .garage-modal .vehicles-section {
    gap: 20px; }
    .garage-modal .vehicles-section .car-container {
      max-width: calc(50% - 10px);
      padding: 0; }
  .garage-modal .name-your-vehicle-fields {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 15px; }
    @media screen and (max-width: 47.9375em) {
      .garage-modal .name-your-vehicle-fields .field-container {
        max-width: 100%;
        min-width: 100%; }
        .garage-modal .name-your-vehicle-fields .field-container:nth-child(even), .garage-modal .name-your-vehicle-fields .field-container:nth-child(odd) {
          padding-left: 0;
          padding-right: 0; } }
    .garage-modal .name-your-vehicle-fields .field-container {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin-bottom: 15px;
      max-width: 50%;
      min-width: 50%; }
      .garage-modal .name-your-vehicle-fields .field-container:nth-child(even) {
        padding-left: 15px; }
      .garage-modal .name-your-vehicle-fields .field-container:nth-child(odd) {
        padding-right: 15px; }
      .garage-modal .name-your-vehicle-fields .field-container .field-label {
        font-size: 14px;
        font-weight: bold;
        line-height: 16px; }
  .garage-modal .buttons-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .garage-modal .buttons-wrap.align-to-right {
      -webkit-box-pack: right;
          -ms-flex-pack: right;
              justify-content: right; }
    .garage-modal .buttons-wrap button {
      font-size: 12px;
      height: 42px;
      line-height: 20px;
      margin-bottom: 0;
      max-width: 200px;
      min-width: 200px;
      padding: 0 20px; }
      @media screen and (max-width: 47.9375em) {
        .garage-modal .buttons-wrap button {
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          max-width: none;
          min-width: auto; } }
      .garage-modal .buttons-wrap button:disabled {
        background-color: #e5e5e5;
        border-color: #e5e5e5;
        opacity: 1; }
    .garage-modal .buttons-wrap.fit-width button {
      max-width: none;
      min-width: 200px; }
  .garage-modal .close-button {
    color: #000; }
  .garage-modal p {
    padding: 10px 0; }
  .garage-modal a {
    margin: 0; }
  .garage-modal input {
    margin: 6px 0 0;
    padding: 10px 15px; }
  .garage-modal .plate-no-container {
    margin-bottom: 30px; }
  .garage-modal .cb-cta.button-hollow-black,
  .garage-modal .cb-cta.button-full-white {
    padding: 8px 60px; }

.vehicle-exists-modal {
  max-width: 400px; }

.plate-number-modal {
  min-height: 100px; }

.plate-number-modal,
.car-edit-modal,
.vehicle-info-modal,
#verify-vehicle-modal {
  max-width: 700px;
  padding: 30px; }
  .plate-number-modal .garage-vehicle-name,
  .car-edit-modal .garage-vehicle-name,
  .vehicle-info-modal .garage-vehicle-name,
  #verify-vehicle-modal .garage-vehicle-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    padding: 0 36px 20px 0; }

#verify-vehicle-modal {
  max-height: 80vh;
  overflow: auto; }

.car-edit-modal p {
  padding: 0 0 10px; }

.add-plate-no {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #ff6900;
  cursor: pointer;
  font-size: 12px;
  line-height: 14.4px;
  text-decoration: underline; }

.pt_order .d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

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

.pt_order .flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.pt_order .flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.pt_order .switcher-container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (min-width: 48em) {
    .pt_order .switcher-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }

.pt_order .switcher {
  display: block;
  margin-bottom: 16px;
  min-height: 1.5rem;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 48em) {
    .pt_order .switcher {
      text-align: end; } }

.pt_order .switcher-input {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 1.25rem;
  opacity: 0;
  padding: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  width: 1rem;
  z-index: -1; }
  .pt_order .switcher-input:checked ~ .switcher-label::before {
    border-color: #ff6900; }
  .pt_order .switcher-input:checked ~ .switcher-label::after {
    background-color: #ff6900;
    right: 3px; }

.pt_order .switcher-label {
  display: inline-block;
  line-height: 24px;
  margin: 0;
  padding-right: 45px;
  position: relative;
  vertical-align: top; }
  .pt_order .switcher-label::before {
    background-color: #fff;
    border: 1px solid #adb5bd;
    border-radius: 12.5px;
    content: "";
    display: block;
    height: 24px;
    pointer-events: all;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
    width: 39px; }
  .pt_order .switcher-label::after {
    background: 50% / 50% 50% no-repeat;
    background-color: #adb5bd;
    border-radius: 0.5rem;
    content: "";
    display: block;
    height: 18px;
    position: absolute;
    right: 18px;
    top: 3px;
    transition: transform 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,-webkit-transform 0.15s ease-in-out;
    width: 18px; }

.pt_order .order-history-filter-box {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px; }

.pt_order .order-history-filter-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 2px solid #e8e8e9;
  margin: 0;
  min-height: 122px;
  padding: 14px 10px 10px;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_order .order-history-filter-item {
      min-height: 125px; } }
  .pt_order .order-history-filter-item::before {
    border: 1px solid #e8e8e9;
    border-radius: 100%;
    content: "";
    height: 19px;
    position: absolute;
    right: 8px;
    top: 8px;
    width: 19px;
    z-index: 1; }

.pt_order .order-checkbox {
  opacity: 0;
  position: absolute;
  z-index: 1; }
  .pt_order .order-checkbox:checked ~ .order-history-filter-item {
    border: 2px solid #ff6900; }
    .pt_order .order-checkbox:checked ~ .order-history-filter-item::before {
      background-color: #ff6900;
      border-color: #ff6900; }
    .pt_order .order-checkbox:checked ~ .order-history-filter-item::after {
      border-bottom: 2px solid #fff;
      border-right: 2px solid #fff;
      content: "";
      display: inline-block;
      height: 10px;
      margin-left: 60%;
      position: absolute;
      right: 14px;
      top: 11px;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg);
      width: 6px;
      z-index: 1; }

.pt_order .car-image {
  max-width: 149px; }

.pt_order .car-name {
  padding: 6px 0 4px;
  text-align: center; }

.pt_order .car-plate,
.pt_order .car-name {
  font-size: 0.75rem;
  text-align: center; }

#carfax-history-modal {
  font-size: 0.75rem;
  max-width: 816px;
  padding: 1.25rem;
  top: 16px;
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    #carfax-history-modal {
      position: sticky; } }
  #carfax-history-modal .modal-content {
    max-height: 78vh; }
    @media screen and (max-width: 47.9375em) {
      #carfax-history-modal .modal-content {
        max-height: 78vh;
        /* Use vh as a fallback for browsers that do not support Custom Properties */
        max-height: calc(var(dynamicScreenSize, 1vh) * 100);
        overflow-y: scroll;
        padding-bottom: 20px; } }
  #carfax-history-modal .modal-title {
    font-size: 1.25rem;
    margin-bottom: 1.25rem; }
  #carfax-history-modal .modal-text {
    font-size: 1rem;
    line-height: 1.375rem; }
  #carfax-history-modal .carfax-history-header {
    margin-bottom: 1.25rem; }
    @media screen and (max-width: 47.9375em) {
      #carfax-history-modal .carfax-history-header {
        margin-top: 18px; } }
  #carfax-history-modal .license-plate-wrapper {
    background-color: #f2f2f2;
    padding: 12px 16px; }
    #carfax-history-modal .license-plate-wrapper .license-plate-header {
      font-size: 1.125rem;
      margin-bottom: 1.25rem; }
    #carfax-history-modal .license-plate-wrapper .license-plate-content {
      -webkit-column-gap: 1.25rem;
         -moz-column-gap: 1.25rem;
              column-gap: 1.25rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      @media screen and (max-width: 47.9375em) {
        #carfax-history-modal .license-plate-wrapper .license-plate-content {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      #carfax-history-modal .license-plate-wrapper .license-plate-content .column, #carfax-history-modal .license-plate-wrapper .license-plate-content .columns {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin-bottom: 0;
        padding: 0; }
      #carfax-history-modal .license-plate-wrapper .license-plate-content .license-plate-inner {
        margin-bottom: 20px; }
        #carfax-history-modal .license-plate-wrapper .license-plate-content .license-plate-inner .plate-number-input {
          margin-top: 8px; }
        #carfax-history-modal .license-plate-wrapper .license-plate-content .license-plate-inner .error:not(.licensePlate) > * {
          max-width: 232px; }
      #carfax-history-modal .license-plate-wrapper .license-plate-content .form-row {
        margin-bottom: 0; }
    #carfax-history-modal .license-plate-wrapper .error-vin {
      background-color: #ffe1be;
      color: #f00;
      display: none;
      padding: 6px; }
  #carfax-history-modal .input-custom {
    padding-left: 2px; }
  #carfax-history-modal .or-break {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 8px;
    padding: 0 10px;
    text-transform: uppercase; }
  #carfax-history-modal .or-break::before,
  #carfax-history-modal .or-break::after {
    border-bottom: 2px solid #f2f2f2;
    content: "";
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
    margin: auto; }
  #carfax-history-modal .or-break::before {
    margin-right: 10px; }
  #carfax-history-modal .or-break::after {
    margin-left: 10px; }
  #carfax-history-modal .vin-wrapper {
    background-color: #f2f2f2;
    padding: 12px 16px; }
    #carfax-history-modal .vin-wrapper .vin-header {
      font-size: 1.125rem;
      margin-bottom: 1.25rem; }
    #carfax-history-modal .vin-wrapper .vin-number-input {
      margin-top: 6px; }
  #carfax-history-modal .vehicle-information {
    font-size: 0.875rem;
    line-height: 1rem;
    margin-bottom: 10px; }

#carfax-delete-modal {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  max-width: 31.25rem;
  padding: 20px;
  width: 100%; }
  #carfax-delete-modal .modal-title {
    font-size: 1.25rem;
    margin-bottom: 1.375rem; }
  #carfax-delete-modal .modal-text {
    font-size: 1rem;
    line-height: 1.375rem; }
  #carfax-delete-modal .buttons-wrap {
    -webkit-column-gap: 60px;
       -moz-column-gap: 60px;
            column-gap: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 1.25rem; }
    #carfax-delete-modal .buttons-wrap button {
      -webkit-box-flex: 50%;
          -ms-flex: 50%;
              flex: 50%; }

#carfax-history-modal .carfax-modal-close,
#carfax-delete-modal .carfax-modal-close {
  cursor: pointer;
  font-size: 32px;
  line-height: 1;
  position: absolute;
  right: 1rem;
  top: 0.5rem;
  z-index: 5; }

#carfax-history-modal button,
#carfax-delete-modal button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 12px;
  height: 42px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

#carfax-delete-form,
#vehicle-fieldset {
  min-height: 42px;
  position: relative; }

.grey-line {
  border-bottom: 2px solid #f2f2f2;
  content: "";
  margin: 12px 0; }

.find-vin-wrapper .item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .find-vin-wrapper .item-content ul {
    list-style-type: disc; }

.modal-buttons {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 16px; }
  .modal-buttons .button {
    width: 200px; }

.service-unavailable-section {
  background-color: #f2f2f2;
  margin: 8px 0 24px;
  padding: 12px 16px; }
  .service-unavailable-section .section-title {
    display: none;
    font-size: 1.125rem;
    margin-bottom: 1.125rem; }
  .service-unavailable-section .unavailable-text {
    background-color: #ffe1be;
    color: #f00;
    padding: 6px; }

.vehicle-data-section {
  background-color: #f2f2f2;
  margin: 0;
  padding: 20px; }
  .vehicle-data-section .section-title {
    font-size: 1.125rem;
    margin-bottom: 20px; }
  .vehicle-data-section .checkbox-form {
    margin-bottom: 0; }
  .vehicle-data-section .vehicle-data-content .save-vehicle-container {
    margin-top: 9px; }
    .vehicle-data-section .vehicle-data-content .save-vehicle-container .save-vehicle-checkbox {
      -webkit-transform: scale(1.5);
          -ms-transform: scale(1.5);
              transform: scale(1.5); }

.modal-buttons .carflex-logo {
  height: 50px;
  width: 160px; }

.modal-buttons #carfax-search-button {
  background-color: #fff;
  border: 3px solid #202020;
  height: 45px;
  margin-left: auto;
  max-width: 150px;
  padding: 0; }

.modal-buttons #carfax-service-button {
  height: 45px;
  margin-left: 14px;
  max-width: 235px;
  padding: 0; }

.no-service-history {
  padding: 20px; }
  .no-service-history .section-title {
    font-size: 1.125rem;
    margin-bottom: 1.25rem; }
  .no-service-history p {
    margin-bottom: 1.25rem; }
  .no-service-history .no-service-button {
    margin-bottom: 0; }

@media screen and (max-width: 47.9375em) {
  .pt_carfax .row.atroot .content-column {
    padding-left: 0;
    padding-right: 0; } }

.pt_carfax .page-description {
  font-size: 1rem;
  margin-bottom: 25px; }

.pt_carfax .about-carfax-wrapper .about-carfax-title {
  margin-top: 3.125rem; }

.pt_carfax .about-carfax-wrapper .toggle-item .item-content {
  position: relative; }
  .pt_carfax .about-carfax-wrapper .toggle-item .item-content a {
    z-index: 2; }

.pt_carfax .no-service-history {
  margin-bottom: 3.125rem; }

.service-history-wrap[toggle-state="initial"] .service-history {
  display: none; }

.service-history-wrap[toggle-state="initial"] .no-service-history {
  display: none; }

.service-history-wrap[toggle-state="no-service"] .service-history {
  display: none; }

.service-history-wrap[toggle-state="has-service"] .no-service-history {
  display: none; }

.service-history {
  width: 100%; }
  .service-history .history-header {
    background-color: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1.25rem;
    position: relative; }
    @media screen and (max-width: 47.9375em) {
      .service-history .history-header {
        padding: 0.9375rem 0.625rem; } }
    .service-history .history-header .header-content {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
    .service-history .history-header .logo-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 0;
          -ms-flex: 0;
              flex: 0; }
      @media screen and (max-width: 47.9375em) {
        .service-history .history-header .logo-container {
          -webkit-box-align: end;
              -ms-flex-align: end;
                  align-items: flex-end; } }
    .service-history .history-header .carfax-logo {
      bottom: 1.25rem;
      height: auto; }
    .service-history .history-header .delete-button {
      color: #c75300;
      cursor: pointer;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      font-size: 0.8125rem;
      text-decoration: underline; }
  .service-history .history-table {
    width: 100%; }
    .service-history .history-table .table-header {
      background-color: #e5e5e5; }
      @media screen and (max-width: 47.9375em) {
        .service-history .history-table .table-header .table-column.services-performed {
          display: none; } }
      .service-history .history-table .table-header .table-row {
        border-bottom: 0; }
    .service-history .history-table p {
      font-size: 0.875rem;
      line-height: 20px;
      margin-bottom: 0; }
    .service-history .history-table b {
      font-size: 0.875rem; }
  .service-history .table-row {
    border-bottom: 1px solid #d9d9da;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 47.9375em) {
      .service-history .table-row {
        gap: 0.625rem;
        padding: 0.625rem; } }
  .service-history .table-column {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0.625rem 0.9375rem; }
    @media screen and (max-width: 47.9375em) {
      .service-history .table-column {
        padding: 0; } }
    .service-history .table-column p:last-child {
      margin-bottom: 0; }
    .service-history .table-column.services-performed {
      -webkit-box-flex: 2;
          -ms-flex: 2;
              flex: 2; }
      @media screen and (max-width: 47.9375em) {
        .service-history .table-column.services-performed {
          min-width: 100%; }
          .service-history .table-column.services-performed b.mobile-header {
            display: inline; } }
      .service-history .table-column.services-performed .mobile-header {
        display: none; }

.sel-info.left-arrow {
  min-height: 126px; }

.brakes-details {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 50px auto; }
  .brakes-details h2 {
    margin-bottom: 20px;
    text-transform: capitalize; }
  @media screen and (max-width: 63.9375em) {
    .brakes-details .brakes-details-wrapper {
      padding: 0; } }
  .brakes-details .brakes-grid-wrapper {
    background: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    padding: 30px 15px; }
    .brakes-details .brakes-grid-wrapper h2 {
      min-width: 290px; }
      @media screen and (max-width: 47.9375em) {
        .brakes-details .brakes-grid-wrapper h2 {
          font-size: 18px; } }
    .brakes-details .brakes-grid-wrapper .grid-maker {
      font-weight: bold; }
      .brakes-details .brakes-grid-wrapper .grid-maker span {
        padding-left: 2px; }
    .brakes-details .brakes-grid-wrapper .brakes-grid {
      background-color: #fff;
      border-right: 1px solid #ccc;
      border-top: 1px solid #ccc;
      display: grid;
      grid-template-columns: repeat(3, minmax(50px, 1fr));
      margin-bottom: 15px; }
      .brakes-details .brakes-grid-wrapper .brakes-grid .grid-item {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        border-bottom: 1px solid #ccc;
        border-left: 1px solid #ccc;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 16px;
        font-weight: 400;
        padding: 10px; }
        @media screen and (max-width: 63.9375em) {
          .brakes-details .brakes-grid-wrapper .brakes-grid .grid-item {
            font-size: 14px; } }
      .brakes-details .brakes-grid-wrapper .brakes-grid .grid-header,
      .brakes-details .brakes-grid-wrapper .brakes-grid .grid-vehicle-type {
        font-weight: bold; }
    .brakes-details .brakes-grid-wrapper .brakes-disclaimer {
      margin-bottom: 15px;
      width: 90%; }
      .brakes-details .brakes-grid-wrapper .brakes-disclaimer p {
        font-size: 12px;
        -webkit-margin-after: 0;
                margin-block-end: 0; }
    .brakes-details .brakes-grid-wrapper .brakes-no-results {
      background-color: #fff;
      margin: 20px 0;
      padding: 10px; }
      .brakes-details .brakes-grid-wrapper .brakes-no-results p {
        font-size: 18px;
        font-weight: bold;
        line-height: 1.5rem;
        -webkit-margin-after: 0;
                margin-block-end: 0;
        padding: 15px; }
    .brakes-details .brakes-grid-wrapper .brakes-included {
      margin-top: 10px; }
      .brakes-details .brakes-grid-wrapper .brakes-included .included-block {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .brakes-details .brakes-grid-wrapper .brakes-included p {
        font-size: 16px;
        font-weight: bold;
        -webkit-margin-after: 5px;
                margin-block-end: 5px; }
      .brakes-details .brakes-grid-wrapper .brakes-included ul {
        font-size: 14px;
        font-weight: 400;
        margin-left: 0; }
        .brakes-details .brakes-grid-wrapper .brakes-included ul i {
          color: #c75300;
          margin-right: 10px; }
  .brakes-details .brakes-inspection-wrapper {
    background-color: #fff;
    border: 1px solid #ccc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 30px 25px 0; }
    @media screen and (max-width: 63.9375em) {
      .brakes-details .brakes-inspection-wrapper {
        margin-top: 25px; }
        .brakes-details .brakes-inspection-wrapper h2 {
          text-wrap: nowrap; }
        .brakes-details .brakes-inspection-wrapper img {
          max-width: 90%; } }
    .brakes-details .brakes-inspection-wrapper p {
      width: 95%; }
    .brakes-details .brakes-inspection-wrapper .button {
      width: 75%; }
      @media screen and (max-width: 63.9375em) {
        .brakes-details .brakes-inspection-wrapper .button {
          width: 100%; } }
    .brakes-details .brakes-inspection-wrapper .brakes-image-container {
      margin-top: 50px; }
      .brakes-details .brakes-inspection-wrapper .brakes-image-container p {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-bottom: 0; }

.brakes-packages-wrapper {
  background-image: url("../images/interface/tire-mark.png");
  background-position: right;
  background-repeat: no-repeat;
  background-size: 50%;
  border: 1px solid #ccc;
  padding: 15px; }
  @media screen and (max-width: 63.9375em) {
    .brakes-packages-wrapper {
      background-position: top right; } }
  .brakes-packages-wrapper h2 {
    text-align: center;
    text-transform: capitalize; }
  .brakes-packages-wrapper .brakes-packages {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 63.9375em) {
      .brakes-packages-wrapper .brakes-packages {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .brakes-packages-wrapper .brakes-packages .packages-block {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: 0 15px;
      width: 33%; }
      @media screen and (max-width: 63.9375em) {
        .brakes-packages-wrapper .brakes-packages .packages-block {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          margin: 0 0 15px;
          width: 100%; } }
      .brakes-packages-wrapper .brakes-packages .packages-block p {
        text-align: center; }
        @media screen and (max-width: 63.9375em) {
          .brakes-packages-wrapper .brakes-packages .packages-block p {
            text-align: left; }
            .brakes-packages-wrapper .brakes-packages .packages-block p.packages-title {
              margin-bottom: 5px; } }
        .brakes-packages-wrapper .brakes-packages .packages-block p.packages-title {
          font-weight: bold; }
      .brakes-packages-wrapper .brakes-packages .packages-block i {
        color: #ff6900;
        font-size: 50px; }

#stickyCTA {
  bottom: -100%;
  -webkit-box-shadow: 0 0 10px 2px #202020;
          box-shadow: 0 0 10px 2px #202020;
  left: 0;
  position: fixed;
  -webkit-transition: bottom 0.4s;
  transition: bottom 0.4s;
  width: 100%;
  z-index: 5; }
  #stickyCTA.slide {
    bottom: 0; }
  #stickyCTA a {
    margin-bottom: 0;
    width: 100%; }

.cart-empty {
  margin-top: 4rem; }
  .cart-empty h1 {
    margin-bottom: 2rem;
    text-align: center; }
  .cart-empty .cart-action-continue-shopping {
    float: none;
    margin-bottom: 4rem;
    text-align: center; }

.cart-page {
  margin-top: 2.5rem; }
  @media screen and (max-width: 47.9375em) {
    .cart-page {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .cart-page .page-title {
    margin: 0;
    text-transform: none; }
    .cart-page .page-title h1 {
      font-size: 1.3125rem;
      line-height: 1;
      margin: 0;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        .cart-page .page-title h1 {
          font-size: 1.625rem; } }
  .cart-page .vehicle-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.3;
    margin: 0.625rem 0 0; }
    @media screen and (min-width: 48em) {
      .cart-page .vehicle-info {
        font-size: 1.125rem; } }
    .cart-page .vehicle-info .editVehicleCart {
      color: #000;
      text-decoration: underline; }
    .cart-page .vehicle-info a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.8125rem; }
  .cart-page .cart-technical-difficulties {
    background-color: #000;
    color: #fff;
    text-align: center; }
    .cart-page .cart-technical-difficulties .small-12 {
      padding: 30px 10px 20px; }
      .cart-page .cart-technical-difficulties .small-12 p span {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
  .cart-page .cart-technical-difficulties.header .row {
    margin: -40px 0 10px; }
  .cart-page .header-product-details {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.125rem;
    margin: 1rem 0; }
  .cart-page .item-list {
    border: 4px solid #f2f2f3;
    margin: 0 0 1.5625rem;
    padding: 1.25rem 0; }
    .cart-page .item-list .section-header {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 0.9375rem;
      margin: 0 0 0.3125rem; }
  @media screen and (min-width: 48em) {
    .cart-page .main-section-header .qty-header {
      text-align: center; }
    .cart-page .main-section-header .total-price-header {
      text-align: right; } }
  @media screen and (min-width: 48em) {
    .cart-page .cart-row .item-quantity,
    .cart-page .service-row .item-quantity {
      text-align: center; }
    .cart-page .cart-row .item-total,
    .cart-page .cart-row .service-item-total,
    .cart-page .service-row .item-total,
    .cart-page .service-row .service-item-total {
      text-align: right; } }
  .cart-page .cart-line-separator::before {
    background: #e8e8e9;
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    margin: auto 0;
    right: 0;
    top: 0;
    width: 100%; }
  .cart-page .order-summary-row {
    margin-bottom: 1.875rem; }
    @media screen and (min-width: 48em) {
      .cart-page .order-summary-row {
        margin-bottom: 3.125rem; } }
    @media screen and (min-width: 48em) {
      .cart-page .order-summary-row .cart-line-separator {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3; } }
  .cart-page .disclaimer-cart {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-size: 0.75rem;
    margin-top: 0.625rem; }
    .cart-page .disclaimer-cart p {
      color: #000;
      font-size: 0.75rem;
      margin: 0; }
      .cart-page .disclaimer-cart p.levy-message-cart {
        color: #808285;
        font-weight: bold;
        margin-top: 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    .cart-page .order-summary {
      margin-top: 3.125rem; } }
  .cart-page .order-totals-table {
    margin: 0.9375rem 0; }
    .cart-page .order-totals-table tbody {
      border: 0; }
      .cart-page .order-totals-table tbody td {
        padding: 0 0 0.9375rem; }
    .cart-page .order-totals-table tr {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      background: #f2f2f2;
      font-size: 0.875rem;
      line-height: 1; }
      .cart-page .order-totals-table tr td:first-child {
        padding-right: 0.9375rem;
        text-align: left; }
      .cart-page .order-totals-table tr td:last-child {
        text-align: right; }
      .cart-page .order-totals-table tr.vehicle-info {
        display: none; }
      .cart-page .order-totals-table tr.order-total {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        font-size: 0.9375rem; }
        .cart-page .order-totals-table tr.order-total td {
          padding-bottom: 0; }
  .cart-page .out-of-stock-message-box {
    float: right;
    margin: 0 0 1.875rem;
    width: 300px; }
    @media screen and (min-width: 48em) {
      .cart-page .out-of-stock-message-box {
        margin: 0 0 3.125rem; } }
    .cart-page .out-of-stock-message-box p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.75rem;
      font-style: italic;
      margin: 0; }
    .cart-page .out-of-stock-message-box a {
      text-decoration: underline; }
  .cart-page .cart-financing {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 0.9375rem;
    min-height: 45px; }
    .cart-page .cart-financing p {
      color: #000;
      display: inline-block;
      float: left;
      font-size: 0.875rem;
      font-weight: 500;
      margin: 0; }
    .cart-page .cart-financing .cart-financing-link {
      display: inline-block;
      margin-left: 6px; }
  @media screen and (min-width: 48em) {
    .cart-page .cart-action-checkout-box {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }
  .cart-page .cart-action-checkout {
    margin: 0 0 0.9375rem; }
    @media screen and (min-width: 48em) {
      .cart-page .cart-action-checkout {
        margin: 0; } }
    .cart-page .cart-action-checkout .button {
      font-size: 0.75rem;
      margin: 0;
      padding: 0.75rem 1.125rem;
      width: 100%; }
      .cart-page .cart-action-checkout .button::before {
        content: "\f023";
        font-family: fontawesome;
        padding-right: 5px; }
  .cart-page .need-help-cart h3 {
    font-size: 1.125rem;
    margin: 0 0 0.625rem; }
  .cart-page .need-help-cart p {
    font-size: 0.75rem;
    margin: 0 0 0.3125rem; }
  .cart-page .need-help-cart a {
    font-size: 0.875rem; }
  .cart-page .verify-vehicle {
    border: 4px solid #f2f2f3;
    margin: 1rem 0 0;
    padding: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .cart-page .verify-vehicle {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 1.125rem; } }
    @media screen and (min-width: 48em) {
      .cart-page .verify-vehicle .left-box,
      .cart-page .verify-vehicle .right-box {
        width: 41.66667%; }
      .cart-page .verify-vehicle .left-box {
        float: left; }
      .cart-page .verify-vehicle .right-box {
        float: right;
        margin-left: 16.66667%;
        text-align: right; } }
    .cart-page .verify-vehicle p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.875rem;
      line-height: 1.3;
      margin: 0 0 1.25rem; }
      @media screen and (min-width: 48em) {
        .cart-page .verify-vehicle p {
          margin: 0; } }
    .cart-page .verify-vehicle .button {
      margin: 0; }
      @media screen and (max-width: 47.9375em) {
        .cart-page .verify-vehicle .button {
          width: 100%; } }
  @media screen and (max-width: 47.9375em) {
    .cart-page .verified-response {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .cart-page .verified-response .icon-box {
    float: left;
    padding-right: 1.313rem;
    text-align: center;
    width: 27%; }
  .cart-page .verified-response .text-box {
    width: 73%; }
    @media screen and (min-width: 48em) {
      .cart-page .verified-response .text-box {
        width: 100%; } }
  .cart-page .verified-response .icon-alert {
    color: #c75300;
    font-size: 1.875rem; }
    @media screen and (min-width: 48em) {
      .cart-page .verified-response .icon-alert {
        margin: 0 0.9375rem 0 0; } }
  .cart-page .verified-response .fa-check {
    color: #c75300;
    font-size: 16px; }
    @media screen and (min-width: 48em) {
      .cart-page .verified-response .fa-check {
        margin: 0 0.9375rem 0 0; } }
    .cart-page .verified-response .fa-check::before {
      border: 3px solid #c75300;
      border-radius: 50%;
      padding: 0.3125rem; }
  .cart-page .verified-response p {
    margin: 0; }
  @media screen and (min-width: 48em) {
    .cart-page .verified-response .left-box {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .cart-page .verified-response .right-box p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
    @media screen and (max-width: 47.9375em) {
      .cart-page .verified-response .right-box p {
        margin: 0.3125rem 0 0; } }
    .cart-page .verified-response .right-box p a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.8125rem; }
  @media screen and (min-width: 48em) {
    .cart-page .sticky-section-wrapper {
      position: sticky;
      top: 100px; } }
  .cart-page .sticky-section-wrapper .order-summary-wrapper {
    background-color: #f2f2f2;
    padding: 0.9375rem; }
  .cart-page .sticky-section-wrapper .marketing-card {
    background-image: url("../images/interface/tire-mark.png");
    background-repeat: no-repeat;
    background-size: 100%;
    margin-top: 1.25rem; }
    .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      min-height: 20px;
      padding-top: 0.9375rem; }
      .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper .learn-more-link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper .learn-more-link:hover > .more-info-text {
          text-decoration: underline; }
      .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper .more-info-text {
        color: #000;
        display: inline-block;
        font-size: 0.875rem;
        margin: 0; }
  .cart-page .sticky-section-wrapper .marketing-info-wrapper {
    border: 4px solid #f2f2f3;
    height: 100%;
    padding: 0.9375rem; }
    .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-title {
      font-size: 1.25rem; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-title span {
        color: #ff6900; }
    .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-top: 0.625rem;
      position: relative;
      text-align: left; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section .content-wrapper {
        padding-left: 1.25rem; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section h4 {
        font-size: 1rem; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section p {
        color: #000;
        font-size: 0.8125rem;
        margin-bottom: 0; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section i {
        color: #ff6900;
        display: block;
        font-size: 1.875rem; }
        .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section i::before {
          margin: 0;
          padding: 0; }

.cart-row {
  margin-bottom: 1.25rem; }
  .cart-row .service-row {
    margin: 0; }
  @media screen and (max-width: 47.9375em) {
    .cart-row .product-list-item {
      margin: 0 0 0.9375rem; } }
  .cart-row .item-image {
    margin: 0 auto;
    max-width: 100px; }
    @media screen and (min-width: 48em) {
      .cart-row .item-image {
        max-width: 120px; } }
    @media screen and (min-width: 64em) {
      .cart-row .item-image {
        max-width: 190px; } }
  .cart-row .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1.125rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .cart-row .product-name {
        font-size: 1.375rem; } }
  .cart-row .product-brand {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: block;
    font-size: 0.875rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .cart-row .product-brand {
        font-size: 1rem; } }
  .cart-row .product-attributes .attribute {
    font-size: 0.875rem;
    line-height: 1;
    margin: 0;
    padding: 0.3125rem 0; }
  .cart-row .product-attributes.category-attributes .name {
    float: left;
    margin-right: 0.3125rem;
    min-height: 18px;
    overflow: hidden; }
  .cart-row .product-attributes .name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
  .cart-row .product-attributes .value {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    text-transform: capitalize; }
  .cart-row .availability-attribute {
    font-size: 0.875rem;
    line-height: 1;
    padding: 0.3125rem 0; }
    .cart-row .availability-attribute .availability-label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500; }
    .cart-row .availability-attribute .product-availability-list {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: inline-block;
      line-height: 1;
      margin: 0; }
  @media screen and (max-width: 47.9375em) {
    .cart-row .item-qty-price-section {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; } }
  @media screen and (min-width: 48em) {
    .cart-row .section-header.qty-header,
    .cart-row .section-header.item-price-header {
      margin-bottom: 1.25rem; } }
  .cart-row .item-price {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .cart-row .item-price {
        text-align: right; } }
    .cart-row .item-price .old-price {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.75rem;
      text-decoration: line-through; }
  .cart-row .item-total {
    font-size: 1rem;
    margin-top: 2.25rem; }
    @media screen and (max-width: 47.9375em) {
      .cart-row .item-total {
        margin: 0.9375rem 0 0; } }
  .cart-row .price-total {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem; }
  .cart-row .product-card-quantity.item-quantity {
    text-align: left; }
    .cart-row .product-card-quantity.item-quantity .product-quantity {
      display: inline-block;
      max-width: 55px;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .cart-row .product-card-quantity.item-quantity .product-quantity {
          display: block; } }
    .cart-row .product-card-quantity.item-quantity .productQuantity {
      margin: 0; }
  .cart-row .remove-btn {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 0.6875rem;
    text-decoration: underline; }
    @media screen and (min-width: 48em) {
      .cart-row .remove-btn {
        font-size: 0.875rem; } }
  .cart-row .rebate-box {
    margin: 1.25rem 0 0; }
    @media screen and (min-width: 48em) {
      .cart-row .rebate-box {
        padding-left: 1.875rem; } }
  .cart-row .rebate-badge {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #c75300;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.6875rem;
    margin: 0 0 0.3125rem; }
    @media screen and (min-width: 48em) {
      .cart-row .rebate-badge {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (min-width: 64em) {
      .cart-row .rebate-badge {
        font-size: 0.8125rem; } }
    .cart-row .rebate-badge::before {
      background: url("../images/icons/rebate_icon.png") no-repeat;
      content: "";
      height: 25px;
      width: 30px; }
  .cart-row .rebate-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-size: 0.875rem;
    font-style: italic; }
  @media screen and (min-width: 48em) {
    .cart-row.first-pset {
      margin: 0 0 1.875rem; } }
  .cart-row.second-pset .item-image {
    display: none; }
  .cart-row.second-pset .remove-btn {
    margin: 0.9375rem 0 0; }
  .cart-row .front-back-set-label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #808285;
    font-size: 0.875rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cart-row .front-back-set-label {
        font-size: 0.6875rem; } }

.cart-services.required-services {
  margin-top: 2.5rem; }
  .cart-services.required-services .service-row {
    padding: 0.9375rem 0 0; }
  @media screen and (max-width: 47.9375em) {
    .cart-services.required-services .service-item-price-wrapper {
      margin-top: 0.9375rem; } }
  @media screen and (max-width: 47.9375em) {
    .cart-services.required-services .item-price {
      padding-left: 0.625rem; } }
  .cart-services.required-services .service-info-wrapper {
    margin-left: 0; }

.cart-services.included-services .item-price {
  font-size: 1rem;
  font-weight: 500; }

.cart-services.included-services .service-row {
  border: 4px solid #f2f2f3; }
  @media screen and (min-width: 48em) {
    .cart-services.included-services .service-row {
      position: relative; } }

@media screen and (min-width: 48em) {
  .cart-services.included-services .service-item-price-wrapper {
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); } }

.cart-services.grouped-services .recommended-service {
  font-size: 0.625rem;
  margin-bottom: 0.75rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .cart-services.grouped-services .recommended-service {
      text-align: right; } }
  .cart-services.grouped-services .recommended-service span {
    background-color: #f2f2f2;
    padding: 0.3125rem; }

.cart-services.grouped-services .service-row {
  border: 4px solid #f2f2f3; }

.cart-services.grouped-services .service-group-name {
  font-size: 1.125rem;
  margin: 2.5rem 0 0.9375rem; }

.cart-services.grouped-services .service-item-total {
  font-weight: 500; }

@media screen and (max-width: 47.9375em) {
  .cart-services.grouped-services .item-price {
    padding-left: 0.625rem; } }

@media screen and (max-width: 47.9375em) {
  .cart-services.grouped-services .service-item-price-wrapper {
    margin: 0.625rem 0; } }

@media screen and (min-width: 48em) {
  .cart-services.grouped-services .service-item-price-wrapper {
    max-height: 1.25rem; } }

@media screen and (max-width: 47.9375em) {
  .cart-services.grouped-services .service-item-price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.cart-services .service-row {
  margin: 0;
  padding: 0.9375rem 0; }

.cart-services .bottom-margin {
  margin: 0 0 1.25rem; }

@media screen and (max-width: 47.9375em) {
  .cart-services .service-item-details {
    padding-left: 60px; } }

@media screen and (max-width: 47.9375em) {
  .cart-services .service-item-price-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.cart-services .service-info-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    .cart-services .service-info-wrapper {
      margin-left: 1.5625rem; } }
  .cart-services .service-info-wrapper .service-image {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .cart-services .service-info-wrapper .service-description {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0 0 0 10px; }

.cart-services .service-name-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 0.625rem; }

.cart-services .service-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1; }

.cart-services .service-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #808285;
  font-size: 0.6875rem; }
  @media screen and (min-width: 48em) {
    .cart-services .service-label {
      font-size: 0.8125rem; } }

.cart-services .short-description {
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .cart-services .short-description {
      margin: 0 0 0.625rem; } }

.cart-services .service-image {
  margin: 0 auto;
  max-width: 50px; }
  @media screen and (min-width: 48em) {
    .cart-services .service-image {
      max-width: 60px; } }

@media screen and (max-width: 47.9375em) {
  .cart-services .service-total-wrapper {
    padding: 0 0 0 0.75rem; } }

.cart-services .more-info-link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 47.9375em) {
    .cart-services .more-info-link {
      margin-top: 0.625rem; } }

.cart-services .more-info-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #000;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1; }
  .cart-services .more-info-text:hover {
    text-decoration: underline; }

.cart-services .section-header {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1;
  margin: 0 0 0.3125rem; }

.cart-services .main-header {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 2.188rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .cart-services .main-header {
      margin: 0; } }

.cart-services .main-section-header {
  margin-bottom: 2.5rem; }

.cart-services .service-item-total {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  margin-bottom: 0.5rem; }

.cart-services .item-price {
  font-size: 0.8125rem;
  font-weight: normal; }
  @media screen and (min-width: 48em) {
    .cart-services .item-price {
      text-align: right; } }

.reveal[id*="servicepopup"],
#serviceinfomodal {
  padding: 1.25rem; }
  @media screen and (min-width: 48em) {
    .reveal[id*="servicepopup"],
    #serviceinfomodal {
      padding: 1.875rem; } }
  .reveal[id*="servicepopup"] .close-button,
  #serviceinfomodal .close-button {
    color: #c75300;
    right: 1.125rem;
    top: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .reveal[id*="servicepopup"] .close-button,
      #serviceinfomodal .close-button {
        right: 1.75rem;
        top: 1.438rem; } }

.service-modal-content .service-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  line-height: 1.2;
  margin: 0 0 1.25rem;
  width: 90%; }
  @media screen and (min-width: 48em) {
    .service-modal-content .service-name {
      font-size: 1rem;
      margin: 0 0 1.875rem; } }

.service-modal-content .service-image {
  margin: 0 0 1.25rem;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .service-modal-content .service-image {
      float: left;
      margin: 0;
      width: 35%; } }

.service-modal-content .long-description {
  font-size: 14px;
  line-height: 1.4;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .service-modal-content .long-description {
      float: right;
      padding: 0 0 0 1.875rem;
      width: 65%; } }

.cart-verify-vehicle-modal {
  padding: 1.25rem; }
  @media screen and (min-width: 48em) {
    .cart-verify-vehicle-modal {
      padding: 1.875rem; } }

.cart-verify-vehicle-modal .title,
#serviceinfomodal .title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  line-height: 1.2;
  margin: 0 0 1.25rem;
  width: 90%; }
  @media screen and (min-width: 48em) {
    .cart-verify-vehicle-modal .title,
    #serviceinfomodal .title {
      font-size: 1.125rem;
      margin: 0 0 1.875rem; } }

.cart-verify-vehicle-modal .description p,
#serviceinfomodal .description p {
  font-size: 0.875rem;
  line-height: 1.4; }

@media screen and (max-width: 47.9375em) {
  .cart-verify-vehicle-modal .buttons-box,
  #serviceinfomodal .buttons-box {
    text-align: center; } }

@media screen and (min-width: 48em) {
  .cart-verify-vehicle-modal .buttons-box,
  #serviceinfomodal .buttons-box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.cart-verify-vehicle-modal .buttons-box .button,
#serviceinfomodal .buttons-box .button {
  margin: 0 0 1.563rem;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .cart-verify-vehicle-modal .buttons-box .button,
    #serviceinfomodal .buttons-box .button {
      margin: 0 1.25rem 0 0;
      width: auto; } }

.cart-verify-vehicle-modal .buttons-box a,
#serviceinfomodal .buttons-box a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.6875rem; }

#inside_holder #inside_liveChatTab {
  display: none !important; }

.cart-psmodal-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  line-height: 1.2;
  margin: 20px 0 0 30px;
  width: 85%; }
  @media screen and (min-width: 48em) {
    .cart-psmodal-title {
      font-size: 1.125rem; } }

.totals-sticky-button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #ff6900;
  bottom: 0;
  -webkit-box-shadow: 0 -4px 10px #808080;
          box-shadow: 0 -4px 10px #808080;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.8125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.625rem 0.5rem;
  position: sticky;
  z-index: 10; }
  .totals-sticky-button .price-total {
    background: #fff;
    border-radius: 3px;
    padding: 0.3125rem; }
  .totals-sticky-button .price-total-text {
    padding-left: 0.25rem; }

#psmodal.cart-psmodal .close-button {
  right: 25px; }

#cartQuantityModal {
  border: 0;
  max-width: 380px;
  padding: 0; }
  #cartQuantityModal h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #c75300;
    color: #fff;
    font-size: 0.8125rem;
    margin-bottom: 10px;
    padding: 9px 15px;
    text-transform: uppercase; }
  #cartQuantityModal p {
    font-size: 0.75rem;
    padding: 0 15px; }
  #cartQuantityModal .cartQuantityModalCta {
    color: #c75300;
    font-size: 0.75rem;
    padding: 0 15px 15px;
    text-align: right; }

#why-choose-kaltire-modal {
  padding: 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    #why-choose-kaltire-modal {
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      margin: 0 auto;
      max-height: 100%;
      max-width: 90%;
      min-height: unset; } }
  #why-choose-kaltire-modal.reveal {
    left: 50%;
    position: fixed;
    top: 50% !important;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    @media screen and (min-width: 48em) {
      #why-choose-kaltire-modal.reveal {
        max-width: 690px;
        width: 100%; } }
  #why-choose-kaltire-modal .modal-title {
    padding-bottom: 1.25rem; }
  #why-choose-kaltire-modal p {
    font-size: 0.875rem; }
  #why-choose-kaltire-modal .close-button {
    color: #c75300;
    top: 0.75rem; }

.contat-us-footer {
  margin-top: 5rem; }
  @media screen and (max-width: 47.9375em) {
    .contat-us-footer {
      margin-top: 1.875rem; } }
  .contat-us-footer .here-to-help {
    background: #f2f2f2;
    border: 3px solid #d8d8d8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
    padding: 0 1.5625rem; }
  .contat-us-footer .cart-footer-image {
    text-align: center; }
    .contat-us-footer .cart-footer-image img {
      height: 100%;
      max-height: 18.75rem; }
  .contat-us-footer .contact-us-content {
    padding-top: 1.875rem; }
    @media screen and (max-width: 47.9375em) {
      .contat-us-footer .contact-us-content {
        padding: 1.25rem 0; } }
  .contat-us-footer .section-subtitle {
    font-size: 1.0625rem; }
  .contat-us-footer .contact-info-section {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .contat-us-footer .contact-info-section {
        padding-top: 0.9375rem; } }
  .contat-us-footer .action-box-content p {
    line-height: 1.8;
    margin: 0; }
  @media screen and (max-width: 47.9375em) {
    .contat-us-footer .section-title-box {
      padding: 0.3125rem; } }
  .contat-us-footer .section-title-box h3 {
    font-size: 1.5rem; }
  .contat-us-footer .phone-number {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #c75300;
    padding-top: 0.625rem; }
  .contat-us-footer .orderSummaryLiveChat {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    margin-top: 1.25rem; }
    @media screen and (max-width: 47.9375em) {
      .contat-us-footer .orderSummaryLiveChat {
        width: 100%; } }
  .contat-us-footer .action-icon .card-icon {
    max-height: 1rem; }
  .contat-us-footer .main-section-title {
    font-size: 1.125rem;
    min-height: 1.375rem; }
  .contat-us-footer .card-icon {
    display: inline-block;
    line-height: 1.2;
    margin-right: 0.5rem;
    width: 1rem; }

.manufacturer-number {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  font-size: 0.6875rem;
  margin: 0 0 0.9375rem; }
  @media screen and (min-width: 48em) {
    .manufacturer-number {
      margin: 0 0 1.375rem; } }

#addtocartpopup {
  padding: 20px; }
  @media screen and (max-width: 47.9375em) {
    #addtocartpopup .product-image {
      display: none; } }
  #addtocartpopup .close-button {
    color: #ff6900; }
  #addtocartpopup .product-attributes,
  #addtocartpopup .categories-box,
  #addtocartpopup .availability-msg,
  #addtocartpopup .recommended-bagde,
  #addtocartpopup .promo-badge,
  #addtocartpopup .tested-bykal-badge {
    display: none; }
  #addtocartpopup .product-size .product-attributes {
    display: block; }
  #addtocartpopup .popup-title {
    font-size: 1.3125rem;
    margin: 0 0 10px;
    padding-right: 1rem; }
    @media screen and (min-width: 48em) {
      #addtocartpopup .popup-title {
        font-size: 18px; } }
  #addtocartpopup .popup-subtitle {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin: 0; }
  #addtocartpopup .new-cart-item {
    margin: 30px 0 25px; }
  #addtocartpopup .product-tile-box:first-of-type {
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      #addtocartpopup .product-tile-box:first-of-type {
        margin: 0 2% 0 0; } }
  #addtocartpopup .product-tile::before, #addtocartpopup .product-tile::after {
    content: ' ';
    display: table; }
  #addtocartpopup .product-tile::after {
    clear: both; }
  #addtocartpopup .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1.125rem;
    line-height: 1;
    margin: 0 0 15px;
    word-wrap: break-word; }
    #addtocartpopup .product-name .brand-name {
      display: block;
      font-size: 0.75rem; }
    #addtocartpopup .product-name a {
      color: #000; }
  #addtocartpopup .product-pricing {
    padding: 0 0 0 15px; }
    #addtocartpopup .product-pricing .box-spacing {
      padding: 0 0 10px; }
    #addtocartpopup .product-pricing .product-price::before, #addtocartpopup .product-pricing .product-price::after {
      content: ' ';
      display: table; }
    #addtocartpopup .product-pricing .product-price::after {
      clear: both; }
    #addtocartpopup .product-pricing .rebate {
      display: inline-block; }
  #addtocartpopup .actions {
    border-bottom: 2px solid #d9d9da;
    padding: 0 0 25px;
    text-align: center; }
    #addtocartpopup .actions.no-border {
      border: 0 !important; }
    #addtocartpopup .actions .button {
      margin: 0 0 20px;
      width: 100%; }
    #addtocartpopup .actions .cancel {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.6875rem; }
  #addtocartpopup .actions-margin {
    margin: 1.5rem 0 0; }
  #addtocartpopup .current-cart {
    margin: 25px 0 0; }
    @media screen and (min-width: 48em) {
      #addtocartpopup .current-cart {
        margin: 40px 0 0; } }
    #addtocartpopup .current-cart .product-badge {
      display: none; }
    #addtocartpopup .current-cart .popup-subtitle {
      margin: 0 0 15px; }
    #addtocartpopup .current-cart .product-tile {
      border: 6px solid #f2f2f2;
      padding: 15px 10px; }
      @media screen and (min-width: 48em) {
        #addtocartpopup .current-cart .product-tile {
          padding: 20px; } }
    #addtocartpopup .current-cart .product-size,
    #addtocartpopup .current-cart .product-image {
      display: none; }
    #addtocartpopup .current-cart .product-name {
      float: left;
      width: 60%; }
    #addtocartpopup .current-cart .product-pricing {
      font-size: 1.25rem;
      width: 40%; }
      #addtocartpopup .current-cart .product-pricing .currency-indices {
        font-size: 0.625rem; }

#cart-popup-container .product-tile-content {
  position: relative; }

#cart-popup-container .product-badge {
  max-width: 25%;
  position: absolute; }
  #cart-popup-container .product-badge span {
    margin-top: 0; }

@media screen and (min-width: 48em) {
  #addtocartpopup {
    width: 700px; }
    #addtocartpopup .new-cart-item .product-image {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      flex: 0 0 25%;
      margin-right: 8.33333%;
      max-width: 25%; }
    #addtocartpopup .new-cart-item .product-box {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 66.66667%;
              flex: 0 0 66.66667%;
      flex: 0 0 66.66667%;
      max-width: 66.66667%; }
    #addtocartpopup .new-cart-item .product-tile {
      border: 6px solid #f2f2f2;
      padding: 20px; }
    #addtocartpopup .new-cart-item .product-tile-content {
      display: flexbox;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      flex-flow: row wrap;
      margin-left: auto;
      margin-right: auto;
      max-width: 82.5rem; }
    #addtocartpopup .actions {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      border-width: 1px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding: 0 0 40px; }
      #addtocartpopup .actions .button {
        margin: 0;
        width: auto; }
      #addtocartpopup .actions .cancel {
        margin: 0 15px 0 0; } }

.cb-bordered-content {
  border: 7px solid #f2f2f2;
  padding: 15px 0; }
  @media screen and (min-width: 48em) {
    .cb-bordered-content {
      padding: 30px 0; } }

.cb-page-header {
  background-position: 50% 50%;
  background-size: cover;
  color: #fff;
  margin-bottom: 40px;
  padding: 100px 0 120px; }
  @media screen and (min-width: 48em) {
    .cb-page-header {
      margin-bottom: 100px;
      padding: 115px 0; } }
  .cb-page-header h1 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 42px;
    line-height: 1em;
    margin-bottom: 16px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-page-header h1 {
        font-size: 66px; } }
  .cb-page-header p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-page-header p {
        font-size: 18px; } }
  .cb-page-header .cb-cta {
    margin-top: 10px; }

.cb-cta {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #c75300;
  display: inline-block;
  font-size: 13px;
  margin-right: 10px;
  margin-top: 10px; }
  @media screen and (min-width: 48em) {
    .cb-cta {
      font-size: 14px; } }
  .cb-cta.button-hollow-white {
    border: 3px solid #ff6900;
    color: #fff;
    padding: 7px 30px;
    text-transform: uppercase;
    -webkit-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out; }
    @media screen and (min-width: 48em) {
      .cb-cta.button-hollow-white {
        padding: 9px 30px; } }
    .cb-cta.button-hollow-white:hover, .cb-cta.button-hollow-white:focus {
      background: #ff6900;
      border: 3px solid #ff6900;
      color: #000; }
  .cb-cta.button-hollow-black {
    border: 3px solid #ff6900;
    color: #000;
    margin-bottom: 5px;
    padding: 7px 30px;
    text-transform: uppercase;
    -webkit-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-transition-property: background, color;
    transition-property: background, color; }
    @media screen and (min-width: 48em) {
      .cb-cta.button-hollow-black {
        padding: 9px 30px; } }
    .cb-cta.button-hollow-black:hover, .cb-cta.button-hollow-black:focus {
      background: #f6a583;
      border: 3px solid #ff6900;
      color: #000; }
  .cb-cta.button-full-white {
    background: #ff6900;
    border: 3px solid #ff6900;
    color: #000;
    padding: 7px 30px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-cta.button-full-white {
        padding: 9px 30px; } }
    .cb-cta.button-full-white.financingLink {
      margin: 0 0 10px; }
    .cb-cta.button-full-white:hover, .cb-cta.button-full-white:focus {
      background: #ffa566;
      border: 3px solid #ffa566; }
  .cb-cta.link {
    color: #000;
    font-size: 0.8125rem; }
    @media screen and (min-width: 48em) {
      .cb-cta.link {
        font-size: 0.875rem; } }
    .cb-cta.link:hover {
      text-decoration: underline; }
    .cb-cta.link .arrow {
      color: #ff6900; }

.cb-cta-secondary {
  margin-right: 0; }

.cb-section-header {
  margin: 0 auto 25px; }
  .cb-section-header h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    border-left: 3px solid #ff6900;
    font-size: 18px;
    line-height: 1;
    margin-bottom: 16px;
    padding-left: 20px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-section-header h2 {
        font-size: 26px;
        max-width: 900px; } }
  .cb-section-header p,
  .cb-section-header li {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-section-header p,
      .cb-section-header li {
        font-size: 18px; } }
  .cb-section-header li {
    margin-bottom: 1rem; }

.cb-column {
  margin: 5px 0 0; }
  .cb-column .cb-column-child-copy {
    padding: 20px 0 0; }
  .cb-column .financing-blocks-title {
    color: #ff6900;
    font-size: 3rem;
    margin-bottom: 50px;
    margin-left: auto;
    margin-right: auto;
    max-width: 82.5rem;
    padding-left: 40px; }
    @media screen and (max-width: 47.9375em) {
      .cb-column .financing-blocks-title {
        padding-left: 15px; } }

.cb-column-child {
  margin: 0 0 40px; }
  .cb-column-child h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 18px;
    line-height: 1em;
    margin-bottom: 16px; }
    @media screen and (min-width: 48em) {
      .cb-column-child h2 {
        font-size: 22px; } }
  .cb-column-child p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.3125rem;
    margin: 0 0 13px; }
    @media screen and (min-width: 48em) {
      .cb-column-child p {
        font-size: 14px; } }
  .cb-column-child img {
    display: block;
    width: 100%; }
  .cb-column-child .cb-cta {
    margin-top: 0; }
  @media screen and (min-width: 64em) {
    .cb-column-child .cb-column-child-copy {
      padding: 20px 10px 0; } }

.cb-image-alternate-column {
  margin: 0 0 50px; }
  .cb-image-alternate-column .cb-cta {
    margin-top: 0;
    padding: 7px 30px; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column .cb-cta {
        margin-top: 5px; } }
  .cb-image-alternate-column img {
    display: block;
    margin-bottom: 16px;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column img {
        margin: 0; } }
  .cb-image-alternate-column h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 18px;
    line-height: 1em;
    margin-bottom: 16px; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column h2 {
        font-size: 22px; } }
  .cb-image-alternate-column p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column p {
        font-size: 14px; } }

.cb-1-column-cta {
  background-position: 50% 100%;
  background-size: cover;
  color: #fff;
  margin: 0 auto 40px;
  min-height: 302px;
  padding: 60px 0; }
  @media screen and (min-width: 48em) {
    .cb-1-column-cta {
      padding: 75px 0 50px; } }
  .cb-1-column-cta > .row {
    width: 100%; }
  .cb-1-column-cta h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 18px;
    line-height: 1em;
    margin-bottom: 34px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-1-column-cta h2 {
        font-size: 26px; } }
  .cb-1-column-cta p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-1-column-cta p {
        font-size: 18px; } }
  @media screen and (max-width: 47.9375em) {
    .cb-1-column-cta .cb-cta {
      margin: 10px; } }

.cb-testimonial {
  background: #f2f2f2;
  color: #000;
  margin: 0 auto;
  padding: 65px 0; }
  @media screen and (min-width: 48em) {
    .cb-testimonial {
      margin: 0 auto;
      padding: 80px 0; } }
  .cb-testimonial h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    line-height: 1em;
    margin-bottom: 14px; }
  .cb-testimonial p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-testimonial p {
        font-size: 18px; } }
  .cb-testimonial .cb-testimonial-avatar {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .cb-testimonial .cb-testimonial-avatar img {
      display: inline-block;
      margin-right: 15px;
      max-width: 48px; }
    .cb-testimonial .cb-testimonial-avatar p {
      color: #999;
      font-size: 12px;
      margin: 0; }

.cb-3-column-feature {
  margin-bottom: 40px; }
  .cb-3-column-feature .cb-section-header {
    margin: 0 auto 20px; }
  .cb-3-column-feature .cb-column-child {
    margin-bottom: 20px; }
  .cb-3-column-feature .cb-column-child-copy {
    padding: 0; }
    .cb-3-column-feature .cb-column-child-copy h2 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 16px;
      text-transform: none; }
      @media screen and (min-width: 48em) {
        .cb-3-column-feature .cb-column-child-copy h2 {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 500;
          font-size: 18px; } }
    @media screen and (min-width: 48em) {
      .cb-3-column-feature .cb-column-child-copy p {
        margin-bottom: 8px;
        padding-right: 20px; } }
    .cb-3-column-feature .cb-column-child-copy .cb-cta {
      margin-bottom: 10px;
      margin-top: 0; }

.cb-featured-products-cards {
  margin: 0 0 20px; }
  @media screen and (min-width: 64em) {
    .cb-featured-products-cards {
      margin: 0 0 60px; } }
  .cb-featured-products-cards .cb-cta {
    margin-top: 30px; }
  .cb-featured-products-cards h4 {
    font-size: 18px;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .cb-featured-products-cards h4 {
        font-size: 22px; } }
  .cb-featured-products-cards p {
    font-size: 14px;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .cb-featured-products-cards p {
        font-size: 18px;
        margin-bottom: 40px; } }
  .cb-featured-products-cards .product-tile {
    margin: 20px 0 0; }
    @media screen and (max-width: 47.9375em) {
      .cb-featured-products-cards .product-tile {
        height: initial !important; } }
    @media screen and (min-width: 64em) {
      .cb-featured-products-cards .product-tile {
        margin: 0; } }

.cb-product-details-card {
  margin: 0 0 30px; }
  @media screen and (min-width: 64em) {
    .cb-product-details-card {
      margin: 0 0 50px; } }
  .cb-product-details-card img.prodImg {
    display: block;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      .cb-product-details-card img.prodImg {
        margin-bottom: 15px; } }
  .cb-product-details-card p {
    font-size: 13px; }
    @media screen and (min-width: 64em) {
      .cb-product-details-card p {
        font-size: 14px; } }
  .cb-product-details-card .cb-product-details-card-headings {
    margin-bottom: 14px; }
    @media screen and (min-width: 64em) {
      .cb-product-details-card .cb-product-details-card-headings {
        margin-bottom: 24px; } }
    .cb-product-details-card .cb-product-details-card-headings p {
      font-size: 14px; }
    .cb-product-details-card .cb-product-details-card-headings h4 {
      font-size: 13px;
      text-transform: none; }
      @media screen and (min-width: 64em) {
        .cb-product-details-card .cb-product-details-card-headings h4 {
          font-size: 16px; } }
    .cb-product-details-card .cb-product-details-card-headings h2 {
      font-size: 16px;
      text-transform: none; }
      @media screen and (min-width: 64em) {
        .cb-product-details-card .cb-product-details-card-headings h2 {
          font-size: 22px; } }
    .cb-product-details-card .cb-product-details-card-headings h5 {
      font-size: 12px;
      text-transform: none; }
  .cb-product-details-card table {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    border: 0;
    font-size: 14px;
    margin-bottom: 0; }
    .cb-product-details-card table thead {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      background: none;
      border: 0;
      padding: 5px 0 20px; }
      .cb-product-details-card table thead th {
        padding: 5px 0 20px; }
    .cb-product-details-card table th,
    .cb-product-details-card table td {
      padding-bottom: 0;
      padding-left: 0;
      padding-top: 0; }
    .cb-product-details-card table tbody {
      border: 0; }
    .cb-product-details-card table tr {
      background: none !important; }
  .cb-product-details-card .cb-product-details-card-cta-wrapper {
    min-height: 45px;
    position: relative; }
    @media screen and (max-width: 63.9375em) {
      .cb-product-details-card .cb-product-details-card-cta-wrapper {
        margin-top: 20px; } }
    @media screen and (min-width: 64em) {
      .cb-product-details-card .cb-product-details-card-cta-wrapper .cb-product-details-card-ctas {
        bottom: 0;
        position: absolute;
        right: 0; } }
    @media screen and (min-width: 64em) {
      .cb-product-details-card .cb-product-details-card-cta-wrapper .cb-product-details-card-ctas .cb-cta {
        margin-top: 0; } }

.cb-secondary-page-navigation {
  margin-bottom: 50px; }
  .cb-secondary-page-navigation .cb-secondary-page-nav-child {
    border: 10px solid #f2f2f2;
    padding: 8px 40px;
    text-align: center; }
    @media screen and (max-width: 47.9375em) {
      .cb-secondary-page-navigation .cb-secondary-page-nav-child {
        margin-bottom: 30px; } }
    .cb-secondary-page-navigation .cb-secondary-page-nav-child h4 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 16px;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        .cb-secondary-page-navigation .cb-secondary-page-nav-child h4 {
          font-size: 20px; } }
    .cb-secondary-page-navigation .cb-secondary-page-nav-child .cb-secondary-page-nav-icon {
      height: 100px;
      width: auto; }
    .cb-secondary-page-navigation .cb-secondary-page-nav-child p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #999;
      font-size: 16px; }

@media screen and (max-width: 47.9375em) {
  .cb-column-tabs .column-image-wrapper {
    margin-bottom: 20px; } }

.cb-column-tabs .tabs {
  border: 0;
  width: 100%; }
  .cb-column-tabs .tabs li a:hover,
  .cb-column-tabs .tabs li.is-active {
    position: relative; }
    .cb-column-tabs .tabs li a:hover::after,
    .cb-column-tabs .tabs li.is-active::after {
      background: #ff6900;
      bottom: -5px;
      content: "";
      height: 5px;
      left: 0;
      position: absolute;
      width: 100%; }
  .cb-column-tabs .tabs .tabs-title > a:focus,
  .cb-column-tabs .tabs .tabs-title > a[aria-selected="true"] {
    background: none;
    color: #000; }
  @media screen and (max-width: 47.9375em) {
    .cb-column-tabs .tabs li {
      width: 33.2%; } }
  .cb-column-tabs .tabs li a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #999;
    font-size: 12px;
    padding: 15px;
    text-align: center; }
    @media screen and (min-width: 48em) {
      .cb-column-tabs .tabs li a {
        font-size: 16px;
        padding: 15px 60px; } }
    .cb-column-tabs .tabs li a:hover {
      color: #000; }

.cb-column-tabs .tabs-content {
  border: 0;
  border-top: 5px solid #f2f2f2;
  margin-bottom: 60px;
  padding: 40px 0 0; }
  .cb-column-tabs .tabs-content .tabs-panel {
    padding: 0; }
    .cb-column-tabs .tabs-content .tabs-panel h2 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 18px; }
      @media screen and (min-width: 48em) {
        .cb-column-tabs .tabs-content .tabs-panel h2 {
          font-size: 22px; } }
    .cb-column-tabs .tabs-content .tabs-panel p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 14px; }

.cb-1-column-details {
  margin-bottom: 50px; }
  .cb-1-column-details h4 {
    font-size: 18px; }
    @media screen and (min-width: 48em) {
      .cb-1-column-details h4 {
        font-size: 22px; } }
  .cb-1-column-details img {
    display: block; }
  .cb-1-column-details p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 14px; }

.cb-accordion {
  margin: 1.3125rem 0; }
  .cb-accordion .toggle-item summary {
    font-size: 1.125rem; }
  .cb-accordion .toggle-item .item-content {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    position: relative; }
    .cb-accordion .toggle-item .item-content * {
      font-size: 1rem; }

.footer-faq-wrapper {
  margin: 0 0 50px; }
  .footer-faq-wrapper hr {
    border-bottom-color: #e0e1e1;
    margin: 0 0 50px; }
  .footer-faq-wrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 20px; }
  .footer-faq-wrapper h5 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    margin-bottom: 16px; }
  .footer-faq-wrapper p {
    font-size: 0.875rem; }
  .footer-faq-wrapper a.faq-cta {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.875rem; }
  @media screen and (max-width: 47.9375em) {
    .footer-faq-wrapper .columns {
      margin-bottom: 30px; } }

.guest-checkout-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  margin-top: 23px; }
  .guest-checkout-text p {
    margin: 0.1875rem 0 1.75rem; }
    @media screen and (min-width: 48em) {
      .guest-checkout-text p {
        font-size: 0.875rem;
        line-height: 1.1875rem;
        margin-bottom: 2.875rem; } }

.checkout-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 18px;
  line-height: 1em;
  margin-bottom: 25px; }

.pt_checkout legend {
  margin: 0; }

.pt_checkout select {
  margin: 0; }

.pt_checkout .dialog-required {
  display: block;
  margin: 0 0 1.25rem;
  text-align: right; }

.pt_checkout .step-back-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 0.8125rem;
  line-height: 1;
  margin: 20px 0; }

.pt_checkout .form-row-button {
  margin: 0 0 1.875rem;
  text-align: right; }
  @media screen and (min-width: 64em) {
    .pt_checkout .form-row-button {
      margin: 0; } }
  .pt_checkout .form-row-button button {
    margin: 0;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .pt_checkout .form-row-button button {
        width: auto; } }

.payment-form {
  display: none; }
  .payment-form.active {
    display: block; }

.checkout-main-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.625rem;
  margin: 0 0 0.625rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .checkout-main-title {
      margin: 0 0 1.563rem; } }

.checkout-step h2 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1; }
  .checkout-step h2 span {
    color: #c75300; }

p.select-vehicle {
  padding-top: 0.625rem; }

.header-title-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 50px; }
  .header-title-wrapper .checkout-step-title {
    font-size: 1rem;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .header-title-wrapper .checkout-step-title {
        font-size: 1.25rem;
        margin: 0;
        padding: 15px 0; } }
  .header-title-wrapper .form-row-button {
    margin: 0; }

.checkout-main-row {
  margin-top: 1.25rem; }
  @media screen and (min-width: 64em) {
    .checkout-main-row {
      position: relative; } }

.checkout-progress-indicator {
  margin-bottom: 65px; }
  @media screen and (min-width: 48em) {
    .checkout-progress-indicator {
      margin-bottom: 87px; } }
  .checkout-progress-indicator .checkout-main-title {
    padding: 45px 0 15px;
    text-transform: none; }
  .checkout-progress-indicator .steps-wrapper {
    margin: 0 auto;
    max-width: 270px; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .steps-wrapper {
        max-width: 454px; } }
  .checkout-progress-indicator .steps {
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .checkout-progress-indicator .step {
    background: #e7e7e7;
    border-radius: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 32px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    width: 32px; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step {
        height: 46px;
        width: 46px; } }
    .checkout-progress-indicator .step::before {
      background-color: #e7e7e7;
      content: "";
      height: 2px;
      position: absolute;
      right: 32px;
      top: 16px;
      width: 48px;
      z-index: -1; }
      @media screen and (min-width: 48em) {
        .checkout-progress-indicator .step::before {
          right: 46px;
          top: 22px;
          width: 54px; } }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step:first-child {
        margin-left: 54px; }
        .checkout-progress-indicator .step:first-child::before {
          width: 54px; } }
    .checkout-progress-indicator .step:first-child::before {
      width: 24px; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step:last-child {
        margin-right: 54px; } }
    .checkout-progress-indicator .step:last-child::after {
      background-color: #e7e7e7;
      content: "";
      height: 2px;
      left: 32px;
      position: absolute;
      top: 16px;
      width: 24px;
      z-index: -1; }
      @media screen and (min-width: 48em) {
        .checkout-progress-indicator .step:last-child::after {
          left: 46px;
          top: 22px;
          width: 54px; } }
    .checkout-progress-indicator .step.active, .checkout-progress-indicator .step.passed {
      background: #ff6900;
      color: #ff6900; }
      .checkout-progress-indicator .step.active::before, .checkout-progress-indicator .step.passed::before {
        background-color: #ff6900; }
      .checkout-progress-indicator .step.active:last-child::after, .checkout-progress-indicator .step.passed:last-child::after {
        background-color: #ff6900; }
    .checkout-progress-indicator .step.passed {
      background-color: #fff;
      -webkit-box-shadow: 0 0 0 2px #ff6900 inset;
              box-shadow: 0 0 0 2px #ff6900 inset;
      color: #ff6900; }
      .checkout-progress-indicator .step.passed .icon {
        color: #ff6900; }
    .checkout-progress-indicator .step.inactive {
      color: #c9c9c9; }
  .checkout-progress-indicator .step-name {
    bottom: -15px;
    font-size: 8px;
    left: -50%;
    position: absolute;
    right: -50%; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step-name {
        bottom: -20px;
        font-size: 0.625rem; } }
  .checkout-progress-indicator .icon {
    -ms-flex-item-align: center;
        align-self: center;
    color: #fff;
    font-size: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .icon {
        font-size: 1.375rem; } }
    .checkout-progress-indicator .icon::before {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-family: fontawesome;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .checkout-progress-indicator .icon-appointment::before {
      content: "\f271";
      padding-left: 1px; }
    .checkout-progress-indicator .icon-information::before {
      content: "\f007"; }
    .checkout-progress-indicator .icon-verification::before {
      content: "\f09d"; }
    .checkout-progress-indicator .icon-review::before {
      content: "\f15c"; }

.checkout-summary .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 0.625rem; }

.product-specific-messages {
  background: #f2f2f3;
  margin: 1.25rem;
  padding: 0.625rem 1.25rem 1.25rem 1.25rem; }
  @media screen and (max-width: 63.9375em) {
    .product-specific-messages {
      margin: 0.625rem;
      padding: 0.125rem 0.9375rem 0.9375rem 0.9375rem; } }

.checkout-order-totals {
  border: 1px solid #ccc;
  margin: 0 0 1.5625rem;
  padding: 1rem 1.25rem; }
  @media screen and (min-width: 48em) {
    .checkout-order-totals {
      margin: 0 0 2.5rem; } }
  @media screen and (min-width: 64em) {
    .checkout-order-totals {
      margin: 0 0 1rem; } }
  .checkout-order-totals .order-totals-table {
    margin: 0; }
    .checkout-order-totals .order-totals-table tbody {
      border: 0; }
      .checkout-order-totals .order-totals-table tbody tr:nth-child(even) {
        background: transparent; }
      .checkout-order-totals .order-totals-table tbody td {
        padding: 0 0 0.625rem; }
    .checkout-order-totals .order-totals-table tr {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.875rem;
      line-height: 1; }
      @media screen and (min-width: 48em) {
        .checkout-order-totals .order-totals-table tr {
          font-size: 0.9375rem; } }
      .checkout-order-totals .order-totals-table tr td:first-child {
        padding-right: 0.625rem;
        text-align: left; }
      .checkout-order-totals .order-totals-table tr td:last-child {
        text-align: right; }
      .checkout-order-totals .order-totals-table tr.bold {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
      .checkout-order-totals .order-totals-table tr.amount-total-paid {
        border-top: 2px solid #f2f2f3; }
        .checkout-order-totals .order-totals-table tr.amount-total-paid td {
          margin-top: 1rem;
          padding-top: 1rem; }
      .checkout-order-totals .order-totals-table tr.amount-store-total.bold, .checkout-order-totals .order-totals-table tr.amount-total-paid.bold {
        font-size: 0.9375rem; }
        @media screen and (min-width: 48em) {
          .checkout-order-totals .order-totals-table tr.amount-store-total.bold, .checkout-order-totals .order-totals-table tr.amount-total-paid.bold {
            font-size: 1rem; } }
      .checkout-order-totals .order-totals-table tr.vehicle-info {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        font-size: 0.875rem; }
        @media screen and (min-width: 48em) {
          .checkout-order-totals .order-totals-table tr.vehicle-info {
            font-size: 0.9375rem; } }
        .checkout-order-totals .order-totals-table tr.vehicle-info td {
          padding: 0 0 2.188rem;
          text-align: left; }
  .checkout-order-totals .rebate-message {
    margin: 0.625rem 0; }
    @media screen and (min-width: 48em) {
      .checkout-order-totals .rebate-message {
        margin: 0.625rem 0 0; } }
    .checkout-order-totals .rebate-message p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #808285;
      font-style: italic;
      margin: 0; }
  .checkout-order-totals .levy-message-minisummary {
    border-top: 2px solid #f2f2f3;
    color: #8a8a8a;
    font-size: 0.75rem;
    line-height: 1rem;
    margin: 1.125rem 0 0 0;
    padding-top: 1rem; }
  .checkout-order-totals .step-back-link {
    margin: 0.625rem 0 0; }

.need-help-checkout h3 {
  font-size: 1.125rem;
  margin: 0 0 0.625rem; }

.need-help-checkout p {
  font-size: 0.75rem;
  margin: 0 0 0.3125rem; }

.need-help-checkout a {
  font-size: 0.875rem; }

.checkout-shipping legend {
  width: 100%; }

.checkout-shipping .dialog-required {
  display: inline-block;
  text-align: left; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .dialog-required {
      margin: 0 0 1.875rem; } }

@media screen and (min-width: 48em) {
  .checkout-shipping .save-for-billing {
    margin: 0 0 1.875rem; } }

.checkout-shipping .checkout-fields-container {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 1.25rem; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .checkout-fields-container {
      margin: 0 0 1.875rem; } }

.checkout-shipping .selection-box {
  margin: 0 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .selection-box {
      margin: 0 0 2.5rem; } }
  .checkout-shipping .selection-box .section-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .checkout-shipping .selection-box .section-title {
        font-size: 1.125rem; } }
  .checkout-shipping .selection-box .radio-form,
  .checkout-shipping .selection-box .checkbox-form {
    margin: 0 0 8px; }
  .checkout-shipping .selection-box .radio-form .field-wrapper + label {
    margin-left: 2px; }

@media screen and (min-width: 48em) {
  .checkout-shipping .commercial-fleet-wrapper .commercial-fleet-form {
    width: 50%; } }

.checkout-shipping .commercial-fleet-wrapper .section-title {
  font-weight: bold; }

.checkout-shipping .commercial-fleet-wrapper h1 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  background: #c75300;
  color: #fff;
  font-size: 13px;
  line-height: 1rem;
  margin: 0;
  padding: 7px 15px; }

.checkout-shipping .commercial-fleet-wrapper .has-tip {
  border-bottom: 0;
  left: 8px;
  top: 0; }
  .checkout-shipping .commercial-fleet-wrapper .has-tip .questionmarkcircle {
    color: #c75300; }

.checkout-shipping .vehicle-information {
  margin: 20px 0 30px;
  max-width: 590px; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .vehicle-information {
      margin: 20px 0 70px; } }
  .checkout-shipping .vehicle-information p {
    margin: 0; }
  .checkout-shipping .vehicle-information .informations {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    font-weight: normal;
    line-height: 1.3125rem;
    padding-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .checkout-shipping .vehicle-information .informations {
        font-size: 0.9375rem;
        padding-bottom: 30px; } }
  .checkout-shipping .vehicle-information .vehicle {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    text-transform: uppercase; }
  .checkout-shipping .vehicle-information .add-vehicle {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .checkout-shipping .vehicle-information .add-vehicle {
        max-width: 141px; } }
  .checkout-shipping .vehicle-information .edit-button {
    font-size: 0.8125rem;
    text-transform: capitalize; }

#psmodal.warning-modal {
  padding: 30px; }
  #psmodal.warning-modal h3 {
    font-size: 1.3125rem;
    margin: 0; }
  #psmodal.warning-modal p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem;
    margin: 0;
    padding: 10px 0 30px; }
  #psmodal.warning-modal .close-button {
    top: 23px; }
  #psmodal.warning-modal .button {
    margin: 0; }
    @media screen and (min-width: 48em) {
      #psmodal.warning-modal .button {
        max-width: 210px; } }
  #psmodal.warning-modal .keep-vehicle {
    margin: 0 0 10px; }
    @media screen and (min-width: 48em) {
      #psmodal.warning-modal .keep-vehicle {
        margin: 0 10px 0 0; } }

@media screen and (max-width: 47.9375em) {
  .checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.postal-row {
    clear: left;
    padding-right: 0.3125rem; }
  .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.country-row {
    padding-left: 0.3125rem; } }

.checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
  float: left;
  width: 50%; }
  @media screen and (min-width: 48em) {
    .checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
      clear: none;
      padding: 0 0.625rem;
      width: 25%; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row:not(.city-row), .checkout-fields-container .form-row:not(.postal-row), .checkout-fields-container .form-row:not(.state-row), .checkout-fields-container .form-row:not(.checkbox-form), .checkout-fields-container .form-row:not(.country-row) {
    width: 50%; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(odd), .checkout-fields-container .form-row:not(.postal-row):nth-child(odd), .checkout-fields-container .form-row:not(.state-row):nth-child(odd), .checkout-fields-container .form-row:not(.checkbox-form):nth-child(odd), .checkout-fields-container .form-row:not(.country-row):nth-child(odd) {
      clear: left;
      float: left;
      padding: 0 0.625rem 0 0; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(even), .checkout-fields-container .form-row:not(.postal-row):nth-child(even), .checkout-fields-container .form-row:not(.state-row):nth-child(even), .checkout-fields-container .form-row:not(.checkbox-form):nth-child(even), .checkout-fields-container .form-row:not(.country-row):nth-child(even) {
      float: right;
      padding: 0 0 0 0.625rem; } }

.checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
  float: left;
  width: 50%; }
  @media screen and (min-width: 48em) {
    .checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
      clear: none;
      padding: 0 0.625rem;
      width: 25%; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row:not(.city-row), .checkout-fields-container .form-row:not(.postal-row), .checkout-fields-container .form-row:not(.state-row), .checkout-fields-container .form-row:not(.country-row) {
    width: 50%; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(odd), .checkout-fields-container .form-row:not(.postal-row):nth-child(odd), .checkout-fields-container .form-row:not(.state-row):nth-child(odd), .checkout-fields-container .form-row:not(.country-row):nth-child(odd) {
      clear: left;
      float: left;
      padding: 0 0.625rem 0 0; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(even), .checkout-fields-container .form-row:not(.postal-row):nth-child(even), .checkout-fields-container .form-row:not(.state-row):nth-child(even), .checkout-fields-container .form-row:not(.country-row):nth-child(even) {
      float: right;
      padding: 0 0 0 0.625rem; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row.city-row {
    clear: left;
    padding-left: 0; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row.country-row {
    padding-right: 0; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row.postal-row .field-wrapper {
    width: 50%; } }

.checkout-fields-container .form-row .field-wrapper.has-tooltip {
  position: relative; }
  .checkout-fields-container .form-row .field-wrapper.has-tooltip i {
    color: #8a8a8a;
    font-size: 1.125rem;
    position: absolute;
    right: 0.875rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 1; }

.checkout-fields-container .form-row.form-indent.checkbox-form {
  padding: 0;
  width: 100%; }

.checkout-billing .top-payment-info {
  background-color: #f2f2f2;
  margin-bottom: 16px;
  padding: 30px; }
  @media screen and (max-width: 47.9375em) {
    .checkout-billing .top-payment-info {
      padding: 20px; } }
  .checkout-billing .top-payment-info p {
    margin: 0; }
  .checkout-billing .top-payment-info .due-payment-title {
    color: #c75300;
    font-size: 1.25rem;
    font-weight: bold;
    padding-bottom: 15px; }
    @media screen and (max-width: 47.9375em) {
      .checkout-billing .top-payment-info .due-payment-title {
        font-size: 1.0625rem;
        line-height: 1.4375rem;
        padding-bottom: 10px; } }

.checkout-billing .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  margin: 0 0 1.25rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .checkout-billing .section-title {
      font-size: 0.9375rem;
      margin: 0 0 1.875rem; } }

.checkout-billing .checkout-fields-container {
  margin: 0 0 0.625rem; }
  @media screen and (min-width: 48em) {
    .checkout-billing .checkout-fields-container {
      margin: 0 0 1.875rem; } }
  @media screen and (min-width: 48em) {
    .checkout-billing .checkout-fields-container .form-row.address-row {
      padding: 0 !important;
      width: 100% !important; } }

.checkout-billing .payment-method {
  margin: 0 0 2.813rem; }

.checkout-billing .credit-card-logos {
  margin: 0 0 1.875rem;
  max-width: 150px; }

.checkout-billing #monerisFrame {
  height: 235px;
  width: 100%; }

.checkout-billing #monerisMsg {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #f00;
  float: left;
  font-size: 0.75rem;
  line-height: 1;
  width: 100%; }

.order-review-page .line-item-details .product-brand,
.confirmation-page .line-item-details .product-brand {
  font-size: 0.875rem;
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-details .product-brand,
    .confirmation-page .line-item-details .product-brand {
      font-size: 0.9375rem; } }

.order-review-page .line-item-details .product-name,
.confirmation-page .line-item-details .product-name {
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-details .product-name,
    .confirmation-page .line-item-details .product-name {
      font-size: 1.25rem;
      line-height: 22px; } }

.order-review-page .line-item-price,
.confirmation-page .line-item-price {
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-price,
    .confirmation-page .line-item-price {
      font-size: 0.9375rem; } }

.order-review-page .line-item-quantity .item-quantity,
.confirmation-page .line-item-quantity .item-quantity {
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-quantity .item-quantity,
    .confirmation-page .line-item-quantity .item-quantity {
      font-size: 0.9375rem; } }

.order-review-page .address1,
.confirmation-page .address1 {
  float: left; }

.order-review-page .zip-code,
.confirmation-page .zip-code {
  text-transform: uppercase; }

.order-review-page address {
  font-style: normal; }

.order-review-page .section-title-box {
  background: #f2f2f2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 1.875rem;
  padding: 0.9375rem 0.625rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .section-title-box {
      background: none;
      border-top: 1px solid #f2f2f3;
      margin: 0 0 1.563rem;
      padding: 1.563rem 0 0; } }
  .order-review-page .section-title-box .main-section-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
    margin: 0; }
  .order-review-page .section-title-box .edit-section-link {
    font-size: 0.8125rem;
    line-height: 1; }

.order-review-page .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1;
  margin: 0 0 0.3125rem; }

.order-review-page .section-box-wrap {
  margin-bottom: 0.9375rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .section-box-wrap {
      margin-bottom: 1.563rem; } }
  .order-review-page .section-box-wrap .section-box {
    margin-bottom: 1.25rem; }
    @media screen and (max-width: 47.9375em) {
      .order-review-page .section-box-wrap .section-box {
        padding-left: 0.625rem;
        padding-right: 0.625rem; }
        .order-review-page .section-box-wrap .section-box.columns {
          padding-left: 1.563rem;
          padding-right: 1.563rem; } }
    @media screen and (min-width: 48em) {
      .order-review-page .section-box-wrap .section-box {
        margin-bottom: 0; } }
  .order-review-page .section-box-wrap p {
    font-size: 14px;
    line-height: 1;
    margin: 0 0 0.3125rem; }
  .order-review-page .section-box-wrap .appointment-time {
    color: #808285; }
  @media screen and (min-width: 48em) {
    .order-review-page .section-box-wrap .right-info-box .section-box {
      margin-bottom: 1.25rem; } }
  .order-review-page .section-box-wrap .vehicle-info-wrapper {
    margin-top: 1.875rem; }
    .order-review-page .section-box-wrap .vehicle-info-wrapper p {
      line-height: 22px; }

.order-review-page .disclaimer-checkout {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #808285;
  font-size: 0.875rem;
  line-height: 22px; }
  .order-review-page .disclaimer-checkout p {
    font-size: 0.875rem;
    margin: 0; }

.order-review-page .order-summary-footer {
  margin: 1.563rem 0; }
  @media screen and (min-width: 64em) {
    .order-review-page .order-summary-footer {
      margin: 3.125rem 0 0; } }

.order-review-page .button {
  font-size: 14px; }

.confirmation-page {
  margin: 1.25rem 0 0; }
  @media screen and (min-width: 48em) {
    .confirmation-page {
      margin: 3.438rem 0 0; } }
  .confirmation-page .login-box {
    background-color: #f2f2f2;
    margin: 0 0 1.875rem;
    padding: 1.25rem 0.9375rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .login-box {
        padding: 1.563rem 1.25rem; } }
    .confirmation-page .login-box.login-create-account .login-box-fieldset {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .confirmation-page .login-box.login-create-account .login-box-fieldset .form-row {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; }
        @media screen and (min-width: 48em) {
          .confirmation-page .login-box.login-create-account .login-box-fieldset .form-row {
            -ms-flex-preferred-size: 30%;
                flex-basis: 30%;
            margin-right: 20px; } }
    .confirmation-page .login-box.login-create-account form {
      margin-bottom: 15px; }
    .confirmation-page .login-box.login-create-account .login-box-submit-button {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }
    .confirmation-page .login-box.login-create-account .privacy-policy {
      color: #808285;
      font-size: 13px; }
      .confirmation-page .login-box.login-create-account .privacy-policy.link {
        text-decoration: underline; }
    .confirmation-page .login-box .button {
      margin: 0; }
  .confirmation-page .create-account-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.3;
    margin: 0 0 0.9375rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .create-account-title {
        font-size: 1.125rem;
        margin: 0 0 1.563rem; } }
  .confirmation-page .create-account-description {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .create-account-description {
        font-size: 0.9375rem; } }
  .confirmation-page .confirmation-message {
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .confirmation-message {
        margin: 0 0 2.188rem; } }
    .confirmation-page .confirmation-message h1 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 1.125rem;
      line-height: 1;
      margin: 0 0 1.25rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message h1 {
          font-size: 1.375rem;
          margin: 0 0 1.875rem; } }
    .confirmation-page .confirmation-message p {
      font-size: 0.875rem;
      line-height: 1.3;
      margin: 0 0 0.9375rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message p {
          margin: 0 0 1.563rem; } }
  .confirmation-page .section-title-box {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 1.875rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .section-title-box {
        margin: 0 0 1.563rem;
        padding: 1.563rem 0 0; } }
    .confirmation-page .section-title-box .main-section-title {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      display: inline-block;
      font-size: 1rem;
      line-height: 1;
      margin: 0; }
    .confirmation-page .section-title-box .edit-section-link {
      font-size: 0.8125rem;
      line-height: 1; }
    .confirmation-page .section-title-box.action-box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      .confirmation-page .section-title-box.action-box .phone-number {
        color: #c75300; }
      .confirmation-page .section-title-box.action-box .orderSummaryLiveChat {
        color: #c75300;
        cursor: pointer; }
      .confirmation-page .section-title-box.action-box .action-icon .card-icon {
        max-height: 16px; }
  .confirmation-page .section-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.875rem;
    line-height: 1;
    margin: 0 0 0.3125rem; }
    .confirmation-page .section-title--top-margin {
      margin-top: 1.25rem; }
  .confirmation-page .section-box-wrap {
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .section-box-wrap {
        margin-bottom: 1.563rem; } }
    .confirmation-page .section-box-wrap .section-box {
      margin-bottom: 1.25rem; }
      @media screen and (max-width: 47.9375em) {
        .confirmation-page .section-box-wrap .section-box {
          padding-left: 0.625rem;
          padding-right: 0.625rem; }
          .confirmation-page .section-box-wrap .section-box.columns {
            padding-left: 1.563rem;
            padding-right: 1.563rem; } }
      @media screen and (min-width: 48em) {
        .confirmation-page .section-box-wrap .section-box {
          margin-bottom: 0; } }
    .confirmation-page .section-box-wrap p {
      font-size: 14px;
      line-height: 1;
      margin: 0 0 0.3125rem; }
    .confirmation-page .section-box-wrap .appointment-time {
      color: #808285; }
  .confirmation-page .sms-reminder-box p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-style: italic;
    margin: 0 0 1.563rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .sms-reminder-box p {
        margin: 0 0 1.875rem; } }
  .confirmation-page .order-confirmation-links a {
    display: block; }
  .confirmation-page .appt-info-box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 3px solid #f2f2f3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0.9375rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .appt-info-box {
        border-width: 6px;
        padding: 1.25rem 0.9375rem; } }
    .confirmation-page .appt-info-box .img-box {
      margin: 0 0.4375rem 0 0;
      width: 50px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appt-info-box .img-box {
          margin: 0 1.25rem 0 0; } }
    .confirmation-page .appt-info-box .text-box {
      width: calc(100% - 57px); }
      @media screen and (min-width: 48em) {
        .confirmation-page .appt-info-box .text-box {
          width: calc(100% - 70px); } }
    .confirmation-page .appt-info-box h3 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 0.875rem;
      margin: 0; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appt-info-box h3 {
          font-size: 0.9375rem; } }
    .confirmation-page .appt-info-box p {
      font-size: 0.875rem;
      margin: 0; }
  .confirmation-page .order-information {
    border-bottom: 1px solid #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 30px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .order-information {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
    .confirmation-page .order-information .order-date {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.8125rem;
      margin: 0 0 0 0.625rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-information .order-date {
          margin: 0; } }
    .confirmation-page .order-information .section-title-box {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      margin-bottom: 20px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-information .section-title-box {
          border: 0;
          -webkit-box-flex: 1;
              -ms-flex: 1 1 auto;
                  flex: 1 1 auto;
          margin: 0;
          padding: 0; } }
      @media screen and (max-width: 47.9375em) {
        .confirmation-page .order-information .section-title-box .amount-due-at-store {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 400; } }
    .confirmation-page .order-information-block {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .confirmation-page .order-information-locale .section-title-box {
      margin-bottom: 20px; }
      @media print {
        .confirmation-page .order-information-locale .section-title-box {
          margin-bottom: 5px; } }
      .confirmation-page .order-information-locale .section-title-box .main-section-title {
        margin-bottom: 20px; }
        @media print {
          .confirmation-page .order-information-locale .section-title-box .main-section-title {
            margin-bottom: 0; } }
      .confirmation-page .order-information-locale .section-title-box p {
        margin-bottom: 0; }
  @media screen and (max-width: 47.9375em) {
    .confirmation-page .cart-summary-box {
      padding: 1.5625rem 1.875rem; } }
  @media screen and (min-width: 48em) {
    .confirmation-page .cart-summary-box {
      border: 2px solid #f2f2f3;
      border-bottom-width: 0; }
      .confirmation-page .cart-summary-box::before, .confirmation-page .cart-summary-box::after {
        content: ' ';
        display: table; }
      .confirmation-page .cart-summary-box::after {
        clear: both; } }
  .confirmation-page .mini-billing-address {
    margin-bottom: 1.25rem; }
    .confirmation-page .mini-billing-address + .section-box {
      padding: 0; }
  .confirmation-page .confirmation-message-wrapper {
    margin: 20px auto 50px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .confirmation-message-wrapper {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin: 0 auto 50px; } }
    @media screen and (min-width: 48em) {
      .confirmation-page .confirmation-message-wrapper .header {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    .confirmation-page .confirmation-message-wrapper .checked-icon {
      border-radius: 50%;
      height: 27px;
      margin-right: 15px;
      width: 27px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message-wrapper .checked-icon {
          -ms-flex-item-align: center;
              align-self: center;
          -webkit-box-shadow: 0 0 0 3px #c75300 inset;
                  box-shadow: 0 0 0 3px #c75300 inset;
          height: 28px;
          width: 28px; } }
      .confirmation-page .confirmation-message-wrapper .checked-icon::before {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        border: 4px solid #c75300;
        border-radius: 50%;
        color: #c75300;
        content: "\f00c";
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-family: fontawesome;
        font-size: 15px;
        height: 27px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0;
        width: 27px; }
        @media screen and (min-width: 48em) {
          .confirmation-page .confirmation-message-wrapper .checked-icon::before {
            font-size: 0.9375rem;
            height: 28px;
            width: 28px; } }
    .confirmation-page .confirmation-message-wrapper .title {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: 1.3125rem;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      line-height: 29px;
      margin: 0;
      padding-bottom: 10px;
      text-align: left; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message-wrapper .title {
          -ms-flex-item-align: center;
              align-self: center;
          font-size: 1.625rem;
          line-height: 33px; } }
    .confirmation-page .confirmation-message-wrapper .subtitle {
      font-size: 0.9375rem;
      line-height: 25px;
      margin: 0;
      text-align: center; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message-wrapper .subtitle {
          text-align: left; } }
  .confirmation-page .appointment-details-wrapper {
    margin-bottom: 35px; }
    .confirmation-page .appointment-details-wrapper .section-title-box {
      border: 0;
      margin-bottom: 20px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .section-title-box {
          padding: 0; } }
    .confirmation-page .appointment-details-wrapper .section-title {
      line-height: 20px;
      margin-bottom: 10px; }
    .confirmation-page .appointment-details-wrapper .appointment-data-time-locale {
      margin-bottom: 15px; }
    .confirmation-page .appointment-details-wrapper .appointment-data-time p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #c75300;
      font-size: 20px;
      line-height: 27px;
      margin-bottom: 0; }
    .confirmation-page .appointment-details-wrapper .appointment-time {
      display: none; }
    .confirmation-page .appointment-details-wrapper .location-box {
      margin-bottom: 15px; }
      .confirmation-page .appointment-details-wrapper .location-box p {
        line-height: 22px;
        margin: 0; }
    @media screen and (min-width: 48em) {
      .confirmation-page .appointment-details-wrapper .appointment-button {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; } }
    .confirmation-page .appointment-details-wrapper .appointment-button .button {
      margin-bottom: 15px; }
    .confirmation-page .appointment-details-wrapper .appointment-button .add-to-calendar {
      font-size: 0.875rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .appointment-button .add-to-calendar {
          margin-right: 15px;
          max-width: 196px; } }
    @media screen and (min-width: 48em) {
      .confirmation-page .appointment-details-wrapper .appointment-button .print-link {
        max-width: 270px; } }
    .confirmation-page .appointment-details-wrapper .section-box-wrap {
      margin-bottom: 10px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .section-box-wrap {
          margin-bottom: 30px; } }
    .confirmation-page .appointment-details-wrapper .reminder-info {
      color: #808285;
      font-size: 0.875rem;
      line-height: 22px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .appointment-details-wrapper .main-section-title {
        font-size: 1rem;
        line-height: 20px; } }
  .confirmation-page .customer-care {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding-top: 30px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .customer-care {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        padding-top: 0; } }
    .confirmation-page .customer-care h3 {
      font-size: 14px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .customer-care h3 {
          margin-bottom: 15px; } }
    .confirmation-page .customer-care p {
      font-size: 0.875rem;
      margin-bottom: 20px; }
  .confirmation-page .information-assets {
    border: 2px solid #f2f2f3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 30px 20px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .information-assets {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        padding: 30px; } }
    .confirmation-page .information-assets h3 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 1rem;
      line-height: 18px;
      margin-bottom: 20px; }
    .confirmation-page .information-assets p {
      line-height: 22px; }
    .confirmation-page .information-assets .appt-info {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .confirmation-page .information-assets .appt-info .information-box,
      .confirmation-page .information-assets .appt-info div {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 10px; }
      .confirmation-page .information-assets .appt-info div p {
        font-size: 0.875rem;
        margin: 0;
        padding-left: 20px; }
    .confirmation-page .information-assets .information-box {
      margin-bottom: 25px; }
      .confirmation-page .information-assets .information-box div {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .confirmation-page .information-assets .information-box p {
        font-size: 0.875rem;
        margin: 0;
        padding-left: 20px; }
      .confirmation-page .information-assets .information-box img {
        max-height: 60px;
        max-width: 60px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .information-assets .information-box:last-child:not(:first-child) {
          margin-bottom: 0; } }
    .confirmation-page .information-assets.assets-pdf .appt-info-pdf {
      border-right: 1px solid #979797; }
    .confirmation-page .information-assets.assets-pdf .customer-care {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
  .confirmation-page .order-confirmation-details {
    border: 2px solid #f2f2f3; }
    @media print {
      .confirmation-page .order-confirmation-details {
        border: 0; } }
    .confirmation-page .order-confirmation-details .order-summary-title {
      display: none; }
    .confirmation-page .order-confirmation-details .cart-summary-box {
      border-bottom: 2px solid #e8e8e9;
      padding-bottom: 30px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .cart-summary-box {
          border: 0;
          border-bottom: 2px solid #f2f2f3;
          padding-bottom: 0; } }
      @media print {
        .confirmation-page .order-confirmation-details .cart-summary-box {
          border: 2px solid #f2f2f3; } }
    .confirmation-page .order-confirmation-details .order-payment-summary {
      border: 0;
      margin-bottom: 50px;
      padding: 1.875rem 1.875rem 0; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .order-payment-summary {
          margin-bottom: 30px; } }
      .confirmation-page .order-confirmation-details .order-payment-summary .levy-message-orderdetails {
        color: #808285;
        font-size: 0.75rem;
        font-weight: bold;
        max-width: 360px; }
        @media screen and (max-width: 47.9375em) {
          .confirmation-page .order-confirmation-details .order-payment-summary .levy-message-orderdetails {
            margin-top: 1.25rem; } }
    .confirmation-page .order-confirmation-details .order-summary-header {
      padding: 1.5625rem 1.875rem; }
      @media print {
        .confirmation-page .order-confirmation-details .order-summary-header {
          border: 2px solid #f2f2f3;
          page-break-after: always; } }
    .confirmation-page .order-confirmation-details .line-items .product-brand,
    .confirmation-page .order-confirmation-details .line-items .product-name {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .line-items .product-brand,
        .confirmation-page .order-confirmation-details .line-items .product-name {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 400; } }
    .confirmation-page .order-confirmation-details .productname-column .line-items-title {
      display: none; }
    .confirmation-page .order-confirmation-details .productname-column .order-summary-products-title {
      display: block; }
  .confirmation-page .mini-address-location {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .confirmation-page .mini-address-location p {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
    .confirmation-page .mini-address-location .full-name {
      -webkit-box-ordinal-group: 1;
          -ms-flex-order: 0;
              order: 0; }
    .confirmation-page .mini-address-location .email {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
    .confirmation-page .mini-address-location .phone-number {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .confirmation-page .mini-address-location .postal-code {
      display: none; }
  .confirmation-page .personal-payment-info {
    margin-left: 0;
    margin-right: 0;
    margin-top: 20px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .personal-payment-info {
        margin-top: 50px; }
        .confirmation-page .personal-payment-info .information-box {
          padding: 20px 0 0; }
          .confirmation-page .personal-payment-info .information-box--full-padding {
            padding: 20px; }
          .confirmation-page .personal-payment-info .information-box--grey-background {
            background-color: #f2f2f3; } }
    .confirmation-page .personal-payment-info .section-title-box--no-margin {
      margin: 0; }
    @media screen and (min-width: 48em) {
      .confirmation-page .personal-payment-info .title {
        font-size: 1rem;
        line-height: 20px;
        margin-bottom: 10px; } }
    .confirmation-page .personal-payment-info .title--orange {
      color: #c75300; }
    @media screen and (max-width: 63.9375em) {
      .confirmation-page .personal-payment-info .payment-verification {
        margin-left: 0;
        margin-right: 0; } }
    @media screen and (max-width: 63.9375em) {
      .confirmation-page .personal-payment-info .payment-verification .section-box {
        background-color: #f2f2f3;
        padding: 0 12px 15px; } }
    .confirmation-page .personal-payment-info .need-changes {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media print {
        .confirmation-page .personal-payment-info .need-changes {
          display: none; } }
  .confirmation-page .payment-verification p {
    display: inline; }
  .confirmation-page .order-totals-table tr {
    font-size: 0.875rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .order-totals-table tr {
        font-size: 0.9375rem; } }

.product-detailed-info {
  line-height: 1.5;
  margin-top: 12px;
  text-transform: capitalize; }
  .product-detailed-info .attribute-data {
    font-size: 0.875rem;
    margin: 0; }

.save-for-billing {
  display: none; }

.monerisInput {
  border-color: #cccccc;
  border-style: solid;
  border-width: 1px;
  display: block;
  height: 40px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 10px; }

#monerisNameInput {
  width: 255px; }

.checkout-billing .checkout-fields-container div:first-child,
.checkout-billing .checkout-fields-container div:first-child + div {
  display: none; }

.mini-header {
  background-color: #f2f2f3; }
  .mini-header .header-logo {
    padding: 16px 0; }
    @media screen and (min-width: 48em) {
      .mini-header .header-logo {
        padding: 26px 0; } }

.checkout-personal-info .account-info-checkout {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 1px; }

.checkout-personal-info .account-info-checkout-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  display: block;
  font-size: 14px;
  line-height: 20px;
  margin-top: 20px; }

.checkout-personal-info .account-info-form {
  display: none; }

.checkout-personal-info.expanded .account-info-form {
  display: block; }

.checkout-personal-info.expanded .account-info-checkout,
.checkout-personal-info.expanded .account-info-checkout-label,
.checkout-personal-info.expanded .name-length-error {
  display: none; }

.checkout-personal-info.expanded .account-info-form-toggle {
  display: none; }

.update-creds-link {
  text-decoration: underline; }

.required-field::after {
  content: "*";
  margin-left: 3px; }

.cart-summary-box .section-header {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1;
  margin: 0 0 10px; }
  .cart-summary-box .section-header.qty-header {
    text-align: center; }
  .cart-summary-box .section-header.total-price-header {
    text-align: right; }

@media screen and (min-width: 48em) {
  .cart-summary-box .line-items {
    padding: 1.5625rem 1.875rem 0; } }

.cart-summary-box .line-item {
  margin-bottom: 1.25rem; }
  @media screen and (min-width: 48em) {
    .cart-summary-box .line-item {
      margin-bottom: 1.5625rem; } }

.cart-summary-box .line-item-details {
  line-height: 1;
  margin: 0 0 10px; }
  @media screen and (min-width: 48em) {
    .cart-summary-box .line-item-details {
      margin: 0; } }

.cart-summary-box .product-brand {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 0.8125rem;
  line-height: 1; }

.cart-summary-box .product-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1; }
  @media screen and (min-width: 64em) {
    .cart-summary-box .product-name {
      font-size: 1.125rem; } }

.cart-summary-box .line-item-price {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }
  .cart-summary-box .line-item-price .old-price {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #808285;
    font-size: 0.75rem;
    text-decoration: line-through; }

.cart-summary-box .line-item-quantity {
  text-align: center; }

.cart-summary-box .item-quantity,
.cart-summary-box .price-total {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem; }

.cart-summary-box .line-item-total {
  text-align: right; }

.cart-summary-box .main-section-header {
  border-bottom: 1px solid #f2f2f3;
  padding: 1.5625rem 1.875rem; }
  .cart-summary-box .main-section-header .section-header {
    margin: 0; }

.cart-summary-box .front-back-set-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  font-size: 0.6875rem;
  text-transform: uppercase; }

.cart-summary-box .first-pset {
  margin-bottom: 0.9375rem; }

.cart-summary-box .rebate-badge {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .cart-summary-box .rebate-badge {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .cart-summary-box .rebate-badge {
      margin: 0.3125rem 0 0; } }
  .cart-summary-box .rebate-badge::before {
    background: url("../images/icons/rebate_icon.png") no-repeat;
    content: "";
    height: 25px;
    margin: 0 0.25rem 0 0;
    width: 25px; }

.cart-summary-box .rebate-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #808285;
  display: none;
  font-size: 0.875rem;
  font-style: italic; }

.service-row .product-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem; }

.orderdetails .cart-summary-box {
  border: 2px solid #f2f2f3;
  margin: 0 0 20px;
  padding: 1rem 1.25rem; }
  @media screen and (min-width: 48em) {
    .orderdetails .cart-summary-box {
      border-bottom-width: 1px;
      margin: 0;
      padding: 0; } }

.orderdetails .rebate-box {
  display: none; }

.checkout-mini-cart {
  border: 1px solid #ccc;
  padding: 30px 20px; }
  .checkout-mini-cart .section-title {
    margin-bottom: 20px; }

@media screen and (min-width: 64em) {
  .checkout-mini-cart {
    padding: 0; }
    .checkout-mini-cart .section-title {
      margin: 1.25rem 0 0 1.25rem; }
    .checkout-mini-cart .main-section-header {
      display: none; }
    .checkout-mini-cart .cart-summary-box {
      border: 0;
      margin: 0; }
      .checkout-mini-cart .cart-summary-box .line-items {
        padding: 0; }
      .checkout-mini-cart .cart-summary-box .line-item {
        border-bottom: 1px solid #f2f2f3;
        margin: 0;
        padding: 1.25rem; }
        .checkout-mini-cart .cart-summary-box .line-item > div {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%;
          margin: 0;
          max-width: 100%;
          padding: 0; }
        .checkout-mini-cart .cart-summary-box .line-item.first-pset {
          border-bottom: 0;
          padding-bottom: 0.3125rem; }
        .checkout-mini-cart .cart-summary-box .line-item.second-pset {
          padding-top: 0.3125rem; }
      .checkout-mini-cart .cart-summary-box .line-item-details {
        margin: 0 0 3px; }
      .checkout-mini-cart .cart-summary-box .product-brand {
        display: inline-block; }
      .checkout-mini-cart .cart-summary-box .product-brand,
      .checkout-mini-cart .cart-summary-box .product-name {
        font-size: 0.875rem; }
      .checkout-mini-cart .cart-summary-box .price-total {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
    .checkout-mini-cart .line-item-quantity .section-header {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: inline-block !important; }
      .checkout-mini-cart .line-item-quantity .section-header::after {
        content: ":"; }
    .checkout-mini-cart .service-row {
      border: 0; }
      .checkout-mini-cart .service-row .product-name {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; } }

@media screen and (max-width: 47.9375em) {
  .order-review-page .cart-summary-box {
    margin: 0 0 35px;
    padding: 0 0.625rem; } }

@media screen and (min-width: 48em) {
  .order-review-page .cart-summary-box {
    border: 2px solid #f2f2f3; } }

.order-review-page .appointment-data-time p {
  line-height: 22px;
  margin-bottom: 10px; }

.order-review-page .app-info-wrapper p {
  display: inline;
  line-height: 22px; }

.order-review-page .location-box .section-title,
.order-review-page .location-box p {
  line-height: 22px;
  margin: 0; }

@media screen and (min-width: 48em) {
  .order-review-page .section-title-box {
    padding: 50px 0 0; } }

@media screen and (min-width: 48em) {
  .order-review-page .section-box-wrap {
    margin-bottom: 50px; } }

.order-review-page .section-box-wrap .edit-section-link {
  display: block;
  font-size: 0.8125rem;
  line-height: 13px;
  padding-top: 10px; }

.order-review-page .mini-address-location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .order-review-page .mini-address-location p {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
  .order-review-page .mini-address-location .full-name {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0; }
  .order-review-page .mini-address-location .email {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .order-review-page .mini-address-location .phone-number {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .order-review-page .mini-address-location .postal-code {
    display: none; }

.order-review-page .disclaimer-checkout {
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    .order-review-page .disclaimer-checkout {
      margin-bottom: 0; } }

.order-review-page .rebate-text,
.confirmation-page .rebate-text {
  display: block; }

.order-review-page .rebate-box,
.confirmation-page .rebate-box {
  float: right;
  text-align: right;
  width: 80%; }
  @media screen and (min-width: 48em) {
    .order-review-page .rebate-box,
    .confirmation-page .rebate-box {
      width: 25%; } }
  @media screen and (min-width: 64em) {
    .order-review-page .rebate-box,
    .confirmation-page .rebate-box {
      width: 27%; } }

.order-review-page .rebate-badge,
.confirmation-page .rebate-badge {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.appointments.appointments-wrap {
  margin: 0 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .appointments.appointments-wrap {
      border-left: 1px solid #979797;
      margin: 50px 0 75px;
      padding-left: 44px; } }

.appointments .main-title {
  border-top: 1px solid #d9d9da;
  font-size: 1rem;
  line-height: 1;
  margin: 0 0 0.625rem;
  padding-top: 50px; }
  @media screen and (min-width: 48em) {
    .appointments .main-title {
      border: 0;
      font-size: 1.125rem;
      padding-top: 0; } }

.appointments .appointment-duration {
  color: #808285;
  font-size: 0.875rem;
  margin: 0 0 1.563rem; }

.appointments .appointment-calendar {
  position: relative; }
  .appointments .appointment-calendar .loader {
    bottom: -4em;
    top: auto; }

.appointments .clndr {
  border: 1px solid #e7e7e7;
  padding-bottom: 18px; }

.appointments .clndr-controls {
  border-bottom-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.875rem 0 1.25rem;
  position: relative; }
  .appointments .clndr-controls::before, .appointments .clndr-controls::after {
    content: ' ';
    display: table; }
  .appointments .clndr-controls::after {
    clear: both; }
  .appointments .clndr-controls .month {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem; }

.appointments .clndr-previous-button,
.appointments .clndr-next-button {
  cursor: pointer;
  float: left;
  text-indent: -9999px; }

.appointments .clndr-previous-button,
.appointments .clndr-next-button {
  width: 20px; }
  .appointments .clndr-previous-button::before,
  .appointments .clndr-next-button::before {
    color: #808285;
    font-family: "fontello";
    font-size: 12px;
    padding-top: 3px;
    position: absolute;
    text-indent: 0; }
    @media screen and (min-width: 48em) {
      .appointments .clndr-previous-button::before,
      .appointments .clndr-next-button::before {
        color: #000; } }

.appointments .clndr-previous-button::before {
  content: "\e813";
  left: 15px; }
  @media screen and (min-width: 48em) {
    .appointments .clndr-previous-button::before {
      left: 20px; } }

.appointments .clndr-next-button::before {
  content: "\e814";
  right: 15px; }
  @media screen and (min-width: 48em) {
    .appointments .clndr-next-button::before {
      right: 20px; } }

.appointments .clndr-table {
  border-collapse: separate;
  margin: 0; }
  .appointments .clndr-table thead {
    background: transparent;
    border: 1px solid #ddddde;
    border-top-width: 0; }
  .appointments .clndr-table tbody tr {
    background: transparent; }
  .appointments .clndr-table tbody td {
    cursor: pointer;
    padding: 0; }
  .appointments .clndr-table td {
    font-size: 0.875rem;
    line-height: 1;
    text-align: center; }
  .appointments .clndr-table .clndr-controls.week {
    padding: 20px 0 15px; }
  .appointments .clndr-table .header-day {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-size: 0.625rem;
    padding: 0 0 0.625rem; }
    .appointments .clndr-table .header-day:first-child {
      border-left: 1px solid #ddddde; }
    .appointments .clndr-table .header-day:last-child {
      border-right: 1px solid #ddddde; }
  .appointments .clndr-table .event .w-day,
  .appointments .clndr-table .event .month-day {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  @media screen and (min-width: 48em) {
    .appointments .clndr-table .day .month-view {
      padding: 11px; } }
  @media screen and (min-width: 64em) {
    .appointments .clndr-table .day .month-view {
      font-size: 1.125rem;
      padding: 15px; } }
  @media only screen and (min-width: 1024px) and (max-width: 1100px) {
    .appointments .clndr-table .day .month-view {
      padding: 7px; } }
  @media only screen and (min-width: 1100px) and (max-width: 1319px) {
    .appointments .clndr-table .day .month-view {
      padding: 9px; } }
  .appointments .clndr-table .day.event:hover .day-contents {
    border: 1px solid #c75300; }
  .appointments .clndr-table .day:not(.event) {
    color: #808285;
    cursor: not-allowed; }
  .appointments .clndr-table .day.active-event .day-contents {
    background-color: #c75300;
    border-color: #c75300;
    color: #fff;
    padding: 0; }
  .appointments .clndr-table .first-day {
    padding: 0; }
  .appointments .clndr-table .month-day {
    font-size: 10px;
    line-height: 1;
    margin: 0;
    width: 100%; }
  .appointments .clndr-table .day-contents {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    height: 29px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: auto;
    width: 29px; }
    @media screen and (min-width: 48em) {
      .appointments .clndr-table .day-contents {
        height: 33px;
        width: 33px; } }
  .appointments .clndr-table .w-day {
    font-size: 1rem;
    margin: 0; }
  .appointments .clndr-table .week-view .controll-wrapper {
    padding: 0; }

.appointments .clndr-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .appointments .clndr-tabs .tab {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    border-bottom: 1px solid #e7e7e7;
    color: #808285;
    cursor: pointer;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    font-size: 0.8125rem;
    padding: 10px 0; }
    .appointments .clndr-tabs .tab.active {
      background-color: #c75300;
      border-color: #c75300;
      color: #fff; }
  .appointments .clndr-tabs .month-tab {
    border-left: 0; }

.appointments .appointment-error-message p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #f00;
  font-size: 0.875rem;
  line-height: 1.2; }

.appointments .appointment-date .appointments,
.appointments .appointment-date-time,
.appointments .no-available-appointments {
  border: 1px solid #ddddde;
  border-top-width: 0;
  padding: 1.563rem 1.25rem 0; }
  @media screen and (min-width: 48em) {
    .appointments .appointment-date .appointments,
    .appointments .appointment-date-time,
    .appointments .no-available-appointments {
      padding: 1.875rem 1.875rem 0; } }
  .appointments .appointment-date .appointments .appointment-date-title,
  .appointments .appointment-date-time .appointment-date-title,
  .appointments .no-available-appointments .appointment-date-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: block;
    font-size: 0.875rem;
    line-height: 1;
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date .appointments .appointment-date-title,
      .appointments .appointment-date-time .appointment-date-title,
      .appointments .no-available-appointments .appointment-date-title {
        font-size: 1rem; } }
  .appointments .appointment-date .appointments span:not(.appointment-date-title),
  .appointments .appointment-date-time span:not(.appointment-date-title),
  .appointments .no-available-appointments span:not(.appointment-date-title) {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date .appointments span:not(.appointment-date-title),
      .appointments .appointment-date-time span:not(.appointment-date-title),
      .appointments .no-available-appointments span:not(.appointment-date-title) {
        font-size: 1rem; } }

.appointments .appointment-date span:not(.appointment-date-title) {
  border: 1px solid #fff;
  cursor: pointer;
  float: left;
  margin: 0 0 0.3125rem;
  padding: 0.625rem 0.9375rem;
  text-align: center;
  width: 50%; }
  @media screen and (min-width: 48em) {
    .appointments .appointment-date span:not(.appointment-date-title) {
      margin: 0 0 0.9375rem;
      width: 16.6%; } }
  .appointments .appointment-date span:not(.appointment-date-title):hover {
    border: 1px solid #c75300; }

.appointments .appointment-date .appointments {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 20px; }
  .appointments .appointment-date .appointments .appointment-date-title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
  .appointments .appointment-date .appointments span {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33%;
            flex: 0 0 33%;
    padding: 10px 0; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date .appointments span {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%; } }
    .appointments .appointment-date .appointments span.appointment-active {
      background-color: #c75300;
      border: 1px solid #c75300;
      color: #fff; }

.appointments .appointment-date-time {
  display: none;
  padding-bottom: 1.563rem; }
  @media screen and (min-width: 48em) {
    .appointments .appointment-date-time {
      border: 0;
      padding: 1.875rem 0 0.9375rem; } }
  .appointments .appointment-date-time .appointment-date-title {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date-time .appointment-date-title {
        display: inline-block; } }

.appointments .edit-appointment {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }
  @media screen and (min-width: 48em) {
    .appointments .edit-appointment {
      font-size: 0.9375rem; } }

.appointments .appt-expiry {
  margin: 1.25rem 0 0; }
  .appointments .appt-expiry p {
    color: #808285;
    font-size: 0.875rem;
    margin: 0; }

.appointments .need-help-checkout-appointment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 50px 0 20px; }
  @media screen and (min-width: 48em) {
    .appointments .need-help-checkout-appointment {
      margin: 20px 0 0; } }
  .appointments .need-help-checkout-appointment p {
    margin-bottom: 10px; }
    @media screen and (min-width: 48em) {
      .appointments .need-help-checkout-appointment p {
        margin: 0;
        padding-right: 5px; } }
  .appointments .need-help-checkout-appointment a {
    font-size: 0.8125rem;
    font-weight: bold; }

.appointment-buttons-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 0 0 50px; }
  @media screen and (min-width: 48em) {
    .appointment-buttons-box {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  @media screen and (min-width: 64em) {
    .appointment-buttons-box {
      margin: 0; } }
  .appointment-buttons-box .button {
    margin: 0; }
  @media screen and (min-width: 48em) {
    .appointment-buttons-box.with-appointment-date-time {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .appointment-buttons-box .appointment-date-time {
    margin-right: auto; }
  @media screen and (max-width: 47.9375em) {
    .appointment-buttons-box .appointment-continue {
      width: 100%; } }
  .appointment-buttons-box .appointment-date-time {
    margin-bottom: 20px;
    max-width: 376px; }
    @media screen and (min-width: 48em) {
      .appointment-buttons-box .appointment-date-time {
        margin-bottom: 0; } }
  .appointment-buttons-box .appt-expiry p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    margin: 0; }

.appointment-page .appointment-page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    .appointment-page .appointment-page-title {
      font-size: 1rem; } }
  @media screen and (min-width: 48em) {
    .appointment-page .appointment-page-title {
      margin: 0 0 10px; } }

.appointment-page .vertical-align {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.appointment-page .start_location {
  border-right: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }
  @media screen and (min-width: 48em) {
    .appointment-page .start_location {
      height: 45px; } }

.appointment-page .search-store {
  margin: 0;
  max-width: 40px;
  padding: 13px 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .search-store {
      height: 45px;
      max-width: 134px; } }

.appointment-page #map-box {
  margin: 0.625rem 0;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .appointment-page #map-box {
      margin: 1.25rem 0 0.625rem; } }

.appointment-page .toggle-map {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  line-height: 39px;
  margin: 15px 0 0;
  max-width: 100%;
  padding: 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .toggle-map {
      margin: 0 0 0 15px;
      max-width: 139px;
      padding: 0 15px; } }

.appointment-page .map-view {
  max-height: 360px !important; }
  @media screen and (min-width: 48em) {
    .appointment-page .map-view {
      max-height: 500px !important; } }

.appointment-page .list-view-items .location-item {
  border-bottom: 1px solid #d9d9da;
  position: relative; }

.appointment-page .list-view-items .location-item-wrapper {
  padding: 50px 0 55px; }

.appointment-page .list-view-items .more-times .button,
.appointment-page .list-view-items .book-now .button {
  margin-top: 20px; }
  @media screen and (min-width: 48em) {
    .appointment-page .list-view-items .more-times .button,
    .appointment-page .list-view-items .book-now .button {
      margin: 15px 0 0; } }

.appointment-page .list-view-items .more-times:not(.stored-here-btn) {
  padding-left: 7px; }

.appointment-page .list-view-items .more-times .hollow {
  padding: 13px 15px; }

.appointment-page .list-view-items .stored-here-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 20px 0 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .list-view-items .stored-here-btn {
      margin: 0; } }
  .appointment-page .list-view-items .stored-here-btn .button {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .appointment-page .list-view-items .stored-here-btn .button {
        max-width: 241px; } }

.appointment-page .list-view-items .stored-tires {
  -ms-flex-item-align: center;
      align-self: center; }

.appointment-page .list-view-items .book-now {
  padding-right: 7px; }

.appointment-page .list-view-items .show-store-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.appointment-page .list-view-items .show-store-info {
  background-image: url("../images/kaltire/listviewArrow.png");
  background-position: right center;
  background-repeat: no-repeat;
  height: 16px;
  width: 10px; }

.appointment-page .list-view-items .highlight-outofstock-store {
  border: 2px solid #ff6900;
  -webkit-transition: border-width 0.3s ease-in-out;
  transition: border-width 0.3s ease-in-out; }
  .appointment-page .list-view-items .highlight-outofstock-store.transition-to-end {
    border-width: 0; }

.appointment-page .list-view-items p,
.appointment-page .store-details-box p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .list-view-items p,
    .appointment-page .store-details-box p {
      margin: 0 0 0.3125rem; } }

.appointment-page .location-item-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.3; }
  @media screen and (min-width: 48em) {
    .appointment-page .location-item-name {
      margin: 0 0 0.3125rem; } }
  .appointment-page .location-item-name .nickname {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400; }

.appointment-page .location-item-distance {
  color: #808285;
  display: block;
  margin-top: 5px; }
  @media screen and (min-width: 48em) {
    .appointment-page .location-item-distance {
      font-size: 0.75rem;
      margin-top: 0; } }

.appointment-page .store-availability {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0.625rem 0 0; }
  .appointment-page .store-availability .availability-message {
    color: #808285;
    font-size: 0.9375rem; }
  .appointment-page .store-availability .earliest-available .slot-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  .appointment-page .store-availability .earliest-available .searching-for-availability {
    color: #f00;
    display: block;
    font-weight: bold; }
  .appointment-page .store-availability .earliest-available .float-clear-both {
    clear: both; }

.appointment-page .no-trailer-service {
  color: #808285;
  font-size: 0.9375rem;
  line-height: 1.3; }

@media screen and (min-width: 48em) {
  .appointment-page .rating-distance-box {
    -ms-flex-item-align: start;
        align-self: flex-start;
    text-align: right; } }

.appointment-page .back-and-pagination-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.875rem 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .back-and-pagination-wrapper {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin: 1.875rem 0 -1.875rem; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .appointment-page .back-and-pagination-wrapper {
      margin-bottom: 50px; } }
  @media screen and (min-width: 48em) {
    .appointment-page .back-and-pagination-wrapper .step-back-link {
      margin: 0; } }
  .appointment-page .back-and-pagination-wrapper .pagination {
    margin: 0; }

.appointment-page .map-infobox .store-back-box {
  margin: 20px 0 0; }

.appointment-page .map-infobox .store-back {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.appointment-page .store-details-box {
  margin-top: 50px; }
  .appointment-page .store-details-box .location-distance {
    padding: 20px 0; }
    @media screen and (min-width: 48em) {
      .appointment-page .store-details-box .location-distance {
        padding: 10px 0; } }
  .appointment-page .store-details-box .more-info-box {
    margin: 0.625rem 0 1.875rem; }
    .appointment-page .store-details-box .more-info-box .is-accordion-submenu-parent {
      border: 0; }
  .appointment-page .store-details-box .more-info-title {
    font-size: 0.875rem;
    padding: 0 0 0 1.25rem;
    text-transform: none; }
    .appointment-page .store-details-box .more-info-title::after {
      font-size: 0.875rem;
      left: 0;
      right: auto; }
  .appointment-page .store-details-box .submenu {
    margin: 0.625rem 0 0 1.25rem; }
  @media screen and (min-width: 48em) {
    .appointment-page .store-details-box .phone-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      margin: 0.9375rem 0; } }

.appointment-page .booking-not-available {
  border-bottom: 1px solid #d9d9da;
  margin: 0 0 2.188rem;
  padding: 0 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .appointment-page .booking-not-available {
      border: 0;
      padding: 0; } }
  .appointment-page .booking-not-available h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.3;
    margin: 0 0 0.3125rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .appointment-page .booking-not-available h3 {
        font-size: 1.125rem; } }

.appointment-page .location-filters {
  padding-top: 15px; }
  @media screen and (min-width: 48em) {
    .appointment-page .location-filters {
      max-width: 236px; } }
  .appointment-page .location-filters label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    margin: 0;
    padding: 13px 0 0 16px;
    position: absolute; }
  .appointment-page .location-filters select {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    padding-left: 80px; }

.appointment-page .select-location-wrapper {
  position: relative; }

.appointment-popup-wrap {
  padding: 1.25rem; }
  @media screen and (min-width: 48em) {
    .appointment-popup-wrap {
      padding: 1.875rem; } }
  .appointment-popup-wrap .close-button {
    color: #c75300;
    right: 1.125rem;
    top: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .appointment-popup-wrap .close-button {
        right: 1.75rem;
        top: 1.438rem; } }
  .appointment-popup-wrap h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.2;
    margin: 0 0 1.563rem;
    width: 80%; }
  .appointment-popup-wrap p {
    font-size: 0.875rem;
    margin: 0 0 1.563rem; }
  .appointment-popup-wrap .button {
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .appointment-popup-wrap .button {
        width: 100%; } }

@media screen and (min-width: 48em) {
  #storageModal .bringing-traler-btn,
  #trailerTireModal .bringing-traler-btn {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  #storageModal .bringing-wheel-btn,
  #trailerTireModal .bringing-wheel-btn {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

#storageModal.trailer-appointment-modal,
#trailerTireModal.trailer-appointment-modal {
  height: auto;
  max-height: unset;
  min-height: unset; }

#storageModal .modal-content,
#trailerTireModal .modal-content {
  padding: 30px 20px; }
  @media screen and (min-width: 48em) {
    #storageModal .modal-content,
    #trailerTireModal .modal-content {
      padding: 30px 0; } }
  #storageModal .modal-content.trailer-modal-content,
  #trailerTireModal .modal-content.trailer-modal-content {
    padding-top: 0; }
    @media screen and (min-width: 48em) {
      #storageModal .modal-content.trailer-modal-content .title.step-title,
      #trailerTireModal .modal-content.trailer-modal-content .title.step-title {
        background-color: transparent;
        color: #000; } }
    #storageModal .modal-content.trailer-modal-content .close-button,
    #trailerTireModal .modal-content.trailer-modal-content .close-button {
      color: #000;
      display: none; }
    #storageModal .modal-content.trailer-modal-content .title,
    #trailerTireModal .modal-content.trailer-modal-content .title {
      background-color: transparent;
      color: #000;
      font-size: 20px;
      text-align: center;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        #storageModal .modal-content.trailer-modal-content .title,
        #trailerTireModal .modal-content.trailer-modal-content .title {
          background-color: #c4c4c4;
          color: #fff;
          font-size: 18px;
          text-align: left;
          text-transform: unset; } }
      #storageModal .modal-content.trailer-modal-content .title.title-large,
      #trailerTireModal .modal-content.trailer-modal-content .title.title-large {
        display: none; }
      #storageModal .modal-content.trailer-modal-content .title.title-small,
      #trailerTireModal .modal-content.trailer-modal-content .title.title-small {
        border: 1px solid #979797;
        text-transform: none; }
      #storageModal .modal-content.trailer-modal-content .title.second-step-modal-title,
      #trailerTireModal .modal-content.trailer-modal-content .title.second-step-modal-title {
        color: #fff;
        font-size: 16px;
        padding-left: 12px;
        text-align: left; }
    @media screen and (min-width: 48em) {
      #storageModal .modal-content.trailer-modal-content .close-button,
      #storageModal .modal-content.trailer-modal-content .return-step-button,
      #trailerTireModal .modal-content.trailer-modal-content .close-button,
      #trailerTireModal .modal-content.trailer-modal-content .return-step-button {
        background-color: #c4c4c4;
        color: #fff; } }

@media screen and (min-width: 48em) {
  #storageModal .main-modal-title.second-step,
  #trailerTireModal .main-modal-title.second-step {
    display: none; } }

#storageModal .secondary-modal-title,
#trailerTireModal .secondary-modal-title {
  display: none; }
  @media screen and (min-width: 48em) {
    #storageModal .secondary-modal-title.second-step,
    #trailerTireModal .secondary-modal-title.second-step {
      display: block; } }

#storageModal img:not(.trailer-image),
#trailerTireModal img:not(.trailer-image) {
  max-width: 68px; }
  @media screen and (min-width: 48em) {
    #storageModal img:not(.trailer-image),
    #trailerTireModal img:not(.trailer-image) {
      max-width: 86px; } }

#storageModal p,
#trailerTireModal p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 1rem;
  padding: 10px 0 20px; }

#storageModal .button-wrapper,
#trailerTireModal .button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    #storageModal .button-wrapper,
    #trailerTireModal .button-wrapper {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  #storageModal .button-wrapper .info-btn,
  #trailerTireModal .button-wrapper .info-btn {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    background-color: #d8d8d8;
    font-size: 14px;
    margin: 10px 0;
    padding: 15px 0;
    text-align: center;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #storageModal .button-wrapper .info-btn,
      #trailerTireModal .button-wrapper .info-btn {
        background-color: transparent;
        margin: 0;
        max-width: 50%;
        padding: 0;
        text-align: left;
        width: auto; } }
  #storageModal .button-wrapper.trailer-button,
  #trailerTireModal .button-wrapper.trailer-button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    min-height: 233px; }
    @media screen and (min-width: 48em) {
      #storageModal .button-wrapper.trailer-button,
      #trailerTireModal .button-wrapper.trailer-button {
        height: 233px; } }
    #storageModal .button-wrapper.trailer-button.trailer-info-buttons,
    #trailerTireModal .button-wrapper.trailer-button.trailer-info-buttons {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      border-bottom: 1px solid #979797;
      border-left: 1px solid #979797;
      border-right: 1px solid #979797;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 0 35px;
      text-align: left; }
      @media screen and (min-width: 48em) {
        #storageModal .button-wrapper.trailer-button.trailer-info-buttons,
        #trailerTireModal .button-wrapper.trailer-button.trailer-info-buttons {
          border: 0;
          padding-left: 15px;
          padding-right: 15px; } }

#storageModal .are-stored-btn,
#trailerTireModal .are-stored-btn {
  margin-bottom: 10px; }
  @media screen and (min-width: 48em) {
    #storageModal .are-stored-btn,
    #trailerTireModal .are-stored-btn {
      margin: 0 15px 0 0;
      max-width: 152px; } }

@media screen and (min-width: 48em) {
  #storageModal .not-stored-btn,
  #trailerTireModal .not-stored-btn {
    max-width: 225px; } }

#storageModal .bringing-traler-btn,
#storageModal .bringing-wheel-btn,
#trailerTireModal .bringing-traler-btn,
#trailerTireModal .bringing-wheel-btn {
  background-color: #c75300;
  color: #fff;
  padding: 16px 10px; }
  @media screen and (min-width: 48em) {
    #storageModal .bringing-traler-btn,
    #storageModal .bringing-wheel-btn,
    #trailerTireModal .bringing-traler-btn,
    #trailerTireModal .bringing-wheel-btn {
      background-color: transparent;
      border-color: #808285;
      color: #000;
      height: 100%;
      max-height: 48px;
      max-width: 236px;
      padding: 7px 10px; } }

#storageModal .trailer-modal-step,
#trailerTireModal .trailer-modal-step {
  display: none; }
  #storageModal .trailer-modal-step.current,
  #trailerTireModal .trailer-modal-step.current {
    display: block; }
    @media screen and (min-width: 48em) {
      #storageModal .trailer-modal-step.current .return-step-button,
      #trailerTireModal .trailer-modal-step.current .return-step-button {
        display: none; } }
    #storageModal .trailer-modal-step.current .title.title-small,
    #trailerTireModal .trailer-modal-step.current .title.title-small {
      color: #c75300; }
    #storageModal .trailer-modal-step.current .modal-header,
    #storageModal .trailer-modal-step.current .button-wrapper,
    #trailerTireModal .trailer-modal-step.current .modal-header,
    #trailerTireModal .trailer-modal-step.current .button-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      #storageModal .trailer-modal-step.current .modal-header.mobile-title-tell-us-more,
      #storageModal .trailer-modal-step.current .button-wrapper.mobile-title-tell-us-more,
      #trailerTireModal .trailer-modal-step.current .modal-header.mobile-title-tell-us-more,
      #trailerTireModal .trailer-modal-step.current .button-wrapper.mobile-title-tell-us-more {
        display: none; }
  #storageModal .trailer-modal-step .mobile-title-tell-us-more,
  #trailerTireModal .trailer-modal-step .mobile-title-tell-us-more {
    background-color: #c75300;
    color: #fff; }
    #storageModal .trailer-modal-step .mobile-title-tell-us-more.second-step-active,
    #trailerTireModal .trailer-modal-step .mobile-title-tell-us-more.second-step-active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
  #storageModal .trailer-modal-step.next-step.trailer-info,
  #trailerTireModal .trailer-modal-step.next-step.trailer-info {
    display: block; }
    @media screen and (min-width: 48em) {
      #storageModal .trailer-modal-step.next-step.trailer-info,
      #trailerTireModal .trailer-modal-step.next-step.trailer-info {
        display: none; } }
    #storageModal .trailer-modal-step.next-step.trailer-info .title.title-small,
    #trailerTireModal .trailer-modal-step.next-step.trailer-info .title.title-small {
      color: #979797; }
    #storageModal .trailer-modal-step.next-step.trailer-info .trailer-info-buttons,
    #trailerTireModal .trailer-modal-step.next-step.trailer-info .trailer-info-buttons {
      display: none; }
  #storageModal .trailer-modal-step.previous-step,
  #trailerTireModal .trailer-modal-step.previous-step {
    display: block;
    padding-top: 50px; }
    @media screen and (min-width: 48em) {
      #storageModal .trailer-modal-step.previous-step,
      #trailerTireModal .trailer-modal-step.previous-step {
        display: none; } }
    #storageModal .trailer-modal-step.previous-step.trailer-info,
    #trailerTireModal .trailer-modal-step.previous-step.trailer-info {
      padding-top: 0; }
      #storageModal .trailer-modal-step.previous-step.trailer-info .trailer-info-buttons,
      #trailerTireModal .trailer-modal-step.previous-step.trailer-info .trailer-info-buttons {
        display: none; }
    #storageModal .trailer-modal-step.previous-step .title.title-small,
    #trailerTireModal .trailer-modal-step.previous-step .title.title-small {
      color: #000; }
    #storageModal .trailer-modal-step.previous-step .button-wrapper,
    #trailerTireModal .trailer-modal-step.previous-step .button-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: unset; }
      #storageModal .trailer-modal-step.previous-step .button-wrapper .trailer-modal-btn,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .trailer-modal-btn {
        pointer-events: none; }
      #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn,
      #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn {
        background-color: #e4e4e4;
        border: 0;
        color: #fff;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; }
        #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn.selected-step-option,
        #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn.selected-step-option,
        #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn.selected-step-option,
        #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn.selected-step-option {
          background-color: transparent;
          border: 3px solid #c75300;
          color: #000;
          margin-top: 50px;
          -webkit-box-ordinal-group: 3;
              -ms-flex-order: 2;
                  order: 2; }
      #storageModal .trailer-modal-step.previous-step .button-wrapper .selected-step-option,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .selected-step-option {
        display: block;
        pointer-events: none; }

#storageModal .return-step-button,
#trailerTireModal .return-step-button {
  cursor: pointer;
  font-size: 2em;
  line-height: 1;
  padding-right: 27px;
  position: unset;
  right: 1rem;
  top: 0.5rem; }
  @media screen and (min-width: 48em) {
    #storageModal .return-step-button,
    #trailerTireModal .return-step-button {
      display: none; }
      #storageModal .return-step-button.not-step-one,
      #trailerTireModal .return-step-button.not-step-one {
        display: block; } }

#licensePlateModal .modal-content {
  padding: 0 25px; }

#licensePlateModal #licensePlateSubmit {
  max-width: 250px; }

#licensePlateModal #license-plate-number {
  padding: 0 65px; }

#licensePlateModal p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-size: 0.875rem;
  font-weight: 400;
  padding: 20px 0; }

@media screen and (min-width: 48em) {
  #trailerTireModal.reveal {
    width: 775px; } }

@media screen and (min-width: 48em) {
  #trailerTireModal .modal-header {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px 30px 0; } }

#trailerTireModal .trailer-tire-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  #trailerTireModal .trailer-tire-header .modal-title {
    font-size: 22px; }
    @media screen and (max-width: 47.9375em) {
      #trailerTireModal .trailer-tire-header .modal-title {
        padding-top: 10px; } }
  #trailerTireModal .trailer-tire-header .close-button {
    background-color: transparent;
    color: #000; }

#trailerTireModal .modal-content.trailer-modal-content .active-title .step-message {
  border-bottom: 2px solid #ff6900;
  color: #000;
  padding: 4px 0 2px; }

#trailerTireModal .modal-content.trailer-modal-content .secondary-modal-title.disabled {
  color: #808080;
  cursor: auto; }

#trailerTireModal .modal-content.trailer-modal-content .step-title {
  cursor: pointer;
  font-size: 16px; }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal .modal-content.trailer-modal-content .step-title {
      padding: 20px; } }

#trailerTireModal .modal-content.trailer-modal-content .second-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: none;
  font-size: 20px;
  font-weight: bold;
  line-height: 18px; }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal .modal-content.trailer-modal-content .second-title {
      border: 1px solid #979797;
      border-top: 0;
      font-size: 14px;
      padding: 20px 0;
      text-align: center; } }
  @media screen and (min-width: 48em) {
    #trailerTireModal .modal-content.trailer-modal-content .second-title {
      margin: 30px 30px 0; } }
  #trailerTireModal .modal-content.trailer-modal-content .second-title.active {
    display: block; }

@media screen and (min-width: 48em) {
  #trailerTireModal .modal-content.trailer-modal-content.trailer-modal-content {
    height: 400px;
    overflow-y: hidden; } }

#trailerTireModal .modal-content.trailer-modal-content.trailer-modal-content button.close-button {
  background-color: transparent;
  color: #000;
  display: block; }

#trailerTireModal .trailer-modal-step {
  display: block; }
  #trailerTireModal .trailer-modal-step .trailer-info-buttons {
    display: none; }

#trailerTireModal .secondary-modal-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px; }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal .secondary-modal-title {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  #trailerTireModal .secondary-modal-title .step-arrow {
    color: #808080;
    padding: 0 13px; }

#trailerTireModal #trailerTireModalExit {
  padding-right: 0; }
  @media screen and (min-width: 48em) {
    #trailerTireModal #trailerTireModalExit {
      left: 300px;
      position: relative;
      top: 0; } }

#trailerTireModal .bringing-traler-btn,
#trailerTireModal .bringing-wheel-btn {
  color: #000; }

#trailerTireModal #bringingTrailer,
#trailerTireModal #bringingTrailerWheel {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-height: none;
  max-width: none; }
  @media screen and (min-width: 48em) {
    #trailerTireModal #bringingTrailer,
    #trailerTireModal #bringingTrailerWheel {
      border-left: 10px solid transparent; } }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal #bringingTrailer,
    #trailerTireModal #bringingTrailerWheel {
      margin: 10px 0;
      padding: 30px 20px; } }
  #trailerTireModal #bringingTrailer:hover,
  #trailerTireModal #bringingTrailerWheel:hover {
    border-left: 10px solid #ff6900;
    padding-right: 10px; }
  #trailerTireModal #bringingTrailer img,
  #trailerTireModal #bringingTrailerWheel img {
    height: auto;
    max-height: 90px;
    pointer-events: none; }
    @media screen and (max-width: 47.9375em) {
      #trailerTireModal #bringingTrailer img,
      #trailerTireModal #bringingTrailerWheel img {
        max-height: 60px;
        padding-right: 10px; } }

#trailerTireModal .trailer-modal-btn {
  background-color: #f7f7f7;
  border: 0; }
  #trailerTireModal .trailer-modal-btn:hover {
    border-left: 10px solid #ff6900;
    padding-right: 28px; }

@media screen and (min-width: 48em) {
  #trailerTireModal .choose-action.current .button-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 360px); } }

@media screen and (min-width: 48em) {
  #trailerTireModal .trailerType.current .button-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 270px);
    grid-template-rows: repeat(2, 76px); } }

#trailerTireModal .trailerLength.current .second-title {
  margin-top: 0; }

@media screen and (min-width: 48em) {
  #trailerTireModal .trailerLength.current .button-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 170px); } }

#appointmentSecure .modal-content,
#selecteNewAppointment .modal-content {
  padding: 20px; }

#appointmentSecure .close-button,
#selecteNewAppointment .close-button {
  outline: none; }

#appointmentSecure .title,
#selecteNewAppointment .title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.875rem;
  margin: 0; }

#appointmentSecure img,
#selecteNewAppointment img {
  max-width: 68px; }
  @media screen and (min-width: 48em) {
    #appointmentSecure img,
    #selecteNewAppointment img {
      max-width: 86px; } }

#appointmentSecure p,
#selecteNewAppointment p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  padding: 0 0 10px; }

#appointmentSecure .button-wrapper,
#selecteNewAppointment .button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    #appointmentSecure .button-wrapper,
    #selecteNewAppointment .button-wrapper {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }

#appointmentSecure .are-stored-btn,
#selecteNewAppointment .are-stored-btn {
  margin-bottom: 10px; }
  @media screen and (min-width: 48em) {
    #appointmentSecure .are-stored-btn,
    #selecteNewAppointment .are-stored-btn {
      margin: 0 15px 0 0;
      max-width: 152px; } }

@media screen and (min-width: 48em) {
  #appointmentSecure .not-stored-btn,
  #selecteNewAppointment .not-stored-btn {
    max-width: 225px; } }

.appointment-confirmation {
  margin-top: 50px; }
  .appointment-confirmation .title-wrapper {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    background-color: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .title-wrapper {
        background-color: #fff;
        margin-bottom: 10px; } }
  .appointment-confirmation .title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    margin: 0; }
  .appointment-confirmation .secudred-title {
    padding: 14px 0 14px 10px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .secudred-title {
        font-size: 1.25rem;
        font-weight: bold;
        padding: 0; } }
  .appointment-confirmation .restart-button {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #c75300;
    font-size: 0.8125rem;
    margin: 0;
    padding-right: 10px; }
  .appointment-confirmation .expiry {
    border-bottom: 1px solid #979797;
    font-size: 0.875rem;
    line-height: 22px;
    margin-bottom: 30px;
    padding: 0 10px 30px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .expiry {
        font-size: 1rem;
        margin-bottom: 50px;
        padding: 0 0 50px; } }
  .appointment-confirmation .appointment-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 30px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-content {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
  .appointment-confirmation .appointment-date-time {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding: 0 10px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-date-time {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        padding: 0; } }
  .appointment-confirmation .appointment-address-wrapper {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding: 0 10px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-address-wrapper {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        padding: 0 0 0 20px; } }
  @media screen and (min-width: 48em) {
    .appointment-confirmation .location-header {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .appointment-confirmation .selected-appointment-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #c75300;
    font-size: 1.25rem;
    padding: 10px 0; }
  .appointment-confirmation .appointment-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-buttons {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin-top: 60px; } }
  .appointment-confirmation .confirm-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    margin: 0 0 20px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .confirm-button {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        margin: 0;
        max-width: 196px;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  .appointment-confirmation .back-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    margin: 0 0 50px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .back-button {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        margin: 0;
        max-width: 196px;
        -webkit-box-ordinal-group: 1;
            -ms-flex-order: 0;
                order: 0; } }
  .appointment-confirmation .appointment-duration {
    color: #808285;
    margin: 0;
    padding: 0 0 10px; }
  .appointment-confirmation .location-item-name,
  .appointment-confirmation .location-item-address {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 22px;
    margin: 0;
    padding: 0; }
  .appointment-confirmation .location-item-name {
    text-transform: capitalize; }
  .appointment-confirmation .location-title {
    padding-bottom: 10px; }
  .appointment-confirmation .restart-appointment {
    cursor: pointer; }
  .appointment-confirmation .city {
    text-transform: capitalize; }
  .appointment-confirmation .zip-code,
  .appointment-confirmation .state {
    text-transform: uppercase; }

@media screen and (min-width: 64em) {
  .page-designer-kaltire .no-padding-left-large {
    padding-left: 0; }
  .page-designer-kaltire .no-padding-right-large {
    padding-right: 0; } }

.page-designer-kaltire .black {
  color: #000 !important; }

.page-designer-kaltire .white {
  color: #fff !important; }

.page-designer-kaltire .orange {
  color: #ff6900 !important; }

.page-designer-kaltire .darker-gray {
  color: #262626 !important; }

.page-designer-kaltire .has-shaddow {
  text-shadow: 0 0 12px rgba(0, 0, 0, 0.3) !important; }

.page-designer-kaltire .background-black {
  background-color: #000 !important; }

.page-designer-kaltire .background-white {
  background-color: #fff !important; }

.page-designer-kaltire .background-orange {
  background-color: #ff6900 !important; }

.page-designer-kaltire .background-darker-gray {
  background-color: #262626 !important; }

.page-designer-kaltire h5 a {
  color: #ff6900;
  font-size: 1.125rem; }

.page-designer-kaltire .component-figure {
  color: #fff;
  height: 100%;
  margin: 0;
  position: relative;
  width: 100%; }
  .page-designer-kaltire .component-figure p {
    margin: 0; }
  .page-designer-kaltire .component-figure .banner-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 3.75rem;
    line-height: 3.75rem;
    text-transform: uppercase; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .component-figure .banner-title {
        font-size: 2.5rem;
        line-height: 2.5rem;
        padding-bottom: 15px; } }
  .page-designer-kaltire .component-figure .banner-subtitle {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.8125rem;
    line-height: 1rem;
    padding-left: 0.25rem; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .component-figure .banner-subtitle {
        font-size: 0.75rem;
        line-height: 1rem;
        max-width: 100%;
        padding-left: 0; } }
  .page-designer-kaltire .component-figure figcaption {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%; }
    .page-designer-kaltire .component-figure figcaption .row {
      width: 100%; }

.page-designer-kaltire .component-image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--focal-point-x) var(--focal-point-y);
     object-position: var(--focal-point-x) var(--focal-point-y); }

.page-designer-kaltire .video-article {
  height: 100%;
  position: absolute;
  width: 100%; }
  .page-designer-kaltire .video-article i {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 40px;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

@media screen and (min-width: 48em) {
  .page-designer-kaltire .article-main-image .video-article i,
  .page-designer-kaltire .featured-article .video-article i,
  .page-designer-kaltire .featured-left-article .video-article i {
    font-size: 60px; } }

.page-designer-kaltire .feature-article-image {
  max-height: 18.75rem;
  width: 100%; }

.page-designer-kaltire .experience-layouts-exploretopic,
.page-designer-kaltire .experience-assets-exploretopics {
  background-color: #f2f2f2;
  padding: 5rem 0; }
  @media screen and (max-width: 47.9375em) {
    .page-designer-kaltire .experience-layouts-exploretopic,
    .page-designer-kaltire .experience-assets-exploretopics {
      padding: 2.5rem 0; } }

.page-designer-kaltire .topic-link-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 2.1875rem;
  line-height: 2.1875rem;
  padding-bottom: 0.9375rem;
  text-transform: uppercase; }
  @media screen and (max-width: 47.9375em) {
    .page-designer-kaltire .topic-link-title {
      font-size: 1.25rem;
      line-height: 1.25rem;
      padding-bottom: 0.3125rem; } }

.page-designer-kaltire a.topic-link {
  color: #000;
  display: block; }
  .page-designer-kaltire a.topic-link:hover {
    color: #ff6900; }
  .page-designer-kaltire a.topic-link .topic-link-image {
    height: 40px;
    width: 40px; }
  .page-designer-kaltire a.topic-link i {
    font-size: 40px; }
  .page-designer-kaltire a.topic-link p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.75rem;
    padding-top: 0.3125rem; }

.page-designer-kaltire .popular-reads {
  margin: 50px 0 20px; }

.page-designer-kaltire .articles-infinite {
  margin: 20px 0; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .articles-infinite {
      margin: 50px 0 20px; } }

.page-designer-kaltire .popular-reads-top,
.page-designer-kaltire .related-reads-top {
  margin-bottom: 20px; }

.page-designer-kaltire .popular-reads-title {
  border-left: 3px solid #ff6900;
  font-size: 1rem;
  font-weight: bold;
  line-height: 0.875rem;
  padding-left: 8px;
  text-transform: uppercase; }

.page-designer-kaltire .popular-reads-link {
  font-size: 12px;
  font-weight: bold;
  text-align: right; }

.page-designer-kaltire .article-container {
  border: 1px solid #f7f7f7;
  margin-bottom: 20px; }

.page-designer-kaltire .article-info {
  padding: 15px 15px 6px; }

.page-designer-kaltire .featured-tag {
  display: none; }

.page-designer-kaltire .article-title {
  font-size: 1rem;
  font-weight: bold;
  height: 38px;
  line-height: 1.25rem;
  overflow: hidden;
  text-transform: uppercase; }

.page-designer-kaltire .article-link.text-link {
  font-size: 0.6875rem;
  font-weight: bold; }
  .page-designer-kaltire .article-link.text-link.button {
    margin-top: 20px; }
  .page-designer-kaltire .article-link.text-link::after {
    content: " >"; }
  .page-designer-kaltire .article-link.text-link.text-link-custom::after {
    content: ""; }

.page-designer-kaltire .article-container,
.page-designer-kaltire .featured-article {
  position: relative; }

.page-designer-kaltire .article-link-full {
  cursor: pointer;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 1; }

.page-designer-kaltire .featured-article,
.page-designer-kaltire .featured-left-article {
  color: #fff;
  margin-bottom: 20px;
  overflow: hidden; }
  .page-designer-kaltire .featured-article .article-info,
  .page-designer-kaltire .featured-left-article .article-info {
    background-color: #262626;
    height: 100%;
    padding: 50px 50px 0; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .featured-article .article-info,
      .page-designer-kaltire .featured-left-article .article-info {
        padding: 20px 40px; } }
  .page-designer-kaltire .featured-article .featured-tag,
  .page-designer-kaltire .featured-left-article .featured-tag {
    background-color: #424242;
    display: inline;
    font-size: 0.5625rem;
    padding: 4px 7px;
    text-transform: uppercase; }
  .page-designer-kaltire .featured-article .article-title,
  .page-designer-kaltire .featured-left-article .article-title {
    font-size: 1.9375rem;
    font-weight: normal;
    height: auto;
    line-height: 2rem;
    padding: 16px 0 10px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .featured-article .article-title,
      .page-designer-kaltire .featured-left-article .article-title {
        font-size: 1.4375rem;
        line-height: 1.75rem; } }
  .page-designer-kaltire .featured-article .article-description,
  .page-designer-kaltire .featured-left-article .article-description {
    display: -webkit-box;
    /* stylelint-disable-line */
    font-size: 0.8125rem;
    -webkit-line-clamp: 2;
    max-height: 36px;
    overflow: hidden; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .featured-article .article-description,
      .page-designer-kaltire .featured-left-article .article-description {
        -webkit-line-clamp: 3;
        max-height: 55px; } }
  .page-designer-kaltire .featured-article .article-link.button,
  .page-designer-kaltire .featured-left-article .article-link.button {
    font-size: 0.75rem;
    margin: 20px 0 0;
    padding: 12px 24px; }

.page-designer-kaltire .articles-layout .feature-article-image {
  max-height: 16rem; }

.page-designer-kaltire .featured-left-article {
  position: relative; }
  .page-designer-kaltire .featured-left-article .article-info {
    padding: 22px 30px; }
  .page-designer-kaltire .featured-left-article .article-title {
    padding: 26px 0 10px; }
  .page-designer-kaltire .featured-left-article .article-description {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    margin: 5px 0 20px; }
  .page-designer-kaltire .featured-left-article a {
    display: block;
    margin-bottom: 10px; }

.page-designer-kaltire .topic-breadcrumb {
  background-color: #262626;
  color: #fff; }
  .page-designer-kaltire .topic-breadcrumb .article-breadcrumbs {
    margin: 15px 0 5px; }
    .page-designer-kaltire .topic-breadcrumb .article-breadcrumbs a,
    .page-designer-kaltire .topic-breadcrumb .article-breadcrumbs p {
      color: #fff; }
  .page-designer-kaltire .topic-breadcrumb .topic-title {
    border-left: 3px solid #ff6900;
    text-transform: uppercase; }
    .page-designer-kaltire .topic-breadcrumb .topic-title-text {
      font-size: 1rem;
      line-height: 1rem;
      margin: 0 0 25px 10px; }

.page-designer-kaltire .article-breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 10px 0 20px; }
  .page-designer-kaltire .article-breadcrumbs a,
  .page-designer-kaltire .article-breadcrumbs p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #000;
    display: block;
    font-size: 0.6875rem;
    line-height: 0.6875rem; }

.page-designer-kaltire .breadcrumb-level-1,
.page-designer-kaltire .breadcrumb-level-2,
.page-designer-kaltire .breadcrumb-level-3 {
  padding-bottom: 10px; }

.page-designer-kaltire .breadcrumb-level-1 a::after,
.page-designer-kaltire .breadcrumb-level-1 p::after,
.page-designer-kaltire .breadcrumb-level-2 a::after,
.page-designer-kaltire .breadcrumb-level-2 p::after {
  content: "/";
  margin: 0 6px; }

.page-designer-kaltire .breadcrumb-level-3 p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0; }

.page-designer-kaltire .article-contents,
.page-designer-kaltire .content-markup {
  margin-bottom: 50px;
  margin-top: 40px; }
  @media screen and (max-width: 63.9375em) {
    .page-designer-kaltire .article-contents,
    .page-designer-kaltire .content-markup {
      margin-top: 0; } }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .content-markup p {
    font-size: 0.875rem; }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .article-contents h4,
  .page-designer-kaltire .content-markup p,
  .page-designer-kaltire .content-markup ul,
  .page-designer-kaltire .content-markup ol,
  .page-designer-kaltire .content-markup h4 {
    margin: 0;
    padding: 0; }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .content-markup p,
  .page-designer-kaltire .content-markup ul,
  .page-designer-kaltire .content-markup ol {
    font-size: 0.875rem; }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .content-markup p,
  .page-designer-kaltire .content-markup ul,
  .page-designer-kaltire .content-markup ol {
    margin-bottom: 25px; }
  .page-designer-kaltire .article-contents h1,
  .page-designer-kaltire .content-markup h1 {
    font-size: 1.5625rem;
    line-height: 1.5625rem; }
  .page-designer-kaltire .article-contents h2,
  .page-designer-kaltire .content-markup h2 {
    font-size: 1.5rem;
    line-height: 1.5rem; }
  .page-designer-kaltire .article-contents h3,
  .page-designer-kaltire .content-markup h3 {
    color: #000;
    font-size: 1rem;
    line-height: 1rem; }
  .page-designer-kaltire .article-contents h4,
  .page-designer-kaltire .content-markup h4 {
    color: #ff6900;
    font-size: 1rem;
    line-height: 1rem;
    margin-bottom: 10px; }
  .page-designer-kaltire .article-contents .article-page-title,
  .page-designer-kaltire .content-markup .article-page-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.5625rem;
    line-height: 1.5625rem;
    margin-bottom: 30px;
    text-align: center; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .article-contents .article-page-title,
      .page-designer-kaltire .content-markup .article-page-title {
        margin-bottom: 20px;
        text-align: left;
        text-transform: uppercase; } }
  .page-designer-kaltire .article-contents .article-main-image,
  .page-designer-kaltire .content-markup .article-main-image {
    margin-bottom: 30px; }
  .page-designer-kaltire .article-contents .article-page-content,
  .page-designer-kaltire .content-markup .article-page-content {
    margin-bottom: 75px; }
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .content-markup ol {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    list-style: decimal;
    padding-left: 30px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .article-contents ol,
      .page-designer-kaltire .content-markup ol {
        padding-left: 20px; } }
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .content-markup ul {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    list-style: disc;
    padding-left: 30px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .article-contents ul,
      .page-designer-kaltire .content-markup ul {
        padding-left: 20px; } }
  .page-designer-kaltire .article-contents img,
  .page-designer-kaltire .content-markup img {
    display: block;
    margin: 0 auto; }
  .page-designer-kaltire .article-contents .product-image-badge img,
  .page-designer-kaltire .content-markup .product-image-badge img {
    display: inline-block; }

.page-designer-kaltire .content-markup {
  margin: 0; }

.page-designer-kaltire .bottom-border-2p-gray {
  border-bottom: 2px solid #d9d9da; }

.page-designer-kaltire .video-article-link {
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 2; }

.page-designer-kaltire .article-video {
  margin-bottom: 50px;
  margin-top: 50px; }

.page-designer-kaltire .thumbs-up-container {
  margin: 20px 0 50px;
  text-align: center; }

.page-designer-kaltire .thumbs-up-title p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.25rem;
  margin: 0 0 4px;
  text-transform: uppercase; }

.page-designer-kaltire .thumbs-up-subtitle p {
  font-size: 0.875rem;
  margin: 0; }

.page-designer-kaltire .thumbs-up-triggers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 20px; }
  .page-designer-kaltire .thumbs-up-triggers i {
    color: #b0b1b3;
    display: block;
    font-size: 2.625rem; }
  .page-designer-kaltire .thumbs-up-triggers i.active {
    color: #ff6900; }

.page-designer-kaltire .thumbs-up-trigger,
.page-designer-kaltire .thumbs-down-trigger {
  cursor: pointer; }

.page-designer-kaltire .thumbs-up-trigger {
  margin-right: 10px; }

.page-designer-kaltire .thumbs-down-trigger {
  margin-left: 10px;
  padding-top: 12px; }

.page-designer-kaltire .article-external-section {
  margin-bottom: 75px;
  min-height: 320px;
  text-align: center; }
  .page-designer-kaltire .article-external-section .article-external-content {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media screen and (max-width: 47.9375em) {
      .page-designer-kaltire .article-external-section .article-external-content {
        padding: 30px; } }
  .page-designer-kaltire .article-external-section .article-external-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.25rem;
    margin: 10px 0;
    text-transform: uppercase; }
  .page-designer-kaltire .article-external-section .article-external-subtitle {
    font-size: 0.875rem;
    margin-bottom: 10px; }
  .page-designer-kaltire .article-external-section .button {
    margin-top: 20px; }

.page-designer-kaltire .article-filters {
  padding: 50px 10px 0; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .article-filters {
      padding: 50px 30px 0 10px; } }
  .page-designer-kaltire .article-filters p {
    border-bottom: 1px solid #ccc;
    font-size: 0.75rem;
    margin: 0 0 30px;
    padding-bottom: 30px; }
  .page-designer-kaltire .article-filters a {
    color: #000;
    font-size: 0.9375rem; }
  .page-designer-kaltire .article-filters a:hover {
    color: #ff6900; }
  .page-designer-kaltire .article-filters .active-link {
    color: #ff6900; }
  .page-designer-kaltire .article-filters .subcategory-region {
    margin: 0 0 10px 10px; }
    .page-designer-kaltire .article-filters .subcategory-region a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.875rem; }

.page-designer-kaltire .article-count {
  display: none; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .article-count {
      display: block; } }

.page-designer-kaltire p.article-count-mobile {
  border-bottom: 0;
  display: block;
  margin: 0;
  padding: 10px 0 0; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire p.article-count-mobile {
      display: none; } }

.page-designer-kaltire a.refinement-filter-toggle {
  display: block;
  font-size: 0.75rem;
  margin: 0;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire a.refinement-filter-toggle {
      display: none; } }
  .page-designer-kaltire a.refinement-filter-toggle.active {
    background-color: #ff6900;
    color: #fff; }
    .page-designer-kaltire a.refinement-filter-toggle.active ::after {
      content: "\e807";
      font-family: "fontello";
      font-size: 17px;
      position: absolute;
      right: 15px;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }

.page-designer-kaltire .topic-filters {
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  display: none;
  padding: 15px; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .topic-filters {
      border: 0;
      display: block;
      padding: 0; } }

.page-designer-kaltire .table-grid-component {
  text-align: center; }
  .page-designer-kaltire .table-grid-component .column-content {
    overflow: hidden;
    padding: 10px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .table-grid-component .column-content {
        padding: 4px; } }
  .page-designer-kaltire .table-grid-component p {
    margin: 0; }
  .page-designer-kaltire .table-grid-component ul {
    list-style: disc; }
  .page-designer-kaltire .table-grid-component ol {
    list-style: decimal; }
  .page-designer-kaltire .table-grid-component p,
  .page-designer-kaltire .table-grid-component ul,
  .page-designer-kaltire .table-grid-component ol {
    font-size: 0.875rem; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .table-grid-component p,
      .page-designer-kaltire .table-grid-component ul,
      .page-designer-kaltire .table-grid-component ol {
        font-size: 0.75rem; } }

.page-designer-kaltire .flex-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.page-designer-kaltire .content-optional-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.5625rem;
  line-height: 1.5625rem;
  margin-bottom: 24px; }
  @media screen and (max-width: 63.9375em) {
    .page-designer-kaltire .content-optional-title {
      margin-bottom: 16px;
      text-transform: uppercase; } }

.page-designer-kaltire .experience-layouts-productcardright,
.page-designer-kaltire .experience-layouts-productcardleft,
.page-designer-kaltire .experience-layouts-productcardscentered {
  margin: 1.875rem 0; }

.page-designer-kaltire .powerreviews-container {
  min-height: 33px; }

.video-article-popup .ui-dialog-titlebar-close {
  right: 16px;
  top: -28px; }
  @media screen and (min-width: 48em) {
    .video-article-popup .ui-dialog-titlebar-close {
      right: 16px;
      top: -28px; } }

.video-article-popup #dialog-container {
  padding: 0; }

@media screen and (min-width: 48em) {
  #resource-centre .experience-assets-headlinebannerfullwidth {
    height: 371px;
    text-align: center; }
    #resource-centre .experience-assets-headlinebannerfullwidth .title-row {
      margin: 0 0 0 345px;
      text-align: justify; }
      #resource-centre .experience-assets-headlinebannerfullwidth .title-row .banner-title {
        font-size: 65px;
        margin-bottom: 18px; }
      #resource-centre .experience-assets-headlinebannerfullwidth .title-row .banner-subtitle {
        font-size: 18px;
        padding: 0; }
      #resource-centre .experience-assets-headlinebannerfullwidth .title-row .subtitle-row {
        margin: 0; }
        #resource-centre .experience-assets-headlinebannerfullwidth .title-row .subtitle-row .subtitle-column {
          padding: 0; }
  #resource-centre .experience-assets-exploretopics {
    height: 408px;
    padding: 120px 0; }
    #resource-centre .experience-assets-exploretopics .topic-link-title {
      font-size: 42px;
      margin-bottom: 0;
      padding-bottom: 12px; }
    #resource-centre .experience-assets-exploretopics .topic-column {
      display: block;
      margin: 0 24px;
      padding: 0; }
      #resource-centre .experience-assets-exploretopics .topic-column .topic-link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; }
        #resource-centre .experience-assets-exploretopics .topic-column .topic-link i {
          font-size: 56px;
          margin: 0; }
        #resource-centre .experience-assets-exploretopics .topic-column .topic-link p {
          font-size: 18px;
          padding-top: 22px; }
  #resource-centre .experience-layouts-popularreads .popular-reads {
    margin: 100px 0 70px; }
  #resource-centre .experience-layouts-popularreads .popular-reads-title {
    font-size: 26px;
    height: 23px;
    line-height: 21px; }
  #resource-centre .experience-layouts-popularreads .featured-article {
    margin-bottom: 30px; }
  #resource-centre .experience-layouts-popularreads .article-container {
    margin-bottom: 30px; } }

.self-service-entry-point-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  margin: 1.875rem 0 1.25rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .self-service-entry-point-title {
      font-size: 1.625rem;
      margin: 3.125rem 0; } }

.self-service-entry-point-order {
  position: relative; }
  .self-service-entry-point-order input[type="number"] {
    -webkit-appearance: textfield;
       -moz-appearance: textfield;
            appearance: textfield; }
  .self-service-entry-point-order input::-webkit-outer-spin-button,
  .self-service-entry-point-order input::-webkit-inner-spin-button {
    -webkit-appearance: none;
            appearance: none;
    margin: 0; }

.self-service-entry-point-wrapper {
  margin-bottom: 6.25rem;
  padding: 0.3125rem 0; }
  @media screen and (min-width: 48em) {
    .self-service-entry-point-wrapper {
      border: 0.3125rem solid rgba(242, 242, 242, 0.8);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 5rem 0 2.5rem; } }
  .self-service-entry-point-wrapper .has-tip-custom {
    border: 0;
    margin-left: 0.4375rem;
    position: absolute;
    top: -0.125rem; }
  .self-service-entry-point-wrapper .questionmarkcircle {
    background: #ff6900;
    color: #fff;
    height: 1.125rem;
    margin-right: 0;
    width: 1.125rem; }

.find-my-appointment {
  margin-left: 0.9375rem; }
  @media screen and (min-width: 48em) {
    .find-my-appointment {
      margin-left: 0.625rem; } }

.season-tire-popup {
  width: 600px !important; }
  .season-tire-popup .dialog-content {
    padding: 0; }
  .season-tire-popup .season-tire-popup-title {
    background: #ff6900;
    color: #fff;
    padding: 1.5625rem 3.75rem 1.5625rem 1.5625rem; }
  .season-tire-popup .ui-dialog-titlebar-close .ui-button-icon-primary::after {
    color: #fff;
    font-size: 1.25rem; }
  .season-tire-popup .ui-dialog-titlebar-close .ui-button-icon-primary:hover::after {
    color: #fff; }
  .season-tire-popup .season-tire-popup-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
    padding: 1.5625rem 3.75rem 1.5625rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup .season-tire-popup-wrapper {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-flow: row;
                flex-flow: row;
        padding: 1.5625rem 3.75rem 1.5625rem 0.9375rem; } }
  .season-tire-popup .confirm-cancelation-wrapper {
    padding: 1.5625rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup .confirm-cancelation-wrapper {
        padding: 1.5625rem 0.9375rem; } }
    .season-tire-popup .confirm-cancelation-wrapper .button {
      width: 100%; }
      @media screen and (min-width: 48em) {
        .season-tire-popup .confirm-cancelation-wrapper .button {
          width: inherit; } }
      .season-tire-popup .confirm-cancelation-wrapper .button:focus {
        background: #ff6900; }
    .season-tire-popup .confirm-cancelation-wrapper .keep-appointment-button {
      background: #fff;
      border: 0.1875rem solid #ff6900;
      color: #000;
      margin-left: 0;
      padding: 0.8125rem 0.9375rem; }
      @media screen and (min-width: 48em) {
        .season-tire-popup .confirm-cancelation-wrapper .keep-appointment-button {
          margin-left: 0.625rem; } }
  .season-tire-popup .apifailed-popup-wrapper {
    padding: 1.5625rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup .apifailed-popup-wrapper {
        padding: 1.5625rem 0.9375rem; } }
  .season-tire-popup .button[disabled] {
    background: #bfc0c2;
    opacity: 1; }
  .season-tire-popup .input-custom,
  .season-tire-popup input[type="radio"] {
    border: 1px solid #c9c9c9;
    height: 1.125rem;
    width: 1.125rem; }
  .season-tire-popup input[type="radio"]:checked + .input-custom {
    background: #fff;
    border: 0.25rem solid #ff6900; }
  .season-tire-popup img {
    margin-bottom: 1.875rem;
    max-width: 7.5rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup img {
        float: right; } }

.cancel-appointment-survey-wrapper .field-wrapper {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem; }

.cancel-appointment-survey-wrapper .radio-form {
  margin-bottom: 0.625rem; }

.cancel-appointment-survey-wrapper .input-custom,
.cancel-appointment-survey-wrapper input[type="radio"] {
  border: 1px solid #c9c9c9;
  height: 1.125rem;
  width: 1.125rem; }

.cancel-appointment-survey-wrapper input[type="radio"]:checked + .input-custom {
  background: #fff;
  border: 0.25rem solid #ff6900; }

.cancel-appointment-survey-wrapper .cancel-appointment-why {
  margin-bottom: 0.9375rem; }

.cancel-appointment-survey-wrapper .cancel-appointment-survey-submit {
  margin-top: 1.875rem;
  padding: 0.9375rem 3.125rem; }

.cancel-appointment-survey-wrapper .button[disabled] {
  background: #bfc0c2;
  opacity: 1; }

.tooltip .season-tire-popup-order {
  background: #ff6900;
  color: #fff;
  padding: 0.9375rem; }

.appointment-reschedule-message-box {
  background-color: #f2f2f2;
  margin: 0 0.625rem 1.25rem;
  padding: 1.875rem 1.875rem 1.875rem 3.75rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .appointment-reschedule-message-box {
      padding: 1.875rem 3.75rem; } }
  .appointment-reschedule-message-box .fa-check-circle {
    color: #ff6900;
    font-size: 1.25rem;
    left: 1.875rem;
    position: absolute; }
  .appointment-reschedule-message-box .fa-check {
    color: #ff6900;
    font-size: 0.6875rem;
    left: 1.875rem;
    margin-top: 0.3125rem;
    position: absolute; }
    .appointment-reschedule-message-box .fa-check::before {
      border: 3px solid #ff6900;
      border-radius: 50%;
      padding: 0.1875rem; }

.appointment-reschedule-message-box-keep {
  background-color: #f2f2f2;
  margin: 0 0.625rem 1.25rem;
  padding: 1.875rem 1.25rem; }
  @media screen and (min-width: 48em) {
    .appointment-reschedule-message-box-keep {
      padding: 1.875rem; } }

.appointment-finder-error-wrapper {
  background-color: #f2f2f2;
  margin: 0 0.625rem 1.25rem;
  padding: 1.875rem 1.875rem 1.875rem 3.75rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .appointment-finder-error-wrapper {
      padding: 1.875rem 3.75rem; } }
  .appointment-finder-error-wrapper .fa-exclamation-triangle,
  .appointment-finder-error-wrapper .fa-check {
    color: #ff6900;
    font-size: 1.25rem;
    left: 1.875rem;
    position: absolute; }
  .appointment-finder-error-wrapper .fa-check {
    font-size: 0.6875rem;
    margin-top: 0.3125rem; }
    .appointment-finder-error-wrapper .fa-check::before {
      border: 3px solid #ff6900;
      border-radius: 50%;
      padding: 0.1875rem; }
  .appointment-finder-error-wrapper .contact-us,
  .appointment-finder-error-wrapper .talk-member {
    font-weight: bold; }
  .appointment-finder-error-wrapper .talk-member {
    margin: 0; }
  .appointment-finder-error-wrapper .phone-number {
    color: #808285; }

.cancel-appointment-success-wrapper {
  background-color: #f2f2f2;
  margin: 1.5625rem 0 2.1875rem;
  padding: 1.875rem 1.875rem 1.875rem 3.75rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .cancel-appointment-success-wrapper {
      padding: 1.875rem 3.75rem; } }
  .cancel-appointment-success-wrapper .fa-check {
    color: #ff6900;
    font-size: 0.6875rem;
    left: 1.875rem;
    margin-top: 0.3125rem;
    position: absolute; }
    .cancel-appointment-success-wrapper .fa-check::before {
      border: 3px solid #ff6900;
      border-radius: 50%;
      padding: 0.1875rem; }

.appointment-dashboard-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  margin: 1.875rem 0 1.25rem;
  text-transform: uppercase;
  white-space: nowrap; }
  @media screen and (min-width: 48em) {
    .appointment-dashboard-title {
      font-size: 1.625rem;
      margin: 3.125rem 0 1.25rem; } }
  .appointment-dashboard-title::before {
    color: #ff6900;
    content: "|";
    margin-right: 0.5rem; }

.appointment-dashboard-order-summary {
  margin: 1.25rem 0; }

.appointment-dashboard-starttime {
  color: #ff6900;
  margin-bottom: 1.25rem; }

.appointment-dashboard-starttime-day {
  text-transform: uppercase; }

.appointment-dashboard-location-confirm {
  margin-bottom: 0.3125rem; }

.appointment-dashboard-location-confirm-province {
  margin-bottom: 2.5rem; }

.appointment-dashboard-location {
  margin-top: 0.625rem;
  white-space: pre-line; }

.appointment-dashboard-location-distance {
  color: #808285;
  font-size: 0.75rem;
  margin-bottom: 0;
  padding: 0.3125rem 0 0.625rem; }

.appointment-dashboard-space {
  margin: 0.625rem 0 1.25rem; }

.appointment-dashboard-reschedule {
  margin-top: 1.25rem; }

.appointment-dashboard-cancel {
  color: #ff6900;
  display: block;
  line-height: inherit;
  margin-bottom: 6.25rem;
  vertical-align: text-top; }
  @media screen and (min-width: 48em) {
    .appointment-dashboard-cancel {
      display: inline-block;
      margin-left: 0.9375rem; } }

.appointment-calendar-select-new-date {
  font-size: 1.125rem;
  margin-bottom: 0;
  margin-top: 1.875rem; }

.appointment-dashboard-location-calendar-name {
  font-size: 1rem; }

.appointment-dashboard-location-calendar-address {
  font-size: 0.875rem;
  margin-bottom: 0;
  margin-top: 0.625rem; }

.appointment-calendar-drop {
  color: #ff6900;
  display: block;
  font-size: 0.875rem; }
  .appointment-calendar-drop:hover {
    color: #db5a00; }

.store-details-box-wrapper {
  margin-top: 2.5rem; }
  .store-details-box-wrapper .store-details-box {
    margin-top: 0; }
    .store-details-box-wrapper .store-details-box .more-info-title {
      color: #ff6900;
      font-size: 0.8125rem; }

.appointment-calendar-plain-text {
  margin-bottom: 1.25rem; }

.appointment-calendar-button-wrapper .button[disabled] {
  background: #bfc0c2;
  opacity: 1; }

.appointment-calendar-button-wrapper .button {
  width: 100%; }
  @media screen and (min-width: 48em) {
    .appointment-calendar-button-wrapper .button {
      width: inherit; } }

.appointment-calendar-button-wrapper .appointment-calendar-keep {
  background: #fff;
  border: 0.1875rem solid #ff6900;
  color: #000;
  margin-left: 0;
  padding: 0.6875rem 0.9375rem; }
  @media screen and (min-width: 48em) {
    .appointment-calendar-button-wrapper .appointment-calendar-keep {
      margin-left: 0.625rem; } }

.appointment-active {
  text-transform: uppercase; }

.appointment-date {
  text-transform: uppercase; }

.appointment-dashboard-date {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  margin-left: 0.625rem;
  padding: 0;
  text-transform: none; }

.reveal.appointment-calendar-modal {
  height: auto;
  min-height: auto; }
  .reveal.appointment-calendar-modal .appointment-calendar-keep {
    margin-top: 1.25rem; }
    @media screen and (min-width: 48em) {
      .reveal.appointment-calendar-modal .appointment-calendar-keep {
        margin-top: 0; } }

.appointment-finder-error-block .appointment-finder-error-wrapper {
  margin: 0; }

@media print {
  .information-box h3 {
    width: 100%; } }

.search-result-content .product-tile .recommended-bagde {
  display: none !important; }

.checkout-shipping .selection-box.reminded-appointment {
  display: none !important; }

.checkout-fields-container .country-row .input-select {
  background-image: none; }

@media print {
  #inside_holder {
    display: none; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXgtdmlkZW8uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiX3Jlc3BvbnNpdmVlbWJlZC5zY3NzIiwiX2ZvbnRlbGxvLnNjc3MiLCJfc2xpY2suc2NzcyIsIl9rYWx0aXJlLXNldHRpbmdzLnNjc3MiLCJfa2FsdGlyZS10eXBvZ3JhcGh5LnNjc3MiLCJfa2FsdGlyZS1lbGVtZW50cy5zY3NzIiwiYmFzZS9fa2FsdGlyZS1ncmlkLnNjc3MiLCJiYXNlL19mb3JtLWVsZW1lbnRzLnNjc3MiLCJiYXNlL19zbGlkZXIuc2NzcyIsIl9rYWx0aXJlLnNjc3MiLCJfa2FsdGlyZS1wcm9kdWN0c2VsZWN0b3Iuc2NzcyIsIl9rYWx0aXJlLXNlcnZpY2VzZWxlY3Rvci5zY3NzIiwiX2thbHRpcmUtcGFnaW5hdGlvbi5zY3NzIiwiX2thbHRpcmUtcHJvZHVjdHRpbGUuc2NzcyIsIl9rYWx0aXJlLXJlc3VsdHMuc2NzcyIsIl9rYWx0aXJlLXBkcC5zY3NzIiwiX2thbHRpcmUtcHJvZHVjdGNvbXBhcmUuc2NzcyIsIl9rYWx0aXJlLWZpbmFuY2luZy5zY3NzIiwiX2thbHRpcmUtZ3NwLnNjc3MiLCJfa2FsdGlyZS1ub3Jlc3VsdHMuc2NzcyIsIl9rYWx0aXJlLXZpc3VhbGl6ZXIuc2NzcyIsIl9rYWx0aXJlLWxvZ2luLnNjc3MiLCJfa2FsdGlyZS1yZWdpc3Rlci5zY3NzIiwiX2thbHRpcmUtcGFja2FnZXMuc2NzcyIsIl9rYWx0aXJlLXJlYmF0ZXMuc2NzcyIsIl9rYWx0aXJlLWJyYW5kcy5zY3NzIiwiX2thbHRpcmUtY29udGFjdHVzLnNjc3MiLCJfa2FsdGlyZS1wcmludC5zY3NzIiwic3RvcmVsb2NhdG9yL19zdG9yZXMtcGFnZS5zY3NzIiwic3RvcmVsb2NhdG9yL19hbGwtbG9jYXRpb25zLnNjc3MiLCJzdG9yZWxvY2F0b3IvX3N0b3JlLWRldGFpbHMuc2NzcyIsIl9rYWx0aXJlLW15YWNjb3VudC5zY3NzIiwiX2thbHRpcmUtbG9naW5wb3B1cC5zY3NzIiwiX2thbHRpcmUtbXlnYXJhZ2Uuc2NzcyIsIl9rYWx0aXJlLW9yZGVycy5zY3NzIiwiX2thbHRpcmUtY2FyZmF4bW9kYWwuc2NzcyIsIl9rYWx0aXJlLWNhcmZheC5zY3NzIiwiX2thbHRpcmUtYnJha2VzLnNjc3MiLCJjYXJ0L19rYWx0aXJlLWNhcnQuc2NzcyIsImNhcnQvX2NhcnQtcmVwbGFjZXByb2R1Y3RzLnNjc3MiLCJfa2FsdGlyZS1jb250ZW50YmxvY2tzLnNjc3MiLCJjaGVja291dC9fa2FsdGlyZS1jaGVja291dC5zY3NzIiwiY2hlY2tvdXQvX2NhcnQtc3VtbWFyeS5zY3NzIiwiY2hlY2tvdXQvX2FwcG9pbnRtZW50LnNjc3MiLCJfcGFnZS1kZXNpZ25lci5zY3NzIiwic2VsZnNlcnZpY2VlbnRyeXBvaW50L19zZWxmc2VydmljZWVudHJ5cG9pbnQuc2NzcyIsIl9oaWRkZW4tY29udGVudHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7O0VETUU7QUUrTUEsMkVBQUE7QUFFQTs7OztJRjNNRTtBRWlORjtFQUNFLHVCQUF1QjtFQUFFLE1BQUE7RUFDekIsMEJBQTBCO0VBQUUsTUFBQTtFQUM1Qiw4QkFBOEI7RUFBRSxNQUFBLEVBQU87O0FBR3pDOztJRjVNRTtBRWdORjtFQUNFLFNBQVMsRUFBQTs7QUFHWDtpRkYvTStFO0FFa04vRTs7Ozs7SUY1TUU7QUVtTkY7Ozs7Ozs7Ozs7Ozs7RUFhRSxjQUFjLEVBQUE7O0FBR2hCOzs7SUZoTkU7QUVxTkY7Ozs7RUFJRSxxQkFBcUI7RUFBRSxNQUFBO0VBQ3ZCLHdCQUF3QjtFQUFFLE1BQUEsRUFBTzs7QUFHbkM7OztJRmhORTtBRXFORjtFQUNFLGFBQWE7RUFDYixTQUFTLEVBQUE7O0FBR1g7OztJRmxORTtBQUNKOztFRXdOSSxhQUFhLEVBQUE7O0FBR2Y7aUZGdE4rRTtBRXlOL0U7O0lGdE5FO0FFME5GO0VBQ0UsNkJBQTZCLEVBQUE7O0FBRy9COzs7SUZ2TkU7QUU0TkY7O0VBRUUsVUFBVSxFQUFBOztBQUdaO2lGRjNOK0U7QUU4Ti9FOztJRjNORTtBRStORjtFQUNFLHlCQUF5QixFQUFBOztBQUczQjs7SUY3TkU7QUVpT0Y7O0VBRUUsaUJBQWlCLEVBQUE7O0FBR25COztJRi9ORTtBRW1PRjtFQUNFLGtCQUFrQixFQUFBOztBQUdwQjs7O0lGaE9FO0FFcU9GO0VBQ0UsY0FBYztFQUNkLGdCQUFnQixFQUFBOztBQUdsQjs7SUZuT0U7QUV1T0Y7RUFDRSxnQkFBZ0I7RUFDaEIsV0FBVyxFQUFBOztBQUdiOztJRnJPRTtBRXlPRjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7O0lGdk9FO0FFMk9GOztFQUVFLGNBQWM7RUFDZCxjQUFjO0VBQ2Qsa0JB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dUsvQyxvQkt2SytDLEVBQUE7O0FMNktqRDtFTW5LSixnQkRWcUQsRUFBQTs7QUxxS2pEO0VBQ0UsbUJLdEsrQztNTHNLL0MsdUJLdEsrQztVTHNLL0MsbUJLdEsrQztFTHVLL0Msb0JLdksrQyxFQUFBOztBTDZLakQ7RU1uS0osc0JEVnFELEVBQUE7O0FMcUtqRDtFQUNFLG1CS3RLK0M7TUxzSy9DLGlCS3RLK0M7VUxzSy9DLGFLdEsrQztFTHVLL0MsY0t2SytDLEVBQUE7O0FMNktqRDtFTW5LSixzQkRWcUQsRUFBQTs7QUxxS2pEO0VBQ0UsbUJLdEsrQztNTHNLL0MsdUJLdEsrQztVTHNLL0MsbUJLdEsrQztFTHVLL0Msb0JLdksrQyxFQUFBOztBTDZLakQ7RU1uS0osZ0JEVnFELEVBQUE7O0FMcUtqRDtFQUNFLG1CS3RLK0M7TUxzSy9DLHVCS3RLK0M7VUxzSy9DLG1CS3RLK0M7RUx1Sy9DLG9CS3ZLK0MsRUFBQTs7QUw2S2pEO0VNbktKLHNCRFZxRCxFQUFBOztBTHFLakQ7RUFDRSxtQkt0SytDO01Mc0svQyxpQkt0SytDO1VMc0svQyxhS3RLK0M7RUx1Sy9DLGNLdksrQyxFQUFBOztBTDZLakQ7RU1uS0osc0JEVnFELEVBQUE7O0FMcUtqRDtFQUNFLG1CS3RLK0M7TUxzSy9DLHVCS3RLK0M7VUxzSy9DLG1CS3RLK0M7RUx1Sy9DLG9CS3ZLK0MsRUFBQTs7QUw2S2pEO0VNbktKLGdCRFZxRCxFQUFBOztBTHFLakQ7RUFDRSxtQkt0SytDO01Mc0svQyx1Qkt0SytDO1VMc0svQyxtQkt0SytDO0VMdUsvQyxvQkt2SytDLEVBQUE7O0FMNktqRDtFTW5LSixzQkRWcUQsRUFBQTs7QUxxS2pEO0VBQ0UsbUJLdEsrQztNTHNLL0Msa0JLdEsrQztVTHNLL0MsY0t0SytDO0VMdUsvQyxlS3ZLK0MsRUFBQTs7QUw2S2pEO0VNbktKLHNCRFZxRCxFQUFBOztBTG9MakQ7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBUVo7RUFuR0osbUJBQWU7TUFBZixlQUFlLEVBQUE7RUFFZjtJQUdFLG1CQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsaUJBRnNCO1lBRXRCLGFBRnNCO0lBR3RCLGNBSHNCLEVBQUE7O0FBZ0dwQjtFQW5HSixtQkFBZTtNQUFmLGVBQWUsRUFBQTtFQUVmO0lBR0UsbUJBRnNCO1FBRXRCLHVCQUZzQjtZQUV0QixtQkFGc0I7SUFHdEIsb0JBSHNCLEVBQUE7O0FBZ0dwQjtFQW5HSixtQkFBZTtNQUFmLGVBQWUsRUFBQTtFQUVmO0lBR0UsbUJBRnNCO1FBRXRCLGlCQUZzQjtZQUV0QixhQUZzQjtJQUd0QixjQUhzQixFQUFBOztBQWdHcEI7RUFuR0osbUJBQWU7TUFBZixlQUFlLEVBQUE7RUFFZjtJQUdFLG1CQUZzQjtRQUV0QixpQkFGc0I7WUFFdEIsYUFGc0I7SUFHdEIsY0FIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsdUJBRnNCO1lBRXRCLG1CQUZzQjtJQUd0QixvQkFIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsdUJBRnNCO1lBRXRCLG1CQUZzQjtJQUd0QixvQkFIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsbUJBRnNCO1lBRXRCLGVBRnNCO0lBR3RCLGdCQUhzQixFQUFBOztBQTRIdEI7RUkxT0YsZUFBZTtFQUNmLGdCQUFnQixFQUFBOztBSjZPZDtFSXJPRix1QkFEOEI7RUFFOUIsd0JBRjhCLEVBQUE7O0FEaUk1QjtFSCtDRTtJQUNFLG1CS3RLK0M7UUxzSy9DLHNCS3RLK0M7WUxzSy9DLGtCS3RLK0M7SUx1Sy9DLG1CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osZURiZ0MsRUFBQTtFTHdLNUI7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHFCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLGlCS3RLK0M7WUxzSy9DLGFLdEsrQztJTHVLL0MsY0t2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osZ0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyxpQkt0SytDO1lMc0svQyxhS3RLK0M7SUx1Sy9DLGNLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLGdCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osc0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsaUJLdEsrQztZTHNLL0MsYUt0SytDO0lMdUsvQyxjS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osc0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixnQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLGtCS3RLK0M7WUxzSy9DLGNLdEsrQztJTHVLL0MsZUt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMb0xqRDtJTy9JSiw0QlA4SWdCO1FPOUloQixpQlA4SWdCO1lPOUloQixRUDhJZ0IsRUFBQTtFQUNaO0lPL0lKLDRCUDhJZ0I7UU85SWhCLGlCUDhJZ0I7WU85SWhCLFFQOElnQixFQUFBO0VBQ1o7SU8vSUosNEJQOElnQjtRTzlJaEIsaUJQOElnQjtZTzlJaEIsUVA4SWdCLEVBQUE7RUFDWjtJTy9JSiw0QlA4SWdCO1FPOUloQixpQlA4SWdCO1lPOUloQixRUDhJZ0IsRUFBQTtFQUNaO0lPL0lKLDRCUDhJZ0I7UU85SWhCLGlCUDhJZ0I7WU85SWhCLFFQOElnQixFQUFBO0VBQ1o7SU8vSUosNEJQOElnQjtRTzlJaEIsaUJQOElnQjtZTzlJaEIsUVA4SWdCLEVBQUE7RUFRWjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUFBO0VBZ0dwQjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLGlCQUZzQjtjQUV0QixhQUZzQjtNQUd0QixjQUhzQixFQUFBO0VBZ0dwQjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLHVCQUZzQjtjQUV0QixtQkFGc0I7TUFHdEIsb0JBSHNCLEVBQUE7RUFnR3BCO0lBbkdKLG1CQUFlO1FBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7VUFFdEIsaUJBRnNCO2NBRXRCLGFBRnNCO01BR3RCLGNBSHNCLEVBQUE7RUFnR3BCO0lBbkdKLG1CQUFlO1FBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7VUFFdEIsaUJBRnNCO2NBRXRCLGFBRnNCO01BR3RCLGNBSHNCLEVBQUE7RUFnR3BCO0lBbkdKLG1CQUFlO1FBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7VUFFdEIsdUJBRnNCO2NBRXRCLG1CQUZzQjtNQUd0QixvQkFIc0IsRUFBQTtFQWdHcEI7SUFuR0osbUJBQWU7UUFBZixlQUFlLEVBQUE7SUFFZjtNQUdFLG1CQUZzQjtVQUV0Qix1QkFGc0I7Y0FFdEIsbUJBRnNCO01BR3RCLG9CQUhzQixFQUFBO0VBZ0dwQjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLG1CQUZzQjtjQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFBQSxFQUl2Qjs7QUd1QkM7RUg2RUk7SUFDRSxtQkF2S007UUF1S04saUJBdktNO1lBdUtOLGFBdktNLEVBQUEsRUF3S1A7O0FBS0Q7RUFFSSxtQkFBMkI7TUFBM0Isa0JBQTJCO1VBQTNCLGNBQTJCLEVBQUE7RUd0Rm5DO0lIb0ZJO01BS00sbUJBbExFO1VBa0xGLGlCQWxMRTtjQWtMRixhQWxMRSxFQUFBLEVBb0xMOztBRzNGUDtFSGlHQTtJSTFPRixlQUFlO0lBQ2YsZ0JBQWdCLEVBQUE7RUo2T2Q7SUlyT0Ysc0JBRDhCO0lBRTlCLHVCQUY4QixFQUFBLEVKeU8yQjs7QUd4R3ZEO0VIK0NFO0lBQ0UsbUJLdEsrQztRTHNLL0Msc0JLdEsrQztZTHNLL0Msa0JLdEsrQztJTHVLL0MsbUJLdksrQyxFQUFBO0VMNktqRDtJTW5LSixlRGJnQyxFQUFBO0VMd0s1QjtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0oscUJEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsaUJLdEsrQztZTHNLL0MsYUt0SytDO0lMdUsvQyxjS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osc0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixnQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLGlCS3RLK0M7WUxzSy9DLGFLdEsrQztJTHVLL0MsY0t2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osZ0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyxpQkt0SytDO1lMc0svQyxhS3RLK0M7SUx1Sy9DLGNLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLGdCRFZxRCxFQUFBO0VMcUtqRDtJQUNF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O0VBQ2xCLGdCVnRFc0I7RVV1RXRCLG1CVnRFMEI7RVV1RTFCLGtDVnRFeUMsRUFBQTs7QVUwRTNDOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFBQTs7QUFJdEI7O0VWb1dFLDBDQUhzQztFQUl0QyxnQkFBZ0I7RVVqV2hCLG9CQUFvQixFQUFBOztBWDRGdEI7RVd2RkUsY1Y5RmlCO0VVK0ZqQixvQkFBb0IsRUFBQTs7QUFJdEI7Ozs7OztFQU1FLG1FWG5PcUU7RVdvT3JFLG1CVjFMeUI7RVUyTHpCLGtCQWxRc0I7RUFtUXRCLGNWaEhrQjtFVWlIbEIsa0NWOUdzQztFVStHdEMsYUFBYTtFQUNiLHFCVmpIeUI7RVVrSHpCLGdCVm5IbUIsRUFBQTtFVXNHckI7Ozs7OztJQWdCSSxXVnROWTtJVXVOWixjQUFjLEVBQUE7O0FYK0NsQjtFV3RDUSxpQlB0TytDLEVBQUE7O0FPcU9qRDtFQUNFLGVQdE8rQyxFQUFBOztBT3FPakQ7RUFDRSxtQlB0TytDLEVBQUE7O0FPcU9qRDtFQUNFLG1CUHRPK0MsRUFBQTs7QU9xT2pEO0VBQ0Usb0JQdE8rQyxFQUFBOztBT3FPakQ7RUFDRSxtQlB0TytDLEVBQUE7O0FFbUVyRDtFTnlNRjtJV3RDUSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0UsbUJQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0Usb0JQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQSxFT3VPaEQ7O0FMcEtMO0VOeU1GO0lXdENRLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0UsbUJQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxtQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0Usb0JQdE8rQyxFQUFBLEVPdU9oRDs7QVhWUDtFV2lCRSxjVjFRMkI7RVUyUTNCLHFCVnpIeUI7RVUwSHpCLG9CQUFvQjtFQUNwQixlQUFlLEVBQUE7RUFKakI7SUFRSSxjVmhJMkQsRUFBQTtFVXdIL0Q7SUFlSSxTQUFTLEVBQUE7O0FYNEZiO0VXdEZFLGtCUGxRcUQ7RU9tUXJELFNBQVM7RUFDVCxlQUFlO0VBQ2YsYUFBYTtFQUNiLDZCVmhRYztFVWlRZCxjQUFjO0VBQ2Qsb0JWOUl5QjtFVStJekIsV0FBVyxFQUFBOztBQUliOzs7RUFHRSxnQlZyS3NCO0VVc0t0QixtQlZySzBCO0VVc0sxQiw0QlZwSnlCLEVBQUE7O0FVd0ozQjtFQUNFLGtCQUFrQixFQUFBOztBQUlwQjtFQUNFLHFCVi9Ka0I7RVVnS2xCLG9CVjlKc0IsRUFBQTs7QVVrS3hCO0VBQ0Usb0JWbktzQixFQUFBOztBVXVLeEI7RUFFSSxvQlZ4SzJCO0VVeUszQixnQkFBZ0IsRUFBQTs7QUFLcEI7RUFDRSxtQlY5S3lCLEVBQUE7RVU2SzNCO0lBSUkscUJWL0s4QjtJVWdMOUIsaUJWelJtQixFQUFBOztBVThSdkI7RUFDRSxnQlY3TTBCO0VVOE0xQixzQ1AxVHFEO0VPMlRyRCwyQlZyVGMsRUFBQTtFVWtUaEI7SUFNSSxnQlZuTm9CO0lVb05wQixjVnRUYSxFQUFBOztBVTJUakI7RUFDRSxjQUFjO0VBQ2Qsb0JQdFVxRDtFT3VVckQsY1Y5VGUsRUFBQTtFVTJUakI7SUFNSSxzQkFBc0IsRUFBQTs7QUFLMUI7RUFDRSxXVi9UUTtFVWdVUixZQUFZO0VBQ1osOEJWalVRLEVBQUE7O0FVcVVWO0VBQ0UsNERWN1FtRTtFVThRbkUsbUJWL1R5QjtFVWdVekIsV1Z4VVE7RVV5VVIseUJWMVZnQjtFVTJWaEIsc0JWclZjO0VVc1ZkLHFDUDVWcUQsRUFBQTs7QU9nV3ZEO0VBQ0UsMkJQNVZTO0VPNlZULFNBQVM7RUFDVCx5QlZuV2dCO0VVb1doQixXVm5WUTtFVW9WUiw0RFYzUm1FLEVBQUE7O0FXM0dyRTtFQUNFLGtCWHdMeUI7RVd2THpCLHFCWHdMNEI7RVd2TDVCLG1CWHVEeUI7RVd0RHpCLGdCWGtMc0I7RVdqTHRCLGNYcUNlLEVBQUE7O0FXakNqQjtFQUNFLGVYMEtxQztFV3pLckMsZ0JY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RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZG5EcUI7SWNvRHJCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEsc0JkbERtQjtJY21EbkIsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSx5QmRqRDBCO0lja0QxQixXZFpVLEVBQUE7SWNjVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZGhEc0I7SWNpRHRCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEseUJkL0N3QjtJY2dEeEIsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSxzQmQ5Q3FCO0ljK0NyQixXZFpVLEVBQUE7SWNjVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZDdDcUI7SWM4Q3JCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEseUJkNUNzQjtJYzZDdEIsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSx5QmQzQ2tCO0ljNENsQixXZFpVLEVBQUE7SWNjVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZDFDa0I7SWMyQ2xCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEseUJkekNnQjtJYzBDaEIsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSxzQmR4Q2E7SWN5Q2IsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSx5QmR2Q3NCO0ljd0N0QixXZFpVLEVBQUE7SWNjVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZHRDZ0I7SWN1Q2hCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEseUJkckMrQjtJY3NDL0IsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXhGQSx5QmRwQzJCO0ljcUMzQixXZFpVLEVBQUE7SWNjVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGhCUSxFQUFBO0VjbUdWO0lBeEZBLHlCZG5DMkI7SWNvQzNCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RWNtR1Y7SUF4RkEseUJkbEN5QjtJY21DekIsV2RaVSxFQUFBO0ljY1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RoQlEsRUFBQTtFY21HVjtJQXBFQSx5QmQ3RWtCO0ljOEVsQixjZDlFa0IsRUFBQTtJY29FbEI7TUFFRSw2QkFBNkIsRUFBQTtJQVUvQjtNQUNFLHFCQU5pRDtNQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmQ3RWtCO01jOEVsQixjZDlFa0IsRUFBQTtNY2dGbEI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkNUU2QjtNYzZFN0IsY2Q3RTZCLEVBQUE7TWMrRTdCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZDNFNkI7TWM0RTdCLGNkNUU2QixFQUFBO01jOEU3QjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSxzQmQxRWlCO01jMkVqQixXZDNFaUIsRUFBQTtNYzZFakI7UUFDRSxtQkFOaUQ7UUFPakQsWUFQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkekVvQjtNYzBFcEIsY2QxRW9CLEVBQUE7TWM0RXBCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZHhFa0I7TWN5RWxCLGNkekVrQixFQUFBO01jMkVsQjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmR2RXFCO01jd0VyQixjZHhFcUIsRUFBQTtNYzBFckI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEsc0JkdEVtQjtNY3VFbkIsV2R2RW1CLEVBQUE7TWN5RW5CO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZHJFMEI7TWNzRTFCLGNkdEUwQixFQUFBO01jd0UxQjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmRwRXNCO01jcUV0QixjZHJFc0IsRUFBQTtNY3VFdEI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkbkV3QjtNY29FeEIsY2RwRXdCLEVBQUE7TWNzRXhCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHNCZGxFcUI7TWNtRXJCLFdkbkVxQixFQUFBO01jcUVyQjtRQUNFLGtCQU5pRDtRQU9qRCxXQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmRqRXFCO01ja0VyQixjZGxFcUIsRUFBQTtNY29FckI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkaEVzQjtNY2lFdEIsY2RqRXNCLEVBQUE7TWNtRXRCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZC9Ea0I7TWNnRWxCLGNkaEVrQixFQUFBO01ja0VsQjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmQ5RGtCO01jK0RsQixjZC9Ea0IsRUFBQTtNY2lFbEI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkN0RnQjtNYzhEaEIsY2Q5RGdCLEVBQUE7TWNnRWhCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHNCZDVEYTtNYzZEYixXZDdEYSxFQUFBO01jK0RiO1FBQ0Usb0JBTmlEO1FBT2pELGFBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZDNEc0I7TWM0RHRCLGNkNURzQixFQUFBO01jOER0QjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmQxRGdCO01jMkRoQixjZDNEZ0IsRUFBQTtNYzZEaEI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkekQrQjtNYzBEL0IsY2QxRCtCLEVBQUE7TWM0RC9CO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZHhEMkI7TWN5RDNCLGNkekQyQixFQUFBO01jMkQzQjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmR2RDJCO01jd0QzQixjZHhEMkIsRUFBQTtNYzBEM0I7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkdER5QjtNY3VEekIsY2R2RHlCLEVBQUE7TWN5RHpCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7RUFzRW5EO0lBekRBLGFkcUs0QjtJY3BLNUIsbUJBQW1CLEVBQUE7SUFFbkI7TUFDRSx5QmQ1RmdCO01jNkZoQixXZC9DUSxFQUFBO0VjNERWO0liM0lBLFdBQVc7SUFDWCxjQUFjO0lBQ2QsUUFBUTtJQUNSLFNBQVM7SUFDVCxtQmFtSVk7SWJoSVYsMENBQXFEO0lBQ3JELHVCQUF1QjtJQUN2QixzQkFBc0I7SWFvSXRCLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsWUFBTztJQUNQLGdCZGdJdUI7SWMvSHZCLHFCQUFxQixFQUFBO0VBaUN2QjtJQStESSxjQUFnQztJQUNoQyxXQUFXO0lBQ1gsV0FBVyxFQUFBOztBakJ1eENqQjs7RWtCcjlDRSxjQUFjO0VBQ2QsOEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixXQUFXO0VBQ1gsZUFMaUU7RUFNakUsZUFBMEI7RUFDMUIsc0JmVWdCO0VlVGhCLGdCWkd1RDtFWUR2RCxvQmZpVXlCO0VlaFV6QixvQlpBdUQ7RVlDdkQsV2ZnQlU7RWVmVixzQmZnQlU7RWVmVixxQmZvVWM7VWVwVWQsYWZvVWM7RWVuVWQsZ0JmdUJlO0VlcEJiLDJCZm1Vc0I7RWVuVXRCLG1CZm1Vc0I7RWU5U3RCLHdCQUF3QjtFQUN4QixxQkFBcUIsRUFBQTtFbEJpOEN2Qjs7SWtCbDlDRSx5QmZIZTtJZUlmLHNCZktRO0llSlIsYUFBYTtJQUNiLHFCZnlUa0I7WWV6VGxCLGFmeVRrQjtJZXRUaEIsMkJmd1RvQjtJZXhUcEIsbUJmd1RvQixFQUFBOztBRHVNeEI7RWdCL2VFLGVBQWUsRUFBQTtFQURqQjtJQUlJLFlBQVksRUFBQTs7QUFJaEI7RUFJSSxXZnZDWSxFQUFBOztBZW1DaEI7RUFJSSxXZnZDWSxFQUFBOztBZW1DaEI7RUFJSSxXZnZDWSxFQUFBOztBZW1DaEI7RUFJSSxXZnZDWSxFQUFBOztBZW1DaEI7O0VBSUksV2Z2Q1ksRUFBQTs7QWVtQ2hCOzs7RUFVSSx5QmZuRGM7RWVvRGQsZWZxUnlCLEVBQUE7O0FINHFDL0I7O0VrQjE3Q0ksZ0JmaENhO0VlaUNiLHdCQUF3QjtFQUN4QixxQkFBcUIsRUFBQTs7QWhCMmF2QjtFZ0JyYUUsOEJBQXNCO1VBQXRCLHNCQUFzQixFQUFBOztBbEIyN0MxQjs7O0VtQmxrREksZ0Jib0VxRCxFQUFBOztBTm1nRHpEOztFbUJqa0RJLHFCQUFxQjtFQUNyQixtQkFBa0Q7RUFDbEQsa0JiNERxRDtFYTNEckQsZ0JBQWdCO0VBQ2hCLHdCQUF3QixFQUFBO0VuQm9rRDFCOztJbUJqa0RJLGVBQWUsRUFBQTs7QUFLbkI7O0VBRUUsb0JBQW1ELEVBQUE7O0FuQmtrRHZEO0VtQjdqREksV0FBVyxFQUFBOztBQ0diO0VBZkEsY0FBYztFQUNkLFNBQVM7RUFDVCxtQmRxRHVEO0VjcER2RCxtQmpCNkUyQjtFaUI1RTNCLGdCakI2VzBCO0VpQjVXMUIsV2pCbUVVLEVBQUE7RWlCekRWO0lBTEEsZ0JkNkN1RDtJYzVDdkQsb0JBQThELEVBQUE7O0FDZjlEO0VB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LEVBQUE7RTJCdUNWO0liNUJBLHlCZHBEa0I7SWNxRGxCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZG5EcUI7SWNvRHJCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHNCZGxEbUI7SWNtRG5CLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZGpEMEI7SWNrRDFCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZGhEc0I7SWNpRHRCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZC9Dd0I7SWNnRHhCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHNCZDlDcUI7SWMrQ3JCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZDdDcUI7SWM4Q3JCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZDVDc0I7SWM2Q3RCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZDNDa0I7SWM0Q2xCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZDFDa0I7SWMyQ2xCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHlCZHpDZ0I7SWMwQ2hCLFdkWlUsRUFBQTtJY2NWO01BQ0UseUJBUDZEO01BUTdELFdkaEJRLEVBQUE7RTJCdUNWO0liNUJBLHNCZHhDYTtJY3lDYixXZFpV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UWE7SW9DUGIsV3BDK0NFLEVBQUE7RW9DekRWO0lBU1EsZ0JwQ1NXO0lvQ1JYLFdwQytDRSxFQUFBO0VvQ3pEVjtJQVNRLG1CcENVa0I7SW9DVGxCLFdwQytDRSxFQUFBO0VvQ3pEVjtJQVNRLG1CcENXYztJb0NWZCxXcEMrQ0UsRUFBQTtFb0N6RFY7SUFTUSxtQnBDWWdCO0lvQ1hoQixXcENnREUsRUFBQTtFb0MxRFY7SUFTUSxnQnBDYWE7SW9DWmIsV3BDK0NFLEVBQUE7RW9DekRWO0lBU1EsbUJwQ2NhO0lvQ2JiLFdwQytDRSxFQUFBO0VvQ3pEVjtJQVNRLG1CcENlYztJb0NkZCxXcEMrQ0UsRUFBQTtFb0N6RFY7SUFTUSxtQnBDZ0JVO0lvQ2ZWLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLG1CcENpQlU7SW9DaEJWLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLG1CcENrQlE7SW9DakJSLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLGdCcENtQks7SW9DbEJMLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLG1CcENvQmM7SW9DbkJkLFdwQytDRSxFQUFBO0VvQ3pEVjtJQVNRLG1CcENxQlE7SW9DcEJSLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLG1CcENzQnVCO0lvQ3JCdkIsV3BDK0NFLEVBQUE7RW9DekRWO0lBU1EsbUJwQ3VCbUI7SW9DdEJuQixXcENnREUsRUFBQTtFb0MxRFY7SUFTUSxtQnBDd0JtQjtJb0N2Qm5CLFdwQ2dERSxFQUFBO0VvQzFEVjtJQVNRLG1CcEN5QmlCO0lvQ3hCakIsV3BDZ0RFLEVBQUE7O0FxQ3pCVjtFQW5EQSxtQnJDaUZrQjtFcUNoRmxCLGNBQXdDLEVBQUE7RUFrRHhDO0lBSUksZUFBZSxFQUFBO0VoQ3NFakI7SWdDMUVGO01BakJBLFVBQVU7TUFDVixvQnJDK0NtQjtNcUN4Q2pCLGNBQWMsRUFBQTtNQUdoQjtRQUNFLFdyQ3dXa0MsRUFBQSxFcUN2V25DOztBQTBCRDtFQTFERSxtQkFBbUI7RUFDbkIsbUJBQW1CLEVBQUE7RUFHckI7SUFDRSxtQnJDOERpQixFQUFBO0Vx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QkFqRGdCO01BaURoQixrQkFqRGdCLEVBQUE7O0E4Q0RkO0U5Q2tDRiwwQkFoQ2tCO01BZ0NsQix1QkFoQ2tCO1VBZ0NsQixvQkFoQ2tCLEVBQUE7O0E4Q0VoQjtFOUM4Q0YsNEJBaERrQjtNQWdEbEIsbUJBaERrQixFQUFBOztBUHFNZDtFTy9JSiw0QjhDN0NnQjtNOUM2Q2hCLGlCOEM3Q2dCO1U5QzZDaEIsUThDN0NnQixFQUFBOztBckQ0TFo7RU8vSUosNEI4QzdDZ0I7TTlDNkNoQixpQjhDN0NnQjtVOUM2Q2hCLFE4QzdDZ0IsRUFBQTs7QXJENExaO0VPL0lKLDRCOEM3Q2dCO005QzZDaEIsaUI4QzdDZ0I7VTlDNkNoQixROEM3Q2dCLEVBQUE7O0FyRDRMWjtFTy9JSiw0QjhDN0NnQjtNOUM2Q2hCLGlCOEM3Q2dCO1U5QzZDaEIsUThDN0NnQixFQUFBOztBckQ0TFo7RU8vSUosNEI4QzdDZ0I7TTlDNkNoQixpQjhDN0NnQjtVOUM2Q2hCLFE4QzdDZ0IsRUFBQTs7QXJENExaO0VPL0lKLDRCOEM3Q2dCO005QzZDaEIsaUI4QzdDZ0I7VTlDNkNoQixROEM3Q2dCLEVBQUE7O0FsRDhIZDtFSDhERTtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBLEVBR1g7O0FsRDJISDtFSDhERTtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBO0VyRDRMWjtJTy9JSiw0QjhDN0NnQjtROUM2Q2hCLGlCOEM3Q2dCO1k5QzZDaEIsUThDN0NnQixFQUFBLEVBR1g7O0FDSEg7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG9DQUZ5QjtNQUV6QixnQ0FGeUI7VUFFekIsNEJBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG9DQUZ5QjtNQUV6QixnQ0FGeUI7VUFFekIsNEJBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1DQUZ5QjtNQUV6QiwrQkFGeUI7VUFFekIsMkJBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1DQUZ5QjtNQUV6QiwrQkFGeUI7VUFFekIsMkJBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLGdDQUZ5QjtNQUV6Qiw0QkFGeUI7VUFFekIsd0JBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxtQ0FGeUI7TUFFekIsK0JBRnlCO1VBRXpCLDJCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLGdDQUZ5QjtNQUV6Qiw0QkFGeUI7VUFFekIsd0JBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxtQ0FGeUI7TUFFekIsK0JBRnlCO1VBRXpCLDJCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLGdDQUZ5QjtNQUV6Qiw0QkFGeUI7VUFFekIsd0JBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLGdDQUZ5QjtNQUV6Qiw0QkFGeUI7VUFFekIsd0JBRnlCO0VDdkJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFHekMsbUNBQTJCO1VBQTNCLDJCQUEyQixFQUFBOztBSkUzQjtFR29CQSxvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLFVGaENrQztFSUFsQyxvQ0FBNEI7RUFBNUIsNEJBQTRCLEVBQUE7O0FMWTVCO0VHb0JBLFVGaENxQyxFQUFBOztBREFyQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsVUYvQmtDO0VJRGxDLG9DQUE0QjtFQUE1Qiw0QkFBNEIsRUFBQTs7QUxZNUI7RUdvQkEsVUYvQnFDLEVBQUE7O0FERHJDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixzREdyQ21DO1VIcUNuQyw4Q0dyQ21DO0VIcUNuQyw2QkY1Qm1EO01FNEJuRCx5QkY1Qm1EO1VFNEJuRCxxQkY1Qm1EO0VNR2pELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEk3QjtFR29CQSxtREdWNEM7VUhVNUMsMkNHVjRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHcENxQztVSG9DckMsOENHcENxQztFSG9DckMsK0JGM0JxRDtNRTJCckQsMkJGM0JxRDtVRTJCckQsdUJGM0JxRDtFTUVuRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBJN0I7RUdvQkEsbURHVjRDO1VIVTVDLDJDR1Y0QztFQ0oxQyxVQUEyQixFQUFBOztBUGxCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHFER25DaUM7VUhtQ2pDLDZDR25DaUM7RUhtQ2pDLGdDRjFCc0Q7TUUwQnRELDRCRjFCc0Q7VUUwQnRELHdCRjFCc0Q7RU1DcEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQSTdCO0VHb0JBLG1ER1Y0QztVSFU1QywyQ0dWNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBsQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixxREdsQytCO1VIa0MvQiw2Q0dsQytCO0VIa0MvQiw4QkZ6Qm9EO01FeUJwRCwwQkZ6Qm9EO1VFeUJwRCxzQkZ6Qm9EO0VNQWxELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEk3QjtFR29CQSxtREdWNEM7VUhVNUMsMkNHVjRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHckNtQztVSHFDbkMsOENHckNtQztFSHFDbkMsZ0NHQ2U7TUhEZiw0QkdDZTtVSERmLHdCR0NlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEk3QjtFR29CQSxtREdWNEM7VUhVNUMsMkNHVjRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHcENxQztVSG9DckMsOENHcENxQztFSG9DckMsZ0NHQ2U7TUhEZiw0QkdDZTtVSERmLHdCR0NlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEk3QjtFR29CQSxtREdWNEM7VUhVNUMsMkNHVjRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUjhDO1VIUTlDLDJDR1I4QztFSFE5Qyw2QkZ0Qm1EO01Fc0JuRCx5QkZ0Qm1EO1VFc0JuRCxxQkZ0Qm1EO0VNSGpELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEloQztFR29CQSxzREdyQ21DO1VIcUNuQyw4Q0dyQ21DO0VDdUJqQyxVQUE4QixFQUFBOztBUGxCaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1I4QztVSFE5QywyQ0dSOEM7RUhROUMsK0JGckJxRDtNRXFCckQsMkJGckJxRDtVRXFCckQsdUJGckJxRDtFTUpuRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBJaEM7RUdvQkEsc0RHcENxQztVSG9DckMsOENHcENxQztFQ3NCbkMsVUFBOEIsRUFBQTs7QVBsQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdSOEM7VUhROUMsMkNHUjhDO0VIUTlDLGdDRnBCc0Q7TUVvQnRELDRCRnBCc0Q7VUVvQnRELHdCRnBCc0Q7RU1McEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQSWhDO0VHb0JBLHFER25DaUM7VUhtQ2pDLDZDR25DaUM7RUNxQi9CLFVBQThCLEVBQUE7O0FQbEJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUjhDO1VIUTlDLDJDR1I4QztFSFE5Qyw4QkZuQm9EO01FbUJwRCwwQkZuQm9EO1VFbUJwRCxzQkZuQm9EO0VNTmxELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEloQztFR29CQSxxREdsQytCO1VIa0MvQiw2Q0dsQytCO0VDb0I3QixVQUE4QixFQUFBOztBUGxCaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1I4QztVSFE5QywyQ0dSOEM7RUhROUMsZ0NHQ2U7TUhEZiw0QkdDZTtVSERmLHdCR0NlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEloQztFR29CQSxzREdyQ21DO1VIcUNuQyw4Q0dyQ21DO0VDdUJqQyxVQUE4QixFQUFBOztBUGxCaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1I4QztVSFE5QywyQ0dSOEM7RUhROUMsZ0NHQ2U7TUhEZiw0QkdDZTtVSERmLHdCR0NlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixF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QUNkLDRCN0c3QzZDLEVBQUE7TUVtRXJEO1EyR3JGSjtVQWtFZ0IscUI3R2hEeUMsRUFBQSxFNkdrRGhEO0VBcEVUO0lBd0VRLDJCN0d0RGlELEVBQUE7SUVtRXJEO00yR3JGSjtRQTJFWSw0QjdHekQ2QyxFQUFBLEU2RzJEcEQ7RUE3RUw7SUFnRlEsbUJoSDNDZTtJZ0g0Q2YsVUFBVSxFQUFBO0VBakZsQjs7SUFzRlEseUJoSHpGb0I7SWdIMEZwQixnQjdHckVpRDtJNkdzRWpELGU3R3RFaUQsRUFBQTtFNkdsQnpEO0lBNkZZLGdCaEg3Rlc7SWdIOEZYLDZCaEh6R1EsRUFBQTtFZ0hXcEI7SUFtR1EsdUI3R2pGaUQ7STZHa0ZqRCxpQjdHbEZpRCxFQUFBO0lFbUVyRDtNMkdyRko7UUF1R1ksWUFBWSxFQUFBLEVBRW5COztBQUdMO0VoSGtkSSwwQ0Fic0M7RUFjdEMsZ0JBQWdCO0VnSC9jWixvQjdHOUZpRCxFQUFBOztBNkcwRnpEO0VBUVEsdUI3R2xHaUQsRUFBQTs7QTZHMEZ6RDs7RUFhUSx5QmhINUhvQjtFZ0g2SHBCLGdCN0d4R2lEO0U2R3lHakQsZTdHekdpRCxFQUFBOztBNkcwRnpEO0VBb0JZLGdCaEhoSVc7RWdIaUlYLDZCaEg1SVEsRUFBQTs7QWdIdUhwQjtFQTBCUSx3QjdHcEhpRCxFQUFBOztBNkcwRnpEO0VBOEJRLG9CN0d4SGlEO0U2R3lIakQsMkI3R3pIaUQsRUFBQTs7QTZHMEZ6RDtFQW1DUSxtQmhIMUdlO0VnSDJHZixVQUFVLEVBQUE7O0FBSWxCO0VBRVEsbUJoSGpLWTtFZ0hrS1osV2hIdkplO0VnSHdKZixrQjdHdElpRCxFQUFBOztBNkcwSXpEO0VBQ0kseUJoSGxLbUI7RWdIbUtuQiwwQjdHNUlxRDtFNkc2SXJELDJDN0c3SXFEO0U2RzhJckQsa0JBQWtCLEVBQUE7RTNHM0VsQjtJMkd1RUo7TUFPUSx5QjdHakppRCxFQUFBLEU2R3dLeEQ7RUE5QkQ7SUFXUSxjaEhsTFk7SWdIbUxaLGtCN0d0SmlEO0k2R3VKakQsYzdHdkppRDtJNkd3SmpELGtCQUFrQixFQUFBO0VBZDFCO0lBa0JRLGNoSHpMWTtJZ0gwTFosb0I3RzdKaUQ7STZHOEpqRCxjN0c5SmlEO0k2RytKakQscUI3Ry9KaUQ7STZHZ0tqRCxrQkFBa0IsRUFBQTtJQXRCMUI7TUF5QlkseUJoSGhNUTtNZ0hpTVIsa0JBQWtCO01BQ2xCLGtCN0dySzZDLEVBQUE7O0E2RzBLekQ7RUFDSSx5QmhIbE1tQjtFZ0htTW5CLDBCN0c1S3FEO0U2RzZLckQseUI3RzdLcUQsRUFBQTtFRW1FckQ7STJHdUdKO01BTVEsaUI3R2hMaUQsRUFBQSxFNkdrTHhEOztBQUVEO0VBQ0kseUJoSDVNbUI7RWdINk1uQiwwQjdHdExxRDtFNkd1THJELDJDN0d2THFEO0U2R3dMckQsa0JBQWtCLEVBQUE7RTNHckhsQjtJMkdpSEo7TUFPUSx5QjdHM0xpRCxFQUFBLEU2RzZOeEQ7RUF6Q0Q7O0lBWVEsY2hIN05ZO0lnSDhOWixrQjdHak1pRDtJNkdrTWpELGM3R2xNaUQ7STZHbU1qRCxrQkFBa0IsRUFBQTtFQWYxQjtJQW1CUSxvQjdHdk1pRDtJNkd3TWpELHFCN0d4TWlELEVBQUE7STZHb0x6RDtNQXVCWSx5QmhIeE9RO01nSHlPUixrQkFBa0I7TUFDbEIsa0I3RzdNNkMsRUFBQTtFNkdvTHpEOztJQStCUSxpQkFBaUIsRUFBQTtFQS9CekI7SUFtQ1EsU0FBUyxFQUFBO0VBbkNqQjtJQXVDUSxjaEhuUFksRUFBQTs7QWdIdVBwQjtFQUNJLHlCaEh2UG1CO0VnSHdQbkIsNkI3R2pPcUQ7RTZHa09yRCwyQzdHbE9xRDtFNkdtT3JELGtCQUFrQixFQUFBO0UzR2hLbEI7STJHNEpKO01BT1EseUI3R3RPaUQsRUFBQSxFNkdzUHhEO0VBdkJEO0lBV1EsY2hIdlFZO0lnSHdRWixvQjdHM09pRDtJNkc0T2pELGM3RzVPaUQ7STZHNk9qRCxxQjdHN09pRDtJNkc4T2pELGtCQUFrQixFQUFBO0lBZjFCO01Ba0JZLHlCaEg5UVE7TWdIK1FSLGtCQUFrQjtNQUNsQixrQjdHblA2QyxFQUFBOztBNkd3UHpEO0VoSDBTSSwwQ0FIc0M7RUFJdEMsZ0JBQWdCO0VnSHhTaEIsb0I3RzNQcUQ7RTZHNFByRCwwQjdHNVBxRDtFNkc2UHJELHlCQUF5QjtFQUN6QixtQkFBbUIsRUFBQTtFM0czTG5CO0kyR3FMSjtNQVNRLG1CN0dqUWlEO002R2tRakQsMEI3R2xRaUQsRUFBQSxFNkcwUXhEO0VBbEJEO0lBY1EsY2hIblNZO0lnSG9TWixZQUFZO0lBQ1osb0I3R3hRaUQsRUFBQTs7QTZHNFF6RDtFQUNJLGlCN0d4UVMsRUFBQTs7QTZHMlFiO0VBQ0ksY2hIOVNnQjtFZ0grU2hCLHNCN0dsUnFELEVBQUE7O0E2R3FSekQ7RUFDSSx5QkFBeUIsRUFBQTs7QUFHN0I7RUFDSSx3QjdHMVJxRCxFQUFBOztBNkc2UnpEO0VBQ0kscUI3RzlScUQsRUFBQTs7QTZHaVN6RDtFQUNJLG9CN0dsU3FEO0U2R21TckQscUJBQXFCLEVBQUE7O0FBR3pCO0VBQ0ksY2hIL1RnQjtFZ0hnVWhCLGtCN0d4U3FEO0U2R3lTckQsZ0JBQWdCO0VBQ2hCLDZCN0cxU3FELEVBQUE7O0E2RzZTekQ7RUFDSSwwQjdHOVNxRCxFQUFBOztBNkdpVHpEO0VBQ0ksbUI3R2xUcUQsRUFBQTs7QTZHcVR6RDtFQUNJLGNoSG5WZ0I7RWdIb1ZoQixjQUFjO0VBQ2Qsb0JBQW9CO0VBQ3BCLHNCN0d6VHFEO0U2RzBUckQsd0JBQXdCLEVBQUE7RTNHdlB4QjtJMkdrUEo7TUFRUSxxQkFBcUI7TUFDckIsc0I3RzlUaUQsRUFBQSxFNkdnVXhEOztBQUVEO0VBQ0ksbUI3R25VcUQ7RTZHb1VyRCxnQkFBZ0I7RUFDaEIsb0I3R3JVcUQsRUFBQTs7QTZHd1V6RDtFQUNJLGU3R3pVcUQsRUFBQTs7QTZHNFV6RDtFQUNJLG1CN0c3VXFEO0U2RzhVckQsZ0JBQWdCO0VBQ2hCLG9CN0cvVXFELEVBQUE7O0E2R2tWekQ7RUFDSSxjaEhoWGdCO0VnSGlYaEIsY0FBYztFQUNkLG1CN0dyVnFELEVBQUE7RTZHa1Z6RDtJQU1RLGNBQWMsRUFBQTs7QUFJdEI7RUFDSSxrQjdHN1ZxRCxFQUFBO0U2RzRWekQ7SUFJUSxhQUFhLEVBQUE7SUFKckI7TUFPWSxjaEhoWVE7TWdIaVlSLG9CN0dwVzZDLEVBQUE7O0E2R3lXekQ7RUFDSSxzQjdHMVdxRCxFQUFBOztBNkc2V3pEO0VBRVEsbUJoSDVWZTtFZ0g2VmYsVUFBVSxFQUFBOztBQUhsQjtFQU9RLFdBQVcsRUFBQTtFM0dqVGY7STJHMFNKO01BVVksY0FBYyxFQUFBLEVBRXJCOztBQVpMO0VBZVEsZ0JoSDlZZTtFZ0grWWYsK0JoSDFaWTtFZ0gyWlosV2hIN1dJO0VnSDhXSixjQUFjO0VBQ2QsNEI3R2hZaUQsRUFBQTtFRW1FckQ7STJHMFNKO01Bc0JZLHFCN0duWTZDLEVBQUEsRTZHcVlwRDs7QUFHTDtFQUNJLHlCQUF5QixFQUFBOztBQUc3QjtFQUNJLHlCQUF5QixFQUFBOztBQUc3QjtFQUNJLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0VBQ2QscUI3R2xacUQ7RTZHbVpyRCxVQUFVO0VBQ1Ysb0JBQW9CLEVBQUE7O0FBR3hCO0VBQ0ksWUFBWTtFQUNaLGdCQUFnQixFQUFBO0VBRnBCO0lBS1EsbUI3RzVaaUQsRUFBQTtJRW1FckQ7TTJHb1ZKO1FBUVksYUFBYSxFQUFBLEVBRXBCOztBQUdMO0VBRVEsU0FBUyxFQUFBOztBQUlqQjtFQUNJO0lBRVEsV0FBVyxFQUFBLEVBQ2Q7O0FDM2ZUO0VBQ0ksd0JBQXdCLEVBQUE7O0FBSTVCO0VBQ0ksd0JBQXdCLEVBQUE7O0FBSzVCO0VBQ0ksc0JBQXNCLEVBQUE7O0FBRzFCO0VBQ0k7SUFDSSxhQUFhLEVBQUEsRUFDaEIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG4vKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00OGVtJmxhcmdlPTY0ZW0meGxhcmdlPTgyLjVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogODIuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAucm93IC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfSB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gIG1pbi13aWR0aDogaW5pdGlhbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubWVkaXVtLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMsIC5icmFuZC1wYWdlLXByb2R1Y3RzIC5ncmlkLXRpbGUge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNvbHVtbi5hbGlnbi10b3AsIC5hbGlnbi10b3AuY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmNvbHVtbi5hbGlnbi1ib3R0b20sIC5hbGlnbi1ib3R0b20uY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5jb2x1bW4uYWxpZ24tbWlkZGxlLCAuYWxpZ24tbWlkZGxlLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmNvbHVtbi5hbGlnbi1zdHJldGNoLCAuYWxpZ24tc3RyZXRjaC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDIuNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMi41NjI1cmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuMTI1cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuNjI1cmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuXG5hIHtcbiAgY29sb3I6ICNjNzUzMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2FiNDcwMDsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgbWF4LXdpZHRoOiA4Mi41cmVtO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgY2xlYXI6IGJvdGg7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIge1xuICBjb2xvcjogIzAwMDtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDA7IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICBjb2xvcjogIzAwMDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1OTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNTQwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ucHJpbWFyeS1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5LWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24ucHJpbWFyeS1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZjQyMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLnByaW1hcnktZGFyay1ob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5NDAwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ucHJpbWFyeS1kYXJrLWhvdmVyOmhvdmVyLCAuYnV0dG9uLnByaW1hcnktZGFyay1ob3Zlcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2EzMzAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmRhcmtncmV5MSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uZGFya2dyZXkxOmhvdmVyLCAuYnV0dG9uLmRhcmtncmV5MTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5taWRncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4Mjg1O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5taWRncmV5OmhvdmVyLCAuYnV0dG9uLm1pZGdyZXk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2Njg2YTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ubGlnaHQtZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ubGlnaHQtZ3JheTpob3ZlciwgLmJ1dHRvbi5saWdodC1ncmF5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMmMyYzI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmJvcmRlci1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5ib3JkZXItZ3JleTpob3ZlciwgLmJ1dHRvbi5ib3JkZXItZ3JleTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTNhM2EzO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi52ZXJ5LWxpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOWM5Yzk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnZlcnktbGlnaHQtZ3JleTpob3ZlciwgLmJ1dHRvbi52ZXJ5LWxpZ2h0LWdyZXk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYTFhMTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uYnJpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmJyaWdodC1ncmV5OmhvdmVyLCAuYnV0dG9uLmJyaWdodC1ncmV5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOGI4YmM7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgwODA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLWdyZXk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQtZ3JleTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi53aGl0ZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi53aGl0ZS1kZWZhdWx0OmhvdmVyLCAuYnV0dG9uLndoaXRlLWRlZmF1bHQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ud2hpdGUtZ2hvc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjM7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLndoaXRlLWdob3N0OmhvdmVyLCAuYnV0dG9uLndoaXRlLWdob3N0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLndoaXRlLXNtb2tlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi53aGl0ZS1zbW9rZTpob3ZlciwgLmJ1dHRvbi53aGl0ZS1zbW9rZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliOWI5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uZXJyb3I6aG92ZXIsIC5idXR0b24uZXJyb3I6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDAwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24udW5hdmFpbGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUxYmU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnVuYXZhaWxhYmxlOmhvdmVyLCAuYnV0dG9uLnVuYXZhaWxhYmxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmI4NjU7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLm5vYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc5Nzk3O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5ub2JlbDpob3ZlciwgLmJ1dHRvbi5ub2JlbDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzk3OTc5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5saWdodC1ncmF5LW15LWdhcmFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ubGlnaHQtZ3JheS1teS1nYXJhZ2U6aG92ZXIsIC5idXR0b24ubGlnaHQtZ3JheS1teS1nYXJhZ2U6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg1OTE5ZDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24udW5hdmFpbGFibGUtdGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlMWMyMjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24udW5hdmFpbGFibGUtdGV4dDpob3ZlciwgLmJ1dHRvbi51bmF2YWlsYWJsZS10ZXh0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjE2MWI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmdyZWVuLWFjY2Vzc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTdmMTA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmdyZWVuLWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24uZ3JlZW4tYWNjZXNzaWJsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE2NjBkO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5yZWQtYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M2MTc1MjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ucmVkLWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24ucmVkLWFjY2Vzc2libGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzllMTI0MjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICM4MDM1MDA7XG4gICAgICBjb2xvcjogIzgwMzUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODAzNTAwO1xuICAgICAgICBjb2xvcjogIzgwMzUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktYWNjZXNzaWJsZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzc1MzAwO1xuICAgICAgY29sb3I6ICNjNzUzMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktYWNjZXNzaWJsZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjQyYTAwO1xuICAgICAgICBjb2xvcjogIzY0MmEwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktZGFyay1ob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk0MDAwO1xuICAgICAgY29sb3I6ICM5OTQwMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktZGFyay1ob3Zlcjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS1kYXJrLWhvdmVyOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGQyMDAwO1xuICAgICAgICBjb2xvcjogIzRkMjAwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgICAgICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGFya2dyZXkxIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMDIwMjA7XG4gICAgICBjb2xvcjogIzIwMjAyMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuZGFya2dyZXkxOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kYXJrZ3JleTE6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMDEwMTA7XG4gICAgICAgIGNvbG9yOiAjMTAxMDEwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cubWlkZ3JleSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjODA4Mjg1O1xuICAgICAgY29sb3I6ICM4MDgyODU7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lm1pZGdyZXk6aG92ZXIsIC5idXR0b24uaG9sbG93Lm1pZGdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MDQxNDM7XG4gICAgICAgIGNvbG9yOiAjNDA0MTQzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cubGlnaHQtZ3JheSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgY29sb3I6ICNmMmYyZjI7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXk6aG92ZXIsIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3OTc5Nzk7XG4gICAgICAgIGNvbG9yOiAjNzk3OTc5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYm9yZGVyLWdyZXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgIGNvbG9yOiAjY2NjOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5ib3JkZXItZ3JleTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYm9yZGVyLWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NjY2NjY7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cudmVyeS1saWdodC1ncmV5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOWM5Yzk7XG4gICAgICBjb2xvcjogI2M5YzljOTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cudmVyeS1saWdodC1ncmV5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy52ZXJ5LWxpZ2h0LWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NTY1NjU7XG4gICAgICAgIGNvbG9yOiAjNjU2NTY1OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYnJpZ2h0LWdyZXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICAgIGNvbG9yOiAjZThlOGU5OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5icmlnaHQtZ3JleTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYnJpZ2h0LWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3MjcyNzc7XG4gICAgICAgIGNvbG9yOiAjNzI3Mjc3OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQtZ3JleSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjODA4MDgwO1xuICAgICAgY29sb3I6ICM4MDgwODA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLWdyZXk6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkLWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MDQwNDA7XG4gICAgICAgIGNvbG9yOiAjNDA0MDQwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUtZGVmYXVsdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LndoaXRlLWRlZmF1bHQ6aG92ZXIsIC5idXR0b24uaG9sbG93LndoaXRlLWRlZmF1bHQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IGdyYXk7XG4gICAgICAgIGNvbG9yOiBncmF5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUtZ2hvc3Qge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMztcbiAgICAgIGNvbG9yOiAjZjJmMmYzOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53aGl0ZS1naG9zdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2hpdGUtZ2hvc3Q6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3NDc0N2U7XG4gICAgICAgIGNvbG9yOiAjNzQ3NDdlOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUtc21va2Uge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgICAgIGNvbG9yOiAjZTdlN2U3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53aGl0ZS1zbW9rZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2hpdGUtc21va2U6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3NDc0NzQ7XG4gICAgICAgIGNvbG9yOiAjNzQ3NDc0OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VjNTg0MDtcbiAgICAgIGNvbG9yOiAjZWM1ODQwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4ODFmMGU7XG4gICAgICAgIGNvbG9yOiAjODgxZjBlOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZXJyb3Ige1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbiAgICAgIGNvbG9yOiAjZjAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5lcnJvcjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZXJyb3I6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcm9vbjtcbiAgICAgICAgY29sb3I6IG1hcm9vbjsgfVxuICAgIC5idXR0b24uaG9sbG93LnVuYXZhaWxhYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmUxYmU7XG4gICAgICBjb2xvcjogI2ZmZTFiZTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cudW5hdmFpbGFibGU6aG92ZXIsIC5idXR0b24uaG9sbG93LnVuYXZhaWxhYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGY3ODAwO1xuICAgICAgICBjb2xvcjogI2RmNzgwMDsgfVxuICAgIC5idXR0b24uaG9sbG93Lm5vYmVsIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBjb2xvcjogIzk3OTc5NzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cubm9iZWw6aG92ZXIsIC5idXR0b24uaG9sbG93Lm5vYmVsOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGM0YzRjO1xuICAgICAgICBjb2xvcjogIzRjNGM0YzsgfVxuICAgIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXktbXktZ2FyYWdlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZGI1YmQ7XG4gICAgICBjb2xvcjogI2FkYjViZDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cubGlnaHQtZ3JheS1teS1nYXJhZ2U6aG92ZXIsIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXktbXktZ2FyYWdlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNTE1YjY0O1xuICAgICAgICBjb2xvcjogIzUxNWI2NDsgfVxuICAgIC5idXR0b24uaG9sbG93LnVuYXZhaWxhYmxlLXRleHQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlMWMyMjtcbiAgICAgIGNvbG9yOiAjZGUxYzIyOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy51bmF2YWlsYWJsZS10ZXh0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy51bmF2YWlsYWJsZS10ZXh0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmYwZTExO1xuICAgICAgICBjb2xvcjogIzZmMGUxMTsgfVxuICAgIC5idXR0b24uaG9sbG93LmdyZWVuLWFjY2Vzc2libGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE1N2YxMDtcbiAgICAgIGNvbG9yOiAjMTU3ZjEwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5ncmVlbi1hY2Nlc3NpYmxlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ncmVlbi1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGI0MDA4O1xuICAgICAgICBjb2xvcjogIzBiNDAwODsgfVxuICAgIC5idXR0b24uaG9sbG93LnJlZC1hY2Nlc3NpYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNjE3NTI7XG4gICAgICBjb2xvcjogI2M2MTc1MjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucmVkLWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24uaG9sbG93LnJlZC1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjMwYzI5O1xuICAgICAgICBjb2xvcjogIzYzMGMyOTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRvcDogLTAuMWVtOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuMjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogaW5pdGlhbDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMDtcbiAgICB0cmFuc2l0aW9uOiBpbml0aWFsOyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjY2M7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwMDA7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjMxMjVyZW07IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxJTsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4yNXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNiwgODgsIDY0LCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNlYzU4NDA7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2VjNTg0MDsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJysnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfigJMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjZmY2OTAwOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNjkwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UucHJpbWFyeS1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5wcmltYXJ5LWRhcmstaG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5OTQwMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UuZGFya2dyZXkxIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjAyMDIwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5taWRncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjODA4Mjg1O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5saWdodC1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS5ib3JkZXItZ3JleSB7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2UudmVyeS1saWdodC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjYzljOWM5O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS5icmlnaHQtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogI2U4ZThlOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2UuZGlzYWJsZWQtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogIzgwODA4MDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2Uud2hpdGUtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2Uud2hpdGUtZ2hvc3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjM7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJhZGdlLndoaXRlLXNtb2tlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTdlN2U3O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UuZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6ICNmMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnVuYXZhaWxhYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZlMWJlO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS5ub2JlbCB7XG4gICAgYmFja2dyb3VuZDogIzk3OTc5NztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UubGlnaHQtZ3JheS1teS1nYXJhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICNhZGI1YmQ7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJhZGdlLnVuYXZhaWxhYmxlLXRleHQge1xuICAgIGJhY2tncm91bmQ6ICNkZTFjMjI7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLmdyZWVuLWFjY2Vzc2libGUge1xuICAgIGJhY2tncm91bmQ6ICMxNTdmMTA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnJlZC1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzYxNzUyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNjY2M7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNTQwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeS1hY2Nlc3NpYmxlIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnktYWNjZXNzaWJsZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnktYWNjZXNzaWJsZSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZjQyMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnktZGFyay1ob3ZlciAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk0MDAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LWRhcmstaG92ZXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LWRhcmstaG92ZXIgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2EzMzAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmRhcmtncmV5MSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjAyMDIwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5kYXJrZ3JleTEgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5kYXJrZ3JleTEgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5taWRncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgyODU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLm1pZGdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5taWRncmV5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2Njg2YTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAubGlnaHQtZ3JheSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAubGlnaHQtZ3JheSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMmMyYzI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmJvcmRlci1ncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmJvcmRlci1ncmV5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYm9yZGVyLWdyZXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTNhM2EzO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC52ZXJ5LWxpZ2h0LWdyZXkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M5YzljOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAudmVyeS1saWdodC1ncmV5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAudmVyeS1saWdodC1ncmV5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYTFhMTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuYnJpZ2h0LWdyZXkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuYnJpZ2h0LWdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5icmlnaHQtZ3JleSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOGI4YmM7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmRpc2FibGVkLWdyZXkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwODA4MDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZGlzYWJsZWQtZ3JleSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmRpc2FibGVkLWdyZXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC53aGl0ZS1kZWZhdWx0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndoaXRlLWRlZmF1bHQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53aGl0ZS1kZWZhdWx0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAud2hpdGUtZ2hvc3QgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAud2hpdGUtZ2hvc3QgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53aGl0ZS1naG9zdCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLndoaXRlLXNtb2tlIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndoaXRlLXNtb2tlIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2hpdGUtc21va2UgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliOWI5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5lcnJvciAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5lcnJvciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmVycm9yIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDAwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTFiZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC51bmF2YWlsYWJsZSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmI4NjU7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLm5vYmVsIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5Nzk3OTc7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLm5vYmVsIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAubm9iZWwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzk3OTc5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5LW15LWdhcmFnZSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5LW15LWdhcmFnZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmxpZ2h0LWdyYXktbXktZ2FyYWdlIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg1OTE5ZDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUtdGV4dCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGUxYzIyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC51bmF2YWlsYWJsZS10ZXh0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUtdGV4dCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjE2MWI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmdyZWVuLWFjY2Vzc2libGUgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1N2YxMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZ3JlZW4tYWNjZXNzaWJsZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmdyZWVuLWFjY2Vzc2libGUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE2NjBkO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5yZWQtYWNjZXNzaWJsZSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzYxNzUyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yZWQtYWNjZXNzaWJsZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnJlZC1hY2Nlc3NpYmxlIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzllMTI0MjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmU5ZDk7IH1cbiAgLmNhbGxvdXQucHJpbWFyeS1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlNGQwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnktZGFyay1ob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTBjOTsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7IH1cbiAgLmNhbGxvdXQuZGFya2dyZXkxIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlOyB9XG4gIC5jYWxsb3V0Lm1pZGdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWQ7IH1cbiAgLmNhbGxvdXQubGlnaHQtZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZDsgfVxuICAuY2FsbG91dC5ib3JkZXItZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICAuY2FsbG91dC52ZXJ5LWxpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7IH1cbiAgLmNhbGxvdXQuYnJpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7IH1cbiAgLmNhbGxvdXQuZGlzYWJsZWQtZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuICAuY2FsbG91dC53aGl0ZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuY2FsbG91dC53aGl0ZS1naG9zdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZDsgfVxuICAuY2FsbG91dC53aGl0ZS1zbW9rZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2U2ZTI7IH1cbiAgLmNhbGxvdXQuZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmQ5ZDk7IH1cbiAgLmNhbGxvdXQudW5hdmFpbGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZiZjU7IH1cbiAgLmNhbGxvdXQubm9iZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cbiAgLmNhbGxvdXQubGlnaHQtZ3JheS1teS1nYXJhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjU7IH1cbiAgLmNhbGxvdXQudW5hdmFpbGFibGUtdGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZGNkZDsgfVxuICAuY2FsbG91dC5ncmVlbi1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBmOWNlOyB9XG4gIC5jYWxsb3V0LnJlZC1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFkOGU0OyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4ubWVudSB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAwIDAgMzhweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgaSxcbiAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEgaW1nICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBpICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBzdmcgKyBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAubWVudS52ZXJ0aWNhbCA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5tZW51LnNpbXBsZSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjpiZWZvcmUsIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgPiBsaSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5tZW51LmV4cGFuZGVkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaSxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byAwLjI1cmVtOyB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7IH1cblxuLm1lbnUtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC43cmVtIDAgMCAzOHB4OyB9XG5cbi5tZW51LWNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMCwgMCAxNHB4IDAgIzAwMDsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjY2MsIDAgMTRweCAwICNjY2M7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwMDAsIDAgMTRweCAwICMwMDA7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZjY5MDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZjY5MDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAxMDsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICB0b3A6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBib3JkZXItY29sb3I6ICNjNzUzMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtMnB4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDtcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2M3NTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjYzc1MzAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogI2M3NTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjYzc1MzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2M3NTMwMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogI2M3NTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2M3NTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2M3NTMwMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjYzc1MzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNjNzUzMDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG4gIC5mbGV4LXZpZGVvLnZpbWVvIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLnByaW1hcnktYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2M3NTMwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwucHJpbWFyeS1kYXJrLWhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTk0MDAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmRhcmtncmV5MSB7XG4gICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwubWlkZ3JleSB7XG4gICAgYmFja2dyb3VuZDogIzgwODI4NTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwubGlnaHQtZ3JheSB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwuYm9yZGVyLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLnZlcnktbGlnaHQtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogI2M5YzljOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwuYnJpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLmRpc2FibGVkLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICM4MDgwODA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLndoaXRlLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLndoaXRlLWdob3N0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYzO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC53aGl0ZS1zbW9rZSB7XG4gICAgYmFja2dyb3VuZDogI2U3ZTdlNztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNlYzU4NDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC51bmF2YWlsYWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZTFiZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwubm9iZWwge1xuICAgIGJhY2tncm91bmQ6ICM5Nzk3OTc7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmxpZ2h0LWdyYXktbXktZ2FyYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWRiNWJkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC51bmF2YWlsYWJsZS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZGUxYzIyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5ncmVlbi1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTU3ZjEwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5yZWQtYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2M2MTc1MjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5taWRkbGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLmJvdHRvbSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlOyB9XG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmJlZm9yZSwgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCxcbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctYm90dG9tOiAwLjFweDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5qcy1vZmYtY2FudmFzLWV4aXQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZTsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgei1pbmRleDogLTE7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgbGVmdDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAuaXMtb3Blbi1sZWZ0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHJpZ2h0OiAtMjUwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyNTBweDsgfVxuICAgIC5pcy1vcGVuLXJpZ2h0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFwwMGFiJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFwwMGJiJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7IH1cbiAgLnByb2dyZXNzLnByaW1hcnktYWNjZXNzaWJsZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7IH1cbiAgLnByb2dyZXNzLnByaW1hcnktZGFyay1ob3ZlciAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTQwMDA7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLnByb2dyZXNzLmRhcmtncmV5MSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7IH1cbiAgLnByb2dyZXNzLm1pZGdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4Mjg1OyB9XG4gIC5wcm9ncmVzcy5saWdodC1ncmF5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICAucHJvZ3Jlc3MuYm9yZGVyLWdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG4gIC5wcm9ncmVzcy52ZXJ5LWxpZ2h0LWdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzljOWM5OyB9XG4gIC5wcm9ncmVzcy5icmlnaHQtZ3JleSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTk7IH1cbiAgLnByb2dyZXNzLmRpc2FibGVkLWdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODA4MDgwOyB9XG4gIC5wcm9ncmVzcy53aGl0ZS1kZWZhdWx0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAucHJvZ3Jlc3Mud2hpdGUtZ2hvc3QgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYzOyB9XG4gIC5wcm9ncmVzcy53aGl0ZS1zbW9rZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwOyB9XG4gIC5wcm9ncmVzcy5lcnJvciAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7IH1cbiAgLnByb2dyZXNzLnVuYXZhaWxhYmxlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTFiZTsgfVxuICAucHJvZ3Jlc3Mubm9iZWwgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc5Nzk3OyB9XG4gIC5wcm9ncmVzcy5saWdodC1ncmF5LW15LWdhcmFnZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQ7IH1cbiAgLnByb2dyZXNzLnVuYXZhaWxhYmxlLXRleHQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGUxYzIyOyB9XG4gIC5wcm9ncmVzcy5ncmVlbi1hY2Nlc3NpYmxlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1N2YxMDsgfVxuICAucHJvZ3Jlc3MucmVkLWFjY2Vzc2libGUgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzYxNzUyOyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwOyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTU5MDA7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDA2O1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyxcbiAgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA4Mi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogODIuNXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cblxuLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07IH1cblxuLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgY2FwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIHRoZWFkIHRyLFxuICAgIHRmb290IHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgdGhlYWQgdGgsXG4gICAgdGhlYWQgdGQsXG4gICAgdGZvb3QgdGgsXG4gICAgdGZvb3QgdGQge1xuICAgICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG5cbnRhYmxlLmhvdmVyIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjI2NDAwOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC50aHVtYm5haWw6aG92ZXIsIC50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMjU1LCAxMDUsIDAsIDAuNSk7IH1cblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnRpdGxlLWJhcjo6YmVmb3JlLCAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMCwgMCAxNHB4IDAgIzAwMDsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udG9wLWJhciB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRvcC1iYXI6OmJlZm9yZSwgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODIuNDM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4udG9wLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRvcC1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODIuNDM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgyLjVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4ucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbi5mbGV4LXZpZGVvIGlmcmFtZSxcbi5mbGV4LXZpZGVvIG9iamVjdCxcbi5mbGV4LXZpZGVvIGVtYmVkLFxuLmZsZXgtdmlkZW8gdmlkZW8ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUge1xuICBib3JkZXI6IDA7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbi5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi8qIENocm9tZSBoYWNrOiBTVkcgaXMgcmVuZGVyZWQgbW9yZSBzbW9vdGggaW4gV2luZG96emUuIDEwMCUgbWFnaWMsIHVuY29tbWVudCBpZiB5b3UgbmVlZCBpdC4gKi9cbi8qIE5vdGUsIHRoYXQgd2lsbCBicmVhayBoaW50aW5nISBJbiBvdGhlciBPUy1lcyBmb250IHdpbGwgYmUgbm90IGFzIHNoYXJwIGFzIGl0IGNvdWxkIGJlICovXG4vKlxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICAgIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLnN2Zz82Mjc1MTUwMyNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XG4gIH1cbn1cbiovXG5bY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbltjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgLyogeW91IGNhbiBiZSBtb3JlIGNvbWZvcnRhYmxlIHdpdGggaW5jcmVhc2VkIGljb25zIHNpemUgKi9cbiAgLyogZm9udC1zaXplOiAxMjAlOyAqL1xuICAvKiBGb250IHNtb290aGluZy4gVGhhdCB3YXMgdGFrZW4gZnJvbSBUV0JTICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIC8qIG9wYWNpdHk6IC44OyAqL1xuICAvKiBGb3Igc2FmZXR5IC0gcmVzZXQgcGFyZW50IHN0eWxlcywgdGhhdCBjYW4gYnJlYWsgZ2x5cGggY29kZXMqL1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgLyogZml4IGJ1dHRvbnMgaGVpZ2h0LCBmb3IgdHdpdHRlciBib290c3RyYXAgKi9cbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgLyogQW5pbWF0aW9uIGNlbnRlciBjb21wZW5zYXRpb24gLSBtYXJnaW5zIHNob3VsZCBiZSBzeW1tZXRyaWMgKi9cbiAgLyogcmVtb3ZlIGlmIG5vdCBuZWVkZWQgKi9cbiAgbWFyZ2luLWxlZnQ6IDAuMmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMmVtO1xuICBzcGVhazogbmV2ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2lkdGg6IDFlbTtcbiAgLyogVW5jb21tZW50IGZvciAzRCBlZmZlY3QgKi9cbiAgLyogdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4zKTsgKi8gfVxuXG4uaWNvbi1hbGVydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDBcIjsgfVxuXG4vKiAn7qCAJyAqL1xuLmljb24tY2FydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDFcIjsgfVxuXG4vKiAn7qCBJyAqL1xuLmljb24tY3VzdG9tZXJjYXJlcGxhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDJcIjsgfVxuXG4vKiAn7qCCJyAqL1xuLmljb24tbGl2ZWNoYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAzXCI7IH1cblxuLyogJ+6ggycgKi9cbi5pY29uLWxvY2F0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwNFwiOyB9XG5cbi8qICfuoIQnICovXG4uaWNvbi1zZWFyY2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA1XCI7IH1cblxuLyogJ+6ghScgKi9cbi5pY29uLXNldmVyZXdlYXRoZXJkZXNpZ25hdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDZcIjsgfVxuXG4vKiAn7qCGJyAqL1xuLmljb24tY2FuY2VsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwN1wiOyB9XG5cbi8qICfuoIcnICovXG4uaWNvbi13aGVlbHdhcnJhbnR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwOFwiOyB9XG5cbi8qICfuoIgnICovXG4uaWNvbi1teWFjY291bnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA5XCI7IH1cblxuLyogJ+6giScgKi9cbi5pY29uLWNvbnRhY3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBhXCI7IH1cblxuLyogJ+6giicgKi9cbi5pY29uLXBsdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBiXCI7IH1cblxuLyogJ+6giycgKi9cbi5pY29uLW1pbnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwY1wiOyB9XG5cbi8qICfuoIwnICovXG4uaWNvbi1zdGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZFwiOyB9XG5cbi8qICfuoI0nICovXG4uaWNvbi11cC1vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZVwiOyB9XG5cbi8qICfuoI4nICovXG4uaWNvbi1kb3duLW9wZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBmXCI7IH1cblxuLyogJ+6gjycgKi9cbi5pY29uLWFjY2Vzc2liaWxpdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEwXCI7IH1cblxuLyogJ+6gkCcgKi9cbi5pY29uLWNpcmNsZS1jaGVja2VkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxMVwiOyB9XG5cbi8qICfuoJEnICovXG4uaWNvbi1wcmludDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTJcIjsgfVxuXG4vKiAn7qCSJyAqL1xuLmljb24tbGVmdC1vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxM1wiOyB9XG5cbi8qICfuoJMnICovXG4uaWNvbi1yaWdodC1vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxNFwiOyB9XG5cbi8qICfuoJQnICovXG4uaWNvbi10aHVtYnMtZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTVcIjsgfVxuXG4vKiAn7qCVJyAqL1xuLmljb24tdGlyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTZcIjsgfVxuXG4vKiAn7qCWJyAqL1xuLmljb24tY2FsZW5kYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE3XCI7IH1cblxuLyogJ+6glycgKi9cbi5pY29uLXBob25lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxOFwiOyB9XG5cbi8qICfuoJgnICovXG4uaWNvbi1sb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxOVwiOyB9XG5cbi8qICfuoJknICovXG4uaWNvbi10ZXN0ZWQtYnkta2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyMFwiOyB9XG5cbi8qICfuoKAnICovXG4uaWNvbi10aHVtYnMtdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODIxXCI7IH1cblxuLyogJ+6goScgKi9cbi5pY29uLXN0YXItZW1wdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODIyXCI7IH1cblxuLyogJ+6goicgKi9cbi5pY29uLXBsYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODIzXCI7IH1cblxuLyogJ+6goycgKi9cbi5pY29uLXdoZWVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyNFwiOyB9XG5cbi8qICfuoKQnICovXG4uaWNvbi1tYWludGVuYW5jZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjVcIjsgfVxuXG4vKiAn7qClJyAqL1xuLmljb24tc2Vhc29uYWwtYWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyNlwiOyB9XG5cbi8qICfuoKYnICovXG4uaWNvbi1nZWFyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjdcIjsgfVxuXG4vKiAn7qCnJyAqL1xuLmljb24tYm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjhcIjsgfVxuXG4vKiAn7qCoJyAqL1xuLmljb24tZmlsdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyOVwiOyB9XG5cbi8qICfuoKknICovXG4uaWNvbi1jYWxlbmRhci1pY29uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyY1wiOyB9XG5cbi8qICfuoKwnICovXG4uaWNvbi1zbm93Zmxha2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODJkXCI7IH1cblxuLyogJ+6grScgKi9cbi5pY29uLWJ1eW5vd3BheWxhdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyZVwiOyB9XG5cbi8qICfuoK4nICovXG4uaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNFwiOyB9XG5cbi8qICfvhIQnICovXG4uaWNvbi1hbmdsZS1yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDVcIjsgfVxuXG4vKiAn74SFJyAqL1xuLmljb24tYW5nbGUtdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7IH1cblxuLyogJ++EhicgKi9cbi5pY29uLWFuZ2xlLWRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA3XCI7IH1cblxuLyogJ++EhycgKi9cbi5pY29uLWNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjsgfVxuXG4vKiAn74SRJyAqL1xuLmljb24tY2lyY2xlLXRoaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRiXCI7IH1cblxuLyogXCLvh5tcIiAqL1xuLmljb24tc3Rhci1oYWxmLWFsdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjNcIjsgfVxuXG4vKiAn74SjJyAqL1xuLmljb24td2lmaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWJcIjsgfVxuXG4vKiAn74erJyAqL1xuLmljb24tYnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwN1wiOyB9XG5cbi8qICfviIcnICovXG4uaWNvbi1leGNoYW5nZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MmZcIjsgfVxuXG4vKiAn7qCvJyAqL1xuLmljb24tcHJpY2UtbWF0Y2gtZ3VhcmFudGVlLWxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODYwXCI7IH1cblxuLyogJ+6hoCcgKi9cbi5pY29uLXRpY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODMxXCI7IH1cblxuLyogJ+6gsicgKi9cbi5pY29uLWN1c3RvbWVyLWNhcmUtcGxhbi1saW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgzMlwiOyB9XG5cbi8qICfuoLMnICovXG4uaWNvbi1icmFrZXMtcXVhbGl0eS1wYXJ0czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MzNcIjsgfVxuXG4vKiAn7qC0JyAqL1xuLmljb24tYnJha2VzLW5vLXN1cnByaXNlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MzRcIjsgfVxuXG4vKiAn7qC1JyAqL1xuLmljb24tbWFpbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MWFcIjsgfVxuXG4vKiAn7qCaJyAqL1xuLmljb24tcmVzZW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxYlwiOyB9XG5cbi8qICfuoJsnICovXG4uaWNvbi1jaGF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxY1wiOyB9XG5cbi8qICfuoJwnICovXG4uaWNvbi1uZXctdGFiOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgzNlwiOyB9XG5cbi8qICfuoLknICovXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB3aWR0aDogMjBweDsgfVxuXG4uc2xpY2stcHJldjpob3Zlcixcbi5zbGljay1wcmV2OmZvY3VzLFxuLnNsaWNrLW5leHQ6aG92ZXIsXG4uc2xpY2stbmV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWNrLXByZXY6aG92ZXI6OmJlZm9yZSxcbi5zbGljay1wcmV2OmZvY3VzOjpiZWZvcmUsXG4uc2xpY2stbmV4dDpob3Zlcjo6YmVmb3JlLFxuLnNsaWNrLW5leHQ6Zm9jdXM6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSxcbi5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjI1OyB9XG5cbi5zbGljay1wcmV2OjpiZWZvcmUsXG4uc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBvcGFjaXR5OiAwLjc1OyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMjVweDsgfVxuXG4uc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgY29udGVudDogXCLihpBcIjsgfVxuXG5bZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKGklwiOyB9XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IC0yNXB4OyB9XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQge1xuICBsZWZ0OiAtMjVweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oaSXCI7IH1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCLihpBcIjsgfVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBib3R0b206IC0yNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNsaWNrLWRvdHMgbGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyMHB4OyB9XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiA1cHg7XG4gIHdpZHRoOiAyMHB4OyB9XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3Zlcixcbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOjpiZWZvcmUsXG4uc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOjpiZWZvcmUge1xuICBjb2xvcjogIzAwMDtcbiAgY29udGVudDogXCLigKJcIjtcbiAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgZm9udC1zaXplOiA2cHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxlZnQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBvcGFjaXR5OiAwLjI1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICB3aWR0aDogMjBweDsgfVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICBjb2xvcjogIzAwMDtcbiAgb3BhY2l0eTogMC43NTsgfVxuXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHdpZHRoOiAyMHB4OyB9XG4gIC5zbGljay1wcmV2OmhvdmVyLFxuICAuc2xpY2stcHJldjpmb2N1cyxcbiAgLnNsaWNrLW5leHQ6aG92ZXIsXG4gIC5zbGljay1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5zbGljay1wcmV2OmhvdmVyOjpiZWZvcmUsXG4gICAgLnNsaWNrLXByZXY6Zm9jdXM6OmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpob3Zlcjo6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmZvY3VzOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDo6YmVmb3JlLFxuICAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjI1OyB9XG4gIC5zbGljay1wcmV2OjpiZWZvcmUsXG4gIC5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgb3BhY2l0eTogMC43NTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0yNXB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4OyB9XG4gIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaQXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGklwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oaQXCI7IH1cblxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zbGljay1kb3RzIHtcbiAgYm90dG9tOiAtMjVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zbGljay1kb3RzIGxpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsXG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6OmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMjBweDsgfVxuICAgIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG9wYWNpdHk6IDAuNzU7IH1cblxuYm9keSxcbmh0bWwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuYm9keSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDsgfVxuXG5vbCxcbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uZnVsbGJsZWVkLCAuZm9vdGVyLXdyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxODAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mdWxsYmxlZWQtbW9iaWxlIHtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZnVsbGJsZWVkLW1vYmlsZSB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZnVsbGJsZWVkLW1vYmlsZSB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5yb3cuYXRyb290IHtcbiAgcGFkZGluZzogMCAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucm93LmF0cm9vdCB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJvdy5hdHJvb3Qge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnJvdy5hdHJvb3Quc2VsLWluZm8td3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAucm93LmF0cm9vdC5zZWwtaW5mby13cmFwcGVyIC5ub3BhZGRpbmdzbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ubm8tanMgLnRvcC1iYXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm5vLWpzIC50aXRsZS1iYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uby1qcyAjbWFpbk5hdldyYXBwZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLnZpc2liaWxpdHktaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07IH1cblxuYSB7XG4gIGNvbG9yOiAjYzc1MzAwOyB9XG5cbi5sYXJnZS1oZWFkbGluZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYXJnZS1oZWFkbGluZSB7XG4gICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGFyZ2UtaGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiA2NnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDY2cHg7IH0gfVxuXG4uaW50cm8tY29weSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbnRyby1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaW50cm8tY29weSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfSB9XG5cbi5zbWFsbC1pbnRyby1jb3B5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMThweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNtYWxsLWludHJvLWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zbWFsbC1pbnRyby1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cblxuLmxpZ2h0LWludHJvLWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlnaHQtaW50cm8tY29weSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfSB9XG5cbi5mb290ZXItbGlua3Mge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZm9vdGVyLWxpbmtzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXItbGlua3Mge1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cblxuLmlubGluZS1saW5rLWFsdGVybmF0ZSB7XG4gIGNvbG9yOiAjYzc1MzAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuaW5saW5lLWxpbmstYWx0ZXJuYXRlOmhvdmVyIHtcbiAgICBjb2xvcjogIzk5NDAwMDsgfVxuXG4uYXJyb3ctbGluayB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuYXJyb3ctbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmFycm93LWxpbms6OmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIiA+XCI7IH1cblxucCxcbi5wYXJhZ3JhcGgtY29weSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHAsXG4gICAgLnBhcmFncmFwaC1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cblxuLnNtYWxsLWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc21hbGwtY29weSB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtY29weSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDsgfSB9XG5cbi50aW55LWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGlueS1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aW55LWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuLnRpbnktaGVhZGluZ3Mge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBtYXJnaW46IDIwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiAzMHB4IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogNTBweCAwIDQwcHg7IH0gfVxuXG4ucGRwLW1haW4gLnBhZ2UtdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAucGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW46IDMwcHggMCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW46IDUwcHggMCAxMHB4OyB9IH1cblxuLnRpcC1zeW1ib2wge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGlwLXN5bWJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7IH0gfVxuICAudGlwLXN5bWJvbDo6YmVmb3JlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDA7XG4gICAgYm9yZGVyLXJhZGl1czogMS4wNjI1cmVtO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGNvbnRlbnQ6IFwiP1wiO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGhlaWdodDogMS4wNjI1cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjY4NzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgd2lkdGg6IDEuMDYyNXJlbTsgfVxuXG4uYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcGFkZGluZzogMTVweCAxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5idXR0b24uYnV0dG9uLWRhcmsge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y2YTU4MzsgfVxuICAuYnV0dG9uLmJ1dHRvbi1kYXJrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNjY2OyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNmE1ODM7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5idXR0b24tZGFyay5ob2xsb3cge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0biAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNjNzUzMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgY29udGVudDogXCJcXGU4MDdcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDsgfVxuICAgIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmUgLmFjdGl2ZS1idG4tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmUgLmJ0bi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeS5ob2xsb3cge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5idXR0b24uc2Vjb25kYXJ5LmhvbGxvdzpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzMxMzEzMTsgfVxuICAuYnV0dG9uLmJ1dHRvbi1kYXJrLnNlY29uZGFyeS5ob2xsb3cge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b246ZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kOiAjODA4Mjg1O1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4MDgyODU7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IDEzcHggMTVweDsgfVxuICAuYnV0dG9uLm1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6IDE1cHggMThweDsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTZweCAyMHB4OyB9XG4gIC5idXR0b24uZnVsbC13aWR0aCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLmhlbGxvYmFyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYnV0dG9uLmhlbGxvYmFyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cbiAgLmJ1dHRvbi5hbHRlcm5hdGUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5hbHRlcm5hdGU6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLnYtdmlldy1vbi12ZWhpY2xlLmRpc2FibGVkIC5idXR0b24ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLnYtdmlldy1vbi12ZWhpY2xlIC5saW5rLWFib3ZlLXByb2R1Y3Qge1xuICBiYWNrZ3JvdW5kOiAjODA4Mjg1OyB9XG5cbi50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIC50ZXN0ZWQtYnlrYWwtYmFkZ2UgcC50ZXN0ZWQtYnlrYWwtdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRlc3RlZC1ieWthbC1iYWRnZSAuaWNvbi10ZXN0ZWQtYnkta2FsIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cblxuLnRlc3RlZC1ieWthbC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnRlc3RlZC1ieWthbC1jb250YWluZXIgcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnRlc3RlZC1ieWthbC1jb250YWluZXIgcCAuaWNvbi10ZXN0ZWQtYnkta2FsIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLnRlc3RlZC1ieWthbC1jb250YWluZXIgcCAuaWNvbi10ZXN0ZWQtYnkta2FsOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAudGVzdGVkLWJ5a2FsLWNvbnRhaW5lciBwLnRlc3RlZC1ieWthbC10ZXh0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wcm9kdWN0LWJhZGdlIHtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAucHJvZHVjdC1iYWRnZSBzcGFuIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW46IDdweCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgICAucHJvZHVjdC1iYWRnZSBzcGFuLnByb2R1Y3QtaW1hZ2UtYmFkZ2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICBwYWRkaW5nOiA1cHggNXB4IDRweDsgfVxuICAgICAgLnByb2R1Y3QtYmFkZ2Ugc3Bhbi5wcm9kdWN0LWltYWdlLWJhZGdlIGltZyB7XG4gICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgd2lkdGg6IDIzcHg7IH1cblxuLnB0X3Byb2R1Y3QtZGV0YWlscyAucHJvZHVjdC13aW50ZXItdXNlLFxuLnB0X3Byb2R1Y3QtY29tcGFyZSAucHJvZHVjdC13aW50ZXItdXNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogaW5pdGlhbDsgfVxuXG4ucHRfcHJvZHVjdC1jb21wYXJlIC5wcm9kdWN0LXdpbnRlci11c2Uge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdG9wOiA1cHg7IH1cblxuLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDhweDtcbiAgdG9wOiAzcHg7XG4gIHotaW5kZXg6IDA7IH1cbiAgLnByb2R1Y3Qtd2ludGVyLXVzZSBpIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDIzcHg7IH1cblxuLm92ZXJ2aWV3IGkuaWNvbi1zbm93Zmxha2Uge1xuICBtYXJnaW4tbGVmdDogLTNweDsgfVxuXG4ubG9hZGVyIHtcbiAgYW5pbWF0aW9uOiByb3RhdGUgMC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogcm90YXRlIDAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXI6IDhweCBzb2xpZCAjYzc1MzAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAzZW07XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogM2VtOyB9XG4gIC5sb2FkZXIuc3RvcmUtZGV0YWlscy1sb2FkZXIge1xuICAgIGJvdHRvbTogLTUwcHg7XG4gICAgdG9wOiBhdXRvOyB9XG5cbi5lcnJvci10ZXh0LWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmUxYmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHggMTBweCA5cHg7IH1cbiAgLmVycm9yLXRleHQtYm94IHAudGV4dCB7XG4gICAgY29sb3I6ICNkZTFjMjI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3IgLmxvYWRlciB7XG4gIHotaW5kZXg6IC0xOyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAuc2VsZWN0b3IgLmxvYWRlciB7XG4gIHotaW5kZXg6IDk5OyB9XG5cbiNwc21vZGFsICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3IgLmxvYWRlciB7XG4gIHotaW5kZXg6IDk5OyB9XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi52aWRlb1dyYXBwZXIge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnZpZGVvV3JhcHBlciBpZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXRlZ29yeTpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7IH1cbiAgLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0ZWdvcnk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgIHdpZHRoOiAxMHB4OyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC0zLXNlYXNvbjo6YmVmb3JlLFxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0LWFsbC1zZWFzb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmYmIxMTY7IH1cblxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0LXBlcmZvcm1hbmNlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNjM1M2EzOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1hbGwtd2VhdGhlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2JmMWE4ZDsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtd2ludGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMjBjM2YzOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC10b3VyaW5nOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMDBhNjUxOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1zcG9ydC10cnVjazo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzdjODZjMjsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtYWxsLXRlcnJhaW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM3YTUyMjY7IH1cblxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0LW11ZC10ZXJyYWluOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNDIyODAwOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1jb21tZXJjaWFsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTdhOWFjOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC11bHRyYS1oaWdoLXBlcmZvcm1hbmNlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTQ5OWNhOyB9XG5cbi5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWQ5ZGE7IH1cbiAgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWRhOyB9XG4gIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICBjb250ZW50OiBcIlxcZTgwYlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IGF1dG87IH1cblxuLnBsdXMtbWludXMtYWNjb3JkaW9uIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlODBjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuLnBsdXMtbWludXMtYWNjb3JkaW9uIC5zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG5hLmluYWN0aXZlIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5saW5lLXNlY3Rpb25zLXNlcGFyYXRvciB7XG4gIG1hcmdpbjogNTBweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5saW5lLXNlY3Rpb25zLXNlcGFyYXRvciB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAubGluZS1zZWN0aW9ucy1zZXBhcmF0b3I6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjgsIDEzMCwgMTMzLCAwLjMpO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxpbmUtc2VjdGlvbnMtc2VwYXJhdG9yOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7IH0gfVxuXG4uZ2xvYmFsTW9kYWxIZWFkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDcycHg7XG4gIG1pbi1oZWlnaHQ6IDcycHg7XG4gIHBhZGRpbmc6IDAgNjBweCAwIDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZ2xvYmFsTW9kYWxIZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDI1cHg7XG4gICAgdG9wOiAwOyB9XG4gIC5nbG9iYWxNb2RhbEhlYWRlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5nbG9iYWxNb2RhbEhlYWRlciBoMiBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICB3aWR0aDogMzJweDsgfVxuXG4uZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsSGVhZGVyIGgyIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsSGVhZGVyIGgyIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIG1pbi13aWR0aDogMjZweDtcbiAgICB3aWR0aDogMjZweDsgfVxuXG4uZ2xvYmFsTW9kYWxDb250ZW50IHtcbiAgcGFkZGluZzogMzBweDsgfVxuICAuZ2xvYmFsTW9kYWxDb250ZW50IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWwoMTYpOyB9XG4gICAgLmdsb2JhbE1vZGFsQ29udGVudCBwIHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsQ29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggNjJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsQ29udGVudCB7XG4gICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cblxuLmZpbmFuY2luZ01vZGFsQnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZpbmFuY2luZ01vZGFsQnV0dG9uIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5maW5hbmNpbmdNb2RhbEJ1dHRvbiBhIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbWluLXdpZHRoOiAxNzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZpbmFuY2luZ01vZGFsQnV0dG9uIGEge1xuICAgICAgICBtaW4td2lkdGg6IDE0MHB4OyB9IH1cbiAgLmZpbmFuY2luZ01vZGFsQnV0dG9uIC5jYi1jdGEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5maW5hbmNpbmdNb2RhbEJ1dHRvbiAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICAgIHBhZGRpbmc6IDdweCAwIDhweDsgfVxuICAuZmluYW5jaW5nTW9kYWxCdXR0b24gLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTJweCAxOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB1bnNldDsgfVxuXG4ucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUsXG4ucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcge1xuICBmbG9hdDogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1zaXplLnRyYWlsZXItdGlsZS1pbmZvLFxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcudHJhaWxlci10aWxlLWluZm8ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUudHJhaWxlci10aWxlLWluZm8gLmF0dHJpYnV0ZSxcbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcudHJhaWxlci10aWxlLWluZm8gLmF0dHJpYnV0ZSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZS50cmFpbGVyLXByaWNpbmcsXG4gIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZy50cmFpbGVyLXByaWNpbmcge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7IH1cbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUudHJhaWxlci1wcmljaW5nIC5wcmljZS1sYWJlbCxcbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcudHJhaWxlci1wcmljaW5nIC5wcmljZS1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZSAuYXR0cmlidXRlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUgLmF0dHItY29sdW1uIC5hdHRyaWJ1dGUge1xuICBtYXJnaW46IDAgMCA1cHg7IH1cblxuLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07IH1cbiAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXNhbGVzIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDJweCAwIDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgICAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucmViYXRlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5wcm9kdWN0LXRpbGUgLnNpemUtbGFiZWwsXG4ucHJvZHVjdC10aWxlIC5wcmljZS1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjN2E3YzgwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA2NSU7IH1cblxuLm1haW5OYXZMaXZlQ2hhdENUQS5vcGVuTGl2ZUNoYXRCdXR0b24ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJvdHRvbTogY2FsYygzMCUgLSAxN3B4KTtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAwLjg3NXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgei1pbmRleDogOTk5OyB9XG4gIC5tYWluTmF2TGl2ZUNoYXRDVEEub3BlbkxpdmVDaGF0QnV0dG9uLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAubWFpbk5hdkxpdmVDaGF0Q1RBLm9wZW5MaXZlQ2hhdEJ1dHRvbiBzcGFuIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207IH1cblxuLmhlYWRlci1uYXYubW9iaWxlLWNoYXQtYnRuIHtcbiAgaGVpZ2h0OiAwOyB9XG4gIC5oZWFkZXItbmF2Lm1vYmlsZS1jaGF0LWJ0biAuaGVhZGVyQ2FydFdyYXBwZXIsXG4gIC5oZWFkZXItbmF2Lm1vYmlsZS1jaGF0LWJ0biAuaGVhZGVyU2VhcmNoV3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3BlbkxpdmVDaGF0QnV0dG9uLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5jc2MtYWdlbnRtZXNzYWdlIHtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gIG1hcmdpbi10b3A6IDEuMzEyNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmFjY29yZGlvbiAudG9nZ2xlLWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhO1xuICAgIHBhZGRpbmc6IDEuNDM3NXJlbSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gLml0ZW0tY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgICAuYWNjb3JkaW9uIC50b2dnbGUtaXRlbSBzdW1tYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDsgfVxuICAgIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gLml0ZW0tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgfiBzdW1tYXJ5OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIrXCI7IH1cbiAgICAuYWNjb3JkaW9uIC50b2dnbGUtaXRlbSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gfiBzdW1tYXJ5OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCItXCI7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjbWFpbixcbi5wdF9wcm9kdWN0LXNlYXJjaC1ub3Jlc3VsdCAjbWFpbixcbi5wdF9wcm9kdWN0LWNvbXBhcmUgI21haW4sXG4ucHRfcHJvZHVjdC1kZXRhaWxzICNtYWluLFxuLnB0X2NhcnQgI21haW4sXG4ucHRfY2hlY2tvdXQgI21haW4sXG4ucHRfb3JkZXItY29uZmlybWF0aW9uICNtYWluIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgI21haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtcmVzb3VyY2UtY2VudGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG5cbi5wdF9hY2NvdW50IC5yZXNldC1wYXNzd29yZC1wYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cblxuaW5wdXQ6Oi1tcy1jbGVhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3NlbGVjdC1pY29uLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9zZWxlY3QtaWNvbi5wbmdcIik7IH0gfVxuXG4uc29ydC1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXJlbSBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMzVweCAwIDEwcHg7IH1cblxubGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMC41cmVtOyB9XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiBub25lOyB9XG5cbi5kaWFsb2ctcmVxdWlyZWQge1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ucmVxdWlyZWQtaW5kaWNhdG9yIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuaW5wdXQuZXJyb3IsXG5zZWxlY3QuZXJyb3IsXG50ZXh0YXJlYS5lcnJvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7IH1cblxuc3Bhbi5lcnJvcixcbi5lcnJvci1tZXNzYWdlLFxuLmNvdXBvbkVycm9yLFxuLm5hbWUtbGVuZ3RoLWVycm9yIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbG9yOiAjZjAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDdweCAwIDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5lcnJvci1mb3JtIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cblxuLmZvcm0tcm93IHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAuZm9ybS1yb3c6OmJlZm9yZSwgLmZvcm0tcm93OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5mb3JtLXJvdzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5mb3JtLWNhcHRpb24uZXJyb3ItbWVzc2FnZSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNoZWNrYm94LWZvcm0sXG4ucmFkaW8tZm9ybSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNoZWNrYm94LWZvcm0gLmZpZWxkLXdyYXBwZXIsXG4gIC5yYWRpby1mb3JtIC5maWVsZC13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNoZWNrYm94LWZvcm0gLmZpZWxkLXdyYXBwZXIgKyBsYWJlbCxcbiAgICAucmFkaW8tZm9ybSAuZmllbGQtd3JhcHBlciArIGxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgLmNoZWNrYm94LWZvcm0gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIC5yYWRpby1mb3JtIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgbWFyZ2luOiAycHggMC4zMTI1cmVtIDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLmNoZWNrYm94LWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzLFxuICAgIC5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbiAgICAucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMsXG4gICAgLnJhZGlvLWZvcm0gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmNoZWNrYm94LWZvcm0gLmlucHV0LWN1c3RvbSxcbiAgLnJhZGlvLWZvcm0gLmlucHV0LWN1c3RvbSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICB6LWluZGV4OiAxOyB9XG5cbi5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgLmlucHV0LWN1c3RvbSB7XG4gIGJvcmRlci1jb2xvcjogIzAwMDsgfVxuICAuY2hlY2tib3gtZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjAwY1wiOyB9XG5cbi5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmRpc2FibGVkICsgLmlucHV0LWN1c3RvbSB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5jaGVja2JveC1mb3JtIC5pbnB1dC1jdXN0b20ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7IH1cbiAgLmNoZWNrYm94LWZvcm0gLmlucHV0LWN1c3RvbTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uY2hlY2tib3gtZm9ybSAuaW5wdXQtY3VzdG9tLFxuLmNoZWNrYm94LWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgaGVpZ2h0OiAxN3B4O1xuICB3aWR0aDogMTdweDsgfVxuXG4ucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cblxuLnJhZGlvLWZvcm0gLmlucHV0LWN1c3RvbSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkOWQ5ZDk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG5cbi5yYWRpby1mb3JtIC5pbnB1dC1jdXN0b20sXG4ucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4OyB9XG5cbi5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgLmlucHV0LWN1c3RvbSxcbi5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cbiAgLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnNsaWNrLXNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNsaWNrLWxpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNsaWNrLWxpc3QgLmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1saXN0OmZvY3VzLFxuLnNsaWNrLWFycm93OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zbGljay10cmFjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDsgfVxuICAuc2xpY2stdHJhY2s6OmJlZm9yZSwgLnNsaWNrLXRyYWNrOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4OyB9XG4gIC5zbGljay1zbGlkZSBpbWcuc2xpY2stbG9hZGluZyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5yZXZlYWwge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5wYWMtY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMjBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFjLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTIycHg7IH0gfVxuICAucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0ge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgICAucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0gLnBhYy1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFjLWNvbnRhaW5lciAucGFjLWl0ZW06aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5wYWMtY29udGFpbmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYm90dG9tLXNwYWNlZC1jb2x1bXMgPiBkaXYuY29sdW1ucyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmJsb2ctY2FyZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teDogNTAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAzMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bzsgfVxuICAuYmxvZy1jYXJkIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ibG9nLWNhcmQgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIgLmJsb2ctY2FyZC1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDIxcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuYmxvZy1jYXJkIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIC5ibG9nLWNhcmQtaW5mbyBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5ibG9nLWNhcmQgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIgLmJsb2ctY2FyZC1pbmZvIGg0IHtcbiAgICAgICAgICBoZWlnaHQ6IDQuMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgICAuYmxvZy1jYXJkIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIC5ibG9nLWNhcmQtaW5mbyAudGlueS1oZWFkaW5ncyB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICAgLmJsb2ctY2FyZCAuYmxvZy1jYXJkLWluZm8td3JhcHBlciAuYmxvZy1jYXJkLWluZm8gLnRpbnktaGVhZGluZ3Mge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmJsb2ctY2FyZCAuYmxvZy1jYXJkLWluZm8td3JhcHBlciAuYmxvZy1jYXJkLWN0YSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAyMXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmJsb2ctY2FyZC13cmFwcGVyIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBib3R0b206IDA7IH1cbiAgICAuYmxvZy1jYXJkLXdyYXBwZXIgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIgLmJsb2ctY2FyZC1jdGEge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJsb2ctY2FyZC13cmFwcGVyIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBib3R0b206IC00NXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgLmJsb2ctY2FyZC13cmFwcGVyOmhvdmVyIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBib3R0b206IDA7IH0gfVxuXG4uaGVsbG8tYmFyIHtcbiAgYmFja2dyb3VuZDogIzI2MjYyNjtcbiAgY29sb3I6ICNmZmY7XG4gIG1pbi1oZWlnaHQ6IDMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDEwcHggNDVweCAxMHB4IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaGVsbG8tYmFyIHtcbiAgICAgIGhlaWdodDogNDBweDsgfSB9XG4gIC5oZWxsby1iYXIgcCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmhlbGxvLWJhciBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5oZWxsby1iYXIgYTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmhlbGxvLWJhciAuZmEtdGltZXMge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAyM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhlbGxvLWJhciAuZmEtdGltZXMge1xuICAgICAgICB0b3A6IDUwJTsgfSB9XG5cbi5jdXN0b20tbWVudS1vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDM7IH1cblxuLmhlYWRlci1iYW5uZXIsXG4uaGVhZGVyLW5hdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDsgfVxuXG4uaGVhZGVyLW5hdiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDsgfVxuICAuaGVhZGVyLW5hdiBhIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5oZWFkZXItbmF2IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmhlYWRlci1uYXYgLm1haW5OYXZBY3Rpb25zV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgLmhlYWRlci1uYXYgI2hlYWRlck5hdkxvY2F0aW9uQ1RBIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5oZWFkZXItbmF2ICNoZWFkZXJOYXZMb2NhdGlvbkNUQSBzcGFuIHtcbiAgICAgIGJvdHRvbTogM3B4O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMjBweDsgfVxuICAgIC5oZWFkZXItbmF2ICNoZWFkZXJOYXZMb2NhdGlvbkNUQTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLmhlYWRlci1uYXYgI2hlYWRlck5hdkxvY2F0aW9uQ1RBOmhvdmVyIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxudWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyxcbnVsI2hlYWRlck5hdkFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7IH1cbiAgdWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyBsaSxcbiAgdWwjaGVhZGVyTmF2QWN0aW9ucyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyB9XG4gICAgdWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyBsaTpmaXJzdC1jaGlsZCxcbiAgICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWluLXdpZHRoOiA2OHB4OyB9XG4gIHVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyLFxuICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICB1bC5oZWFkZXJOYXZFeHRlcm5hbExpbmtzIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlcixcbiAgICAgIHVsI2hlYWRlck5hdkFjdGlvbnMgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9IH1cbiAgICB1bC5oZWFkZXJOYXZFeHRlcm5hbExpbmtzIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlciBpLmljb24tbG9jYXRpb24sXG4gICAgdWwjaGVhZGVyTmF2QWN0aW9ucyBsaS5oZWFkZXJOYXZMb2NhdGlvbldyYXBwZXIgaS5pY29uLWxvY2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIHVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyLmFjdGl2ZSxcbiAgICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlci5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmUwZTA7IH1cbiAgICAgIHVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyLmFjdGl2ZSBpLmljb24tbG9jYXRpb24sXG4gICAgICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlci5hY3RpdmUgaS5pY29uLWxvY2F0aW9uIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNtYWluTmF2V3JhcHBlciB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyLWxlZnQsXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhci1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogNDBweDsgfSB9XG5cbiNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiB7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiA+IGxpIGEubDFNZW51SXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI21haW5OYXZXcmFwcGVyICNtYWluTmF2ID4gbGkuaXMtYWN0aXZlIGEubDFNZW51SXRlbSB7XG4gICAgICAgIGNvbG9yOiAjYzc1MzAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI21haW5OYXZXcmFwcGVyICNtYWluTmF2IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiA+IGxpW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIGEubDFNZW51SXRlbSB7XG4gICAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgICAjbWFpbk5hdldyYXBwZXIgI21haW5OYXYgPiBsaSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgI21haW5OYXZXcmFwcGVyICNtYWluTmF2IC5kcm9wZG93bi1wYW5lIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4jbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSxcbiNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpOjphZnRlcixcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaTpob3ZlcixcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSB1bCxcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgbGksXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpIGxpIGEsXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSB1bCxcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIGxpLFxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGEgbGkgYSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhLFxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgLm1vYmlsZS1tZW51LWl0ZW0tbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIHNwYW4sXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgLm1vYmlsZS1tZW51LWl0ZW0tbGluayBzcGFuIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZmNjkwMDtcbiAgICAgIHBhZGRpbmc6IDAgMTlweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGEgc3BhbixcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSAubW9iaWxlLW1lbnUtaXRlbS1saW5rIHNwYW4ge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIHNwYW4sXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpIC5tb2JpbGUtbWVudS1pdGVtLWxpbmsgc3BhbiB7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4MDgyODU7IH1cbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkuaXMtc3VibWVudS1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSBhIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDY3cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgYS5tb2JpbGUtc3VibWVudS10cmlnZ2VyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpLmpzLWRyaWxsZG93bi1iYWNrID4gYSB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogNjdweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIG1hcmdpbi10b3A6IC01cHg7IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIHtcbiAgcGFkZGluZzogMTBweCAwIDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIHVsLFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBsaSB7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBoMSxcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDIsXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGgzLFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBoNCxcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDUsXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGg2IHtcbiAgICAgIHBhZGRpbmc6IDIzcHggNDVweCAwOyB9XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGxpLFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBsaSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgbGkge1xuICAgICAgcGFkZGluZzogMCA0NXB4OyB9IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpOmZpcnN0LWNoaWxkIGEgc3BhbiB7XG4gIGJvcmRlcjogMDsgfVxuXG4jbWFpbk5hdldyYXBwZXIgLm1vYmlsZS1zdWJtZW51LXRyaWdnZXIge1xuICBoZWlnaHQ6IDY3cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI21haW5OYXZXcmFwcGVyIHVsI21haW5OYXYgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDUge1xuICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjbWFpbk5hdldyYXBwZXIgdWwjbWFpbk5hdiAubW9iaWxlLW1lbnUtd3JhcHBlciBoNSBhIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbiNtYWluTmF2V3JhcHBlciAudG9wLWJhci1yaWdodCB1bCNtYWluTmF2IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHotaW5kZXg6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhci1yaWdodCB1bCNtYWluTmF2IHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAjbWFpbk1lbnVXcmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfSB9XG5cbnVsLm1haW5OYXZBY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDIxM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgdWwubWFpbk5hdkFjdGlvbnMge1xuICAgICAgbWluLXdpZHRoOiBhdXRvOyB9IH1cbiAgdWwubWFpbk5hdkFjdGlvbnMgPiBsaSB7XG4gICAgcGFkZGluZzogMCA4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODIuNDM3NWVtKSB7XG4gICAgICB1bC5tYWluTmF2QWN0aW9ucyA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMCAzcHg7IH0gfVxuICAgIHVsLm1haW5OYXZBY3Rpb25zID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIHVsLm1haW5OYXZBY3Rpb25zIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIHVsLm1haW5OYXZBY3Rpb25zIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgICB1bC5tYWluTmF2QWN0aW9ucyBhIGkge1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgdWwubWFpbk5hdkFjdGlvbnMgYSBpOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gIHVsLm1haW5OYXZBY3Rpb25zIGg1IGEge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgdWwubWFpbk5hdkFjdGlvbnMgLmhlYWRlci1jdGEtYnV0dG9uIC5idXR0b24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDgyLjQzNzVlbSkge1xuICAgICAgdWwubWFpbk5hdkFjdGlvbnMgLmhlYWRlci1jdGEtYnV0dG9uIC5idXR0b24ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cblxuLm1vYmlsZS1oZWFkZXItY3RhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2JpbGUtaGVhZGVyLWN0YSAuYnV0dG9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgIHdpZHRoOiA4MCU7IH1cblxuLmhlYWRlci1tYWluLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDI4cHggMDtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuaGVhZGVyLW1haW4tbmF2IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuaGVhZGVyLW1haW4tbmF2OjphZnRlciB7XG4gICAgICAgIGhlaWdodDogMXB4OyB9IH1cbiAgLmhlYWRlci1tYWluLW5hdjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmhlYWRlci1tYWluLW5hdiAucm93LmF0cm9vdCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuaGVhZGVyLW1haW4tbmF2Lm5vLWpzIHtcbiAgICBoZWlnaHQ6IDYwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5oZWFkZXItbWFpbi1uYXYtc3RpY2tlZCAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiA5MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXItbWFpbi1uYXYtc3RpY2tlZCAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMTBweDsgfSB9XG5cbi5oZWFkZXItbG9nby1pbWFnZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA5MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMjVweDsgfSB9XG5cbiNsb2NhdGlvbkNoYW5nZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jbG9jYXRpb25DaGFuZ2VUcmlnZ2VyV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH1cblxuI2xvY2F0aW9uQ2hhbmdlRm9ybVdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuICB3aWR0aDogMDsgfVxuXG4jbG9jYXRpb25DaGFuZ2VJbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAwIDI1cHggMCAwOyB9XG4gICNsb2NhdGlvbkNoYW5nZUlucHV0OjotbXMtY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI2xvY2F0aW9uQ2hhbmdlRm9ybUNsb3NlIHtcbiAgY29sb3I6ICNkZmUwZTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI21vYmlsZU1lbnVMb2dvV3JhcHBlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAxOHB4IDAgMCAzMHB4OyB9XG5cbiNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMjFweDsgfVxuICAgICAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciB1bCBsaSBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzNnB4OyB9XG4gICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgbGkgYS5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbiB7XG4gICAgZmlsbDogIzAwMDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgICB3aWR0aDogNjBweDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciAubWVudS1pY29uIC5tb2JpbGVOYXYtc3ZnIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogNjBweDsgfVxuICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbiAubW9iaWxlTmF2LXJlY3Qge1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDsgfVxuICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbi5pcy1hY3RpdmUgLm1vYmlsZU5hdi1yZWN0OmZpcnN0LWNoaWxkIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQzZGVnKSB0cmFuc2xhdGUoMTFweCwgLTIxcHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDNkZWcpIHRyYW5zbGF0ZSgxMXB4LCAtMjFweCk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0M2RlZykgdHJhbnNsYXRlKDExcHgsIC0yMXB4KTsgfVxuICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbi5pcy1hY3RpdmUgLm1vYmlsZU5hdi1yZWN0Om50aC1jaGlsZCgyKSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciAubWVudS1pY29uLmlzLWFjdGl2ZSAubW9iaWxlTmF2LXJlY3Q6bGFzdC1jaGlsZCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtMzBweCwgMXB4KTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC0zMHB4LCAxcHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTMwcHgsIDFweCk7IH1cbiAgICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIC5tZW51LWljb246OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI21vYmlsZU5hdkFjdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgwODI4NTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4MDgyODU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDVweCAzMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAjbW9iaWxlTmF2QWN0aW9ucyBsaSBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNtb2JpbGVOYXZBY3Rpb25zIGxpIGEgc3BhbiB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICNtb2JpbGVOYXZBY3Rpb25zIGxpIGEuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICNtb2JpbGVOYXZBY3Rpb25zIGxpIGEjbW9iaWxlTG9jYXRpb25DaGFuZ2VGb3JtQ2xvc2Uge1xuICAgIGNvbG9yOiAjZGZlMGUwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNDVweDsgfVxuICAjbW9iaWxlTmF2QWN0aW9ucyAubW9iaWxlTmF2RXh0ZXJuYWxMaW5rcyB7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICBib3JkZXItdG9wOiAjYmViZWJlIDFweCBzb2xpZDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cblxuI21vYmlsZUxvY2F0aW9uQ2hhbmdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNtb2JpbGVMb2NhdGlvbkNoYW5nZUlucHV0IHtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgNDVweCAwIDE1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiNtb2JpbGVMb2NhdGlvbkNoYW5nZUZvcm1XcmFwcGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH1cblxuLm1pbmktY2FydC1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5taW5pLWNhcnQtbGluayAubWluaWNhcnQtcXVhbnRpdHkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogLTlweDtcbiAgICB3aWR0aDogMjRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLm1pbmktY2FydC1saW5rIC5taW5pY2FydC1xdWFudGl0eSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgdG9wOiA1cHg7IH0gfVxuICAgIC5taW5pLWNhcnQtbGluayAubWluaWNhcnQtcXVhbnRpdHkgLm1pbmljYXJ0LXF1YW50aXR5LWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMThweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWdhLW1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5OTk7IH1cbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgxLFxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDIsXG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMyxcbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0LFxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDUsXG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNiB7XG4gICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgxIGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgyIGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgzIGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0IGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg1IGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg2IGEge1xuICAgICAgICBjb2xvcjogI2M3NTMwMDsgfVxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMSBhOmhvdmVyLCAubWVnYS1tZW51IC5saW5rcy10eXBlIGgxOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMiBhOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMjpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDMgYTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDM6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0IGE6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0OmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNSBhOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDYgYTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDY6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzk5NDAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGxpLFxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgbGkgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBsaSB7XG4gICAgICBwYWRkaW5nOiA1cHggMDsgfVxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBsaSBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMSxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMixcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMyxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNCxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNSxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNiB7XG4gICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHg7IH1cbiAgICAgIC5tZWdhLW1lbnUgLmVkaXRvcmlhbC10eXBlIGgxOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDI6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMzpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmVkaXRvcmlhbC10eXBlIGg0OmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDU6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjOTk0MDAwOyB9XG4gICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSAuY29udGVudC1jdXN0b20tYnRuIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSAuY29udGVudC1jdXN0b20tYnRuOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWdhLW1lbnUgLm1lZ2Ege1xuICAgICAgYm94LXNoYWRvdzogMCAxM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgIGxlZnQ6IDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiAxODAwcHg7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICByaWdodDogMCUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5tZWdhLW1lbnUgLm1lZ2EgLnJvdyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH1cbiAgICAgIC5tZWdhLW1lbnUgLm1lZ2EgLmNvbHVtbnMge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICAgIHBhZGRpbmc6IDAgMzVweDsgfVxuICAgICAgICAubWVnYS1tZW51IC5tZWdhIC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5tZWdhLW1lbnUgLm1lZ2EgLmltYWdlLXR5cGUgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubWVnYS1tZW51IC5tZWdhIC5pbWFnZS10eXBlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1hY3RpdmUgYS5sMU1lbnVJdGVtOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0b3A6IDI0cHg7XG4gICAgd2lkdGg6IDFlbTsgfSB9XG5cbi5oZWFkZXItbWFpbi1uYXYgLmlzLWRyaWxsZG93biAubWVnYS1tZW51IHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmhlYWRlci1tYWluLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhlYWRlci1tYWluLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oZWFkZXItbWFpbi1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51IC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYxMDZcIjtcbiAgICB0cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogaW5pdGlhbDsgfSB9XG5cbiNtb2JpbGVTZWFyY2hXcmFwcGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OyB9XG4gICNtb2JpbGVTZWFyY2hXcmFwcGVyIC5oZWFkZXItc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNtb2JpbGVTZWFyY2hXcmFwcGVyLmFjdGl2ZSAuaGVhZGVyLXNlYXJjaCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGVhZGVyLXNlYXJjaCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuICAgIHdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oZWFkZXItc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgdG9wOiAtMXB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmhlYWRlci1zZWFyY2ggZmllbGRzZXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlci1zZWFyY2ggLnNlYWNoRm9ybUlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgIC5oZWFkZXItc2VhcmNoIC5zZWFjaEZvcm1JbnB1dCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDI1cHggMCAxNXB4OyB9XG4gICAgLmhlYWRlci1zZWFyY2ggLnNlYXJjaEZvcm1DbG9zZSB7XG4gICAgICBjb2xvcjogI2RmZTBlMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDA7IH0gfVxuXG4uaGVhZGVyU2VhcmNoV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmhlYWRlclNlYXJjaFdyYXBwZXIuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGZlMGUwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAtOHB4O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwOyB9IH1cbiAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUgLnNlYXJjaEZvcm1UcmlnZ2VyIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIC5oZWFkZXJTZWFyY2hXcmFwcGVyLmFjdGl2ZSAuc2VhcmNoRm9ybVRyaWdnZXIgaS5pY29uLXNlYXJjaDo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUgLnNlYXJjaEZvcm1DbG9zZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5oZWFkZXJTZWFyY2hXcmFwcGVyLmFjdGl2ZSAuaGVhZGVyLXNlYXJjaCB7XG4gICAgICAgIHdpZHRoOiAyMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhlYWRlclNlYXJjaFdyYXBwZXIuYWN0aXZlIC5oZWFkZXItc2VhcmNoIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfSB9XG4gIC5oZWFkZXJTZWFyY2hXcmFwcGVyIC5oZWFkZXItc2VhcmNoIC5zZWFyY2hGb3JtVHJpZ2dlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuc2VhcmNoRm9ybVRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5oZWFkZXJTZWFyY2hXcmFwcGVyIC5oZWFkZXItc2VhcmNoIGZpZWxkc2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhlYWRlclNlYXJjaFdyYXBwZXIgLnNlYWNoRm9ybUJ1dHRvbiB7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNXB4OyB9XG4gICAgLmhlYWRlclNlYXJjaFdyYXBwZXIgLnNlYWNoRm9ybUJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuc2VhY2hGb3JtSW5wdXQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMjVweCAwIDEwcHg7IH1cbiAgICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuc2VhY2hGb3JtSW5wdXQ6Oi1tcy1jbGVhciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXJTZWFyY2hXcmFwcGVyIC5zZWFyY2hGb3JtQ2xvc2Uge1xuICAgIGNvbG9yOiAjZGZlMGUwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG5cbi5zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDhweCAxNXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgcGFkZGluZzogMjBweCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNTg1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICAgICAgdG9wOiA2NHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICAgICAgdG9wOiA2N3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNlYXJjaC1zdWdnZXN0aW9ucyB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgdG9wOiA3MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAubW9iaWxlLXNlYXJjaCAuc2VhcmNoLXN1Z2dlc3Rpb25zIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuaGl0Z3JvdXAge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuZ2VuZXJhdGVkLWhpdGdyb3VwIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAuc2VhcmNoLXN1Z2dlc3Rpb25zIGg1IHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMgaDUucG9wdWxhci1zZWFyY2hlcyB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuZGlyZWN0LXBhZ2UtbGluayB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5zZWFyY2gtcHJvZHVjdC13cmFwcGVyIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCA0MHB4O1xuICAgIHdpZHRoOiAzNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuc2VhcmNoLXByb2R1Y3Qtd3JhcHBlciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuc2VhcmNoLXN1Z2dlc3Rpb24td3JhcHBlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCA0MHB4O1xuICAgIHdpZHRoOiAyNDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuc2VhcmNoLXN1Z2dlc3Rpb24td3JhcHBlciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNGQ0ZDQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLnNlYXJjaC1zdWdnZXN0aW9uLXdyYXBwZXIgYS5oaXQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLnByb2R1Y3Qtc3VnZ2VzdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5wcm9kdWN0LXN1Z2dlc3Rpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAucHJvZHVjdC1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5wcm9kdWN0LWxpbmsgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RmZTBlMDtcbiAgICAgIHdpZHRoOiA2MHB4OyB9XG4gICAgLnNlYXJjaC1zdWdnZXN0aW9ucyAucHJvZHVjdC1saW5rIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gICAgICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5wcm9kdWN0LWxpbmsgLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmZvb3Rlci1zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZvb3Rlci1zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5mb290ZXItc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZm9vdGVyLXNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDsgfVxuICAgICAgICAuZm9vdGVyLXNvY2lhbC1tZWRpYS13cmFwcGVyIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuZm9vdGVyLXNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLmZvb3Rlci1jb3B5LXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBtaW4taGVpZ2h0OiA5NnB4OyB9XG4gIC5mb290ZXItY29weS13cmFwcGVyIC5yb3cge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogOTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mb290ZXItY29weS13cmFwcGVyIC5yb3cge1xuICAgICAgICBoZWlnaHQ6IDk2cHg7IH0gfVxuXG4jZm9vdGVyTG9nb0NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byA4cHg7XG4gIG1heC13aWR0aDogMTA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2Zvb3RlckxvZ29Db250YWluZXIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTA4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgI2Zvb3RlckxvZ29Db250YWluZXIgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuI2Zvb3RlckNvcHlDb250YWluZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjZm9vdGVyQ29weUNvbnRhaW5lciB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjZm9vdGVyQ29weUNvbnRhaW5lciBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjZm9vdGVyQ29weUNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4jZm9vdGVyTGl2ZUNoYXRDVEEge1xuICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4uZm9vdGVyLXdyYXBwZXIge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYyO1xuICBwYWRkaW5nOiA1NXB4IDAgMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZm9vdGVyLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogNDVweCAwIDM1cHg7IH0gfVxuICAuZm9vdGVyLXdyYXBwZXIgLmZvb3Rlci1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbnVsLmZvb3Rlci1saW5rcyB7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgdWwuZm9vdGVyLWxpbmtzIHNwYW4ge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gIHVsLmZvb3Rlci1saW5rcyBhIHtcbiAgICBjb2xvcjogIzgwODI4NTsgfVxuICAgIHVsLmZvb3Rlci1saW5rcyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIHVsLmZvb3Rlci1saW5rcyBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICB1bC5mb290ZXItbGlua3MgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAgICAgdWwuZm9vdGVyLWxpbmtzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAgICAgdWwuZm9vdGVyLWxpbmtzIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICB1bC5mb290ZXItbGlua3MgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9IH1cblxuLnNob3ctc2VsZi1zZXJ2aWNlIC5zaG93LWVudHJ5LXBvaW50IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNob3ctZW50cnktcG9pbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb290ZXItZW1haWwtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIHBhZGRpbmc6IDM1cHggMDsgfVxuICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgZm9ybSBmaWVsZHNldCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIGZvcm0gZmllbGRzZXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5mb290ZXItZW1haWwtd3JhcHBlciBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAwIDAgMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgcGFkZGluZzogMCA3MHB4IDAgMDsgfSB9XG4gIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIsXG4gIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWxhYmVsLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyLFxuICAgICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIC5mb290ZXItZW1haWwtbGFiZWwtd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWxhYmVsLXdyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1sYWJlbC13cmFwcGVyIGxhYmVsIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIgaW5wdXQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIGJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIGJ1dHRvbiB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB3aWR0aDogNDBweDsgfVxuICAgICAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIgYnV0dG9uIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIHNwYW4uZXJyb3Ige1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0b3A6IC0xOHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIC5mb290ZXItZW1haWwtaW5wdXQtd3JhcHBlciBzcGFuLmVycm9yIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ubmV3c2xldHRlci1tZXNzYWdlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDsgfVxuICAubmV3c2xldHRlci1tZXNzYWdlIGkge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgLm5ld3NsZXR0ZXItbWVzc2FnZSBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuI3N1YnNjcmliZS1lbWFpbCB7XG4gIG1heC13aWR0aDogMzA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNzdWJzY3JpYmUtZW1haWwge1xuICAgICAgd2lkdGg6IDMxNXB4OyB9IH1cblxuI2hvbWVwYWdlQWxlcnRCYXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMCA1MHB4IDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNob21lcGFnZUFsZXJ0QmFyIGkuaWNvbi1hbGVydCB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIG1pbi13aWR0aDogNDJweDsgfVxuICAjaG9tZXBhZ2VBbGVydEJhciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMjVweCBhdXRvOyB9XG4gICNob21lcGFnZUFsZXJ0QmFyID4gZGl2IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtaW4taGVpZ2h0OiA4MHB4OyB9XG4gICNob21lcGFnZUFsZXJ0QmFyIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICNob21lcGFnZUFsZXJ0QmFyICNob21lcGFnZUFsZXJ0QmFyQ2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMzglOyB9XG5cbiNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1sZWZ0IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1sZWZ0IHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tbGVmdCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tbGVmdCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbiNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1yaWdodCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tcmlnaHQge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1yaWdodCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tcmlnaHQge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgcGFkZGluZzogMzZweCAzMnB4IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHtcbiAgICAgIHBhZGRpbmc6IDU1cHggMzJweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDkwcHggNjBweCAwOyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbiBoMiB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHAge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWF4LXdpZHRoOiA1NDBweDsgfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4gdWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHVsIHAge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4gbGk6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY29udGVudDogXCJcXDIwMjJcIjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuMWVtOyB9XG4gICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4gYS5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbi1pbWFnZS13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uLWltYWdlLXdyYXBwZXIge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uLWltYWdlLXdyYXBwZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uLWltYWdlLXdyYXBwZXIgYS5idXR0b24ge1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgfVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nOiA4NXB4IDMycHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCB7XG4gICAgICBwYWRkaW5nOiAxMDBweCAzMnB4IDkwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3Qge1xuICAgICAgcGFkZGluZzogODVweCA4MHB4OyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgaW1nLnJpZ2h0LWNvbHVtbi1maXJzdC1pY29ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBtYXgtd2lkdGg6IDIxNnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgaW1nLnJpZ2h0LWNvbHVtbi1maXJzdC1pY29ucyB7XG4gICAgICAgIG1heC13aWR0aDogMjI1cHg7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCBoMiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCBwIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgcCB7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kIHtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEge1xuICBwYWRkaW5nOiA0MHB4IDMycHggMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEge1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBmbGV4OiAxO1xuICAgICAgcGFkZGluZzogNjBweCAxMHB4IDQwcHggNzBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE5MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1hIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogOTAlOyB9IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWIge1xuICBwYWRkaW5nOiAwIDMycHggNDVweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1iIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgZmxleDogMTtcbiAgICAgIHBhZGRpbmc6IDc1cHggNDVweCA0NXB4IDA7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWIgaDIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWIgaDIge1xuICAgICAgICBmb250LXNpemU6IDM0cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1iIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH1cblxuLnJvdy5jb2xsYXBzZS1yb3cge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtYWxpZ24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cblxuLmhvcml6b250YWwtYWxpZ24ge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5pbmZvLXRpbGUtd3JhcHBlci1zcGFjZWFyb3VuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmluZm8tdGlsZS13cmFwcGVyLXNwYWNlYXJvdW5kIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuaW5mby10aWxlLXdyYXBwZXItc3BhY2Vhcm91bmQge1xuICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5pbmZvLXRpbGUtd3JhcHBlci1zcGFjZWFyb3VuZCB7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9IH1cblxuLmluZm8tdGlsZS13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmluZm8tdGlsZS13cmFwcGVyLmhvdmVyZWQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuaW5mby10aWxlLXdyYXBwZXIgPiBkaXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbi5ob21wYWdlLWluZm8tdGlsZSB7XG4gIGJvcmRlcjogMTBweCBzb2xpZCAjZjJmMmYyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHggMzhweCAxNXB4IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaG9tcGFnZS1pbmZvLXRpbGUge1xuICAgICAgcGFkZGluZzogOHB4IDIwcHggMTVweDsgfVxuICAgICAgLmhvbXBhZ2UtaW5mby10aWxlIGEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaG9tcGFnZS1pbmZvLXRpbGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSBwIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhvbXBhZ2UtaW5mby10aWxlIHAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuaG9tcGFnZS1pbmZvLXRpbGUgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBhIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSBpIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDYwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBpIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDsgfSB9XG4gICAgLmhvbXBhZ2UtaW5mby10aWxlIGk6OmJlZm9yZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSBoNCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5ob21wYWdlLWluZm8tdGlsZS5zaG93YnV0dG9uIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhvbXBhZ2UtaW5mby10aWxlIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaG9tcGFnZS1pbmZvLXRpbGUgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuaG9tcGFnZS1pbmZvLXRpbGUgLm1vYmlsZS1pbmZvLXRpbGUtQ1RBIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwOyB9XG5cbiNoZWFkbGluZXNXcmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE3OHB4IGF1dG87XG4gIHBhZGRpbmc6IDQuMjVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgI2hlYWRsaW5lc1dyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyNDFweCBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNoZWFkbGluZXNXcmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzE2cHggYXV0bztcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDA7IH0gfVxuICAjaGVhZGxpbmVzV3JhcHBlciAudGl0bGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNoZWFkbGluZXNXcmFwcGVyIC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICNoZWFkbGluZXNXcmFwcGVyIC5jdGEtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNoZWFkbGluZXNXcmFwcGVyIC5jdGEtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuICAgICNoZWFkbGluZXNXcmFwcGVyIC5jdGEtd3JhcHBlciAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAjaGVhZGxpbmVzV3JhcHBlciBoMi5zZWN0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDI2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjaGVhZGxpbmVzV3JhcHBlciBoMi5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH1cbiAgI2hlYWRsaW5lc1dyYXBwZXIgcC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjaGVhZGxpbmVzV3JhcHBlciBwLnNlY3Rpb24tc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLnJldmVhbC5yZXZlYWxuaW5lIHtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYm9yZGVyZWQtdG9wIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjI7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIC5yZXZlYWwtb3ZlcmxheS5zY3JvbGwtb3ZlcmxheSB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnJldmVhbC1vdmVybGF5LnNjcm9sbC1vdmVybGF5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9IH1cblxuLmVycm9yLXBhZ2UtY29udGFpbmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5mdWxsYmxlZWQsIC5lcnJvci1wYWdlLWNvbnRhaW5lciAuZm9vdGVyLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5yb3cge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiA0LjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5yb3cge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIuNXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEyLjg3NXJlbTsgfSB9XG4gIC5lcnJvci1wYWdlLWNvbnRhaW5lciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICBsaW5lLWhlaWdodDogMS4wNDM1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS40Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZXJyb3ItcGFnZS1jb250YWluZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDQuMDYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44MTI1cmVtOyB9IH1cbiAgLmVycm9yLXBhZ2UtY29udGFpbmVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZXJyb3ItcGFnZS1jb250YWluZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIC5lcnJvci1wYWdlLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gICAgcGFkZGluZzogMTBweCAyOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDAgMDsgfSB9XG4gICAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmJyb3dzZXItZXJyb3Ige1xuICBjb2xvcjogI2VjNTg0MDtcbiAgbWFyZ2luLWJvdHRvbTogLTEuMjVyZW07XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG5cbi5wcml2YWN5cG9saWN5LXdyYXBwZXIge1xuICBwYWRkaW5nOiA1MHB4IDAgMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wcml2YWN5cG9saWN5LXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgLnByaXZhY3lwb2xpY3ktdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciAucHJpdmFjeXBvbGljeS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgaDQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciB1bCBsaSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciB1bCBsaSBzcGFuIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLm1vZGFsIHAsXG4ubW9kYWwgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubW9kYWwgcCB7XG4gIGZvbnQtZmFtaWx5OiBcImdvdGhhbVwiLCBBcmlhbDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tb2RhbCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjlweDsgfSB9XG5cbi5tb2RhbCAudGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIwcHggMCAyMHB4IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tb2RhbCAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBwYWRkaW5nOiAyMnB4IDAgMjJweCAzMHB4OyB9IH1cblxuLm1vZGFsIC5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5tb2RhbC5yZXZlYWwge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1vZGFsIC5jbG9zZS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZy1yaWdodDogMThweDtcbiAgcG9zaXRpb246IHVuc2V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyN3B4OyB9IH1cblxuLmdkcHItaW5mby1iYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGxlZnQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTA7IH1cbiAgLmdkcHItaW5mby1iYXIgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5nZHByLWluZm8tYmFyIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OyB9IH1cbiAgLmdkcHItaW5mby1iYXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmdkcHItaW5mby1iYXIgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5nZHByLWluZm8tYmFyIC5nZHByLWluZm8tZmxleCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLmdkcHItaW5mby1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcmRlci1zdW1tYXJ5LXByb2R1Y3RzLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaWNvbi1jYWxlbmRhci1pY29uLFxuLmljb24tcHJpbnQge1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB9XG5cbiNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIHtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1heC1oZWlnaHQ6IDY1dmg7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIHdpZHRoOiA3NTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgbWFyZ2luOiA1JTtcbiAgICAgIG1pbi1oZWlnaHQ6IDc1dmg7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogOTAlOyB9IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgKiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDsgfVxuICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAucHJvdmluY2UtbW9kYWwtY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAubWVzc2FnZS1jbG9zZS1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgLnRpdGxlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAudGl0bGUtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAuY29udGVudC1zZWN0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIC5jb250ZW50LXNlY3Rpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgaDQge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDsgfSB9XG4gICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSBpbWcge1xuICAgICAgICBtYXJnaW46IDMwcHggMDsgfSB9XG4gICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X3BzcmVzdWx0cyAuaGVhZGVyLW1haW4tbmF2OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnB0X3BzcmVzdWx0cyAuc2VsLWluZm8td3JhcHBlciAuc21hbGwtMTIuY29sdW1ucy5wc3Jlc3VsdHMtdGl0bGUtYm9yZGVyIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuc3Bhbi5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmY2OTAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6ICMwMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogMjJweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICB3aWR0aDogMjJweDsgfVxuICBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZS5xdWVzdGlvbm1hcmstd2hpdGUge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbiNHU1BOb1Jlc3VsdHMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNwc21vZGFsLFxuI3doZWVsLXR5cGUtbW9kYWwge1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAjcHNtb2RhbCAuY2xvc2UtYnV0dG9uLFxuICAjd2hlZWwtdHlwZS1tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICB0b3A6IDE1cHg7XG4gICAgei1pbmRleDogOTk7IH1cbiAgI3BzbW9kYWwgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLFxuICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSxcbiAgI3doZWVsLXR5cGUtbW9kYWwgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLFxuICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSxcbiAgI3doZWVsLXR5cGUtbW9kYWwgLnByb2R1Y3RTZWxlY3RvciAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZS50cmFpbGVyLXRpcmUtaGludCxcbiAgICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZS50cmFpbGVyLXRpcmUtaGludCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yIC5zdGVwLmN1cnJlbnQgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlLFxuICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yIC5zdGVwLmN1cnJlbnQgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNwc21vZGFsIC5wcm9kdWN0U2VsZWN0b3IgLnN0ZXAuY3VycmVudCAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUudHJhaWxlci10aXJlLWhpbnQsXG4gICAgI3doZWVsLXR5cGUtbW9kYWwgLnByb2R1Y3RTZWxlY3RvciAuc3RlcC5jdXJyZW50IC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZS50cmFpbGVyLXRpcmUtaGludCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV92ZWhpY2xlXCJdLCAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfdmVoaWNsZVwiXSxcbiAgICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV92ZWhpY2xlXCJdLFxuICAgICN3aGVlbC10eXBlLW1vZGFsIC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF92ZWhpY2xlXCJdIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICAjcHNtb2RhbCAuc2VsZWN0b3IsXG4gICN3aGVlbC10eXBlLW1vZGFsIC5zZWxlY3RvciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3BzbW9kYWwgLnNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEsXG4gICAgICAjcHNtb2RhbCAuc2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLFxuICAgICAgI3doZWVsLXR5cGUtbW9kYWwgLnNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEsXG4gICAgICAjd2hlZWwtdHlwZS1tb2RhbCAuc2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5tb2RhbC1jb250ZW50ICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLm1vZGFsLWNvbnRlbnQgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5tb2RhbC1jb250ZW50ICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tb2RhbC1jb250ZW50ICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3RvciB7XG4gICAgcGFkZGluZzogMzBweDsgfVxuICAubW9kYWwtY29udGVudCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmZpbmRUaXJlU2l6ZU1vZGFsSGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA3MnB4O1xuICBtaW4taGVpZ2h0OiA3MnB4O1xuICBwYWRkaW5nOiAwIDYwcHggMCAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZpbmRUaXJlU2l6ZU1vZGFsSGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyNXB4O1xuICAgIHRvcDogMDsgfVxuICAuZmluZFRpcmVTaXplTW9kYWxIZWFkZXIgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuZmluZFRpcmVTaXplTW9kYWxIZWFkZXIgaDIgc3Bhbi5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgd2lkdGg6IDMycHg7IH1cblxuLmZpbmRUaXJlU2l6ZU1vZGFsQ29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHg7IH1cbiAgLmZpbmRUaXJlU2l6ZU1vZGFsQ29udGVudCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLmZpbmRUaXJlU2l6ZU1vZGFsQ29udGVudCBwIHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnB0X3N0b3JlZnJvbnQgLmhlYWRlci1tYWluLW5hdixcbiAgLnB0X3N0b3JlZnJvbnQgLmluZm8tdGlsZS13cmFwcGVyLFxuICAucHRfc3RvcmVmcm9udCAuaW5mby10aWxlLXdyYXBwZXItc3BhY2Vhcm91bmQsXG4gIC5wdF9zdG9yZWZyb250IC5mb290ZXItd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlcixcbiNuZXdTZWFyY2hNb2RhbCB7XG4gIHBhZGRpbmc6IDM1cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgI1BTT3ZlcmxheSxcbiAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgI1BTT3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyxcbiAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnM6OmJlZm9yZSwgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnM6OmFmdGVyLFxuICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnM6OmJlZm9yZSxcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzOjphZnRlcixcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyAubWFpbi1zZWxlY3Rvci10YWIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyAubWFpbi1zZWxlY3Rvci10YWIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAucHMtcmlnaHQsXG4gICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5wcy1yaWdodCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5wcy1yaWdodCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAucHMtcmlnaHQgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5zZWxlY3Rvci5hY3RpdmUsXG4gICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5zZWxlY3Rvci5hY3RpdmUge1xuICAgICAgbWluLWhlaWdodDogMzE2cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLFxuICAgICNuZXdTZWFyY2hNb2RhbCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgcGFkZGluZzogMTgwcHggMDsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5wcy1sZWZ0LFxuICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5wcy1sZWZ0IHtcbiAgICAgICAgbGVmdDogLTUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLnBzLXJpZ2h0LFxuICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5wcy1yaWdodCB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5wcy1yaWdodCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCxcbiAgICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5wcy1yaWdodCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3NTBweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQsXG4gICNuZXdTZWFyY2hNb2RhbCAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5wcm9kdWN0LXdyYXBwZXItYmFja2dyb3VuZCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5wcm9kdWN0LXdyYXBwZXItYmFja2dyb3VuZCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgei1pbmRleDogLTE7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmluc2lkZVNlbGVjdG9yID4gYTo6YWZ0ZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAuaW5zaWRlU2VsZWN0b3IgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYwMGRcIjtcbiAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5tYWluLXNlbGVjdG9yLXRhYixcbiAgI25ld1NlYXJjaE1vZGFsIC5tYWluLXNlbGVjdG9yLXRhYiB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5tYWluLXNlbGVjdG9yLXRhYi5hY3RpdmUsXG4gICAgI25ld1NlYXJjaE1vZGFsIC5tYWluLXNlbGVjdG9yLXRhYi5hY3RpdmUge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLm1haW4tc2VsZWN0b3ItdGFiLmFjdGl2ZSBhLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5tYWluLXNlbGVjdG9yLXRhYi5hY3RpdmUgYSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnMsXG4gICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLm5vLXRhYnMsXG4gICNuZXdTZWFyY2hNb2RhbC5uby10YWJzIHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIubm8tdGFicyxcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5uby10YWJzIHtcbiAgICAgICAgcGFkZGluZzogNzBweCAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIubm8tdGFicyxcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5uby10YWJzIHtcbiAgICAgICAgcGFkZGluZzogOTBweCAwOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIubm8tdGFicyAubWFpbi1zZWxlY3Rvci10YWJzLFxuICAgICNuZXdTZWFyY2hNb2RhbC5uby10YWJzIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLm5vLXRhYnMgLm1haW4tc2VsZWN0b3ItdGFicyxcbiAgICAgICAgI25ld1NlYXJjaE1vZGFsLm5vLXRhYnMgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLm5vLXRhYnMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEsXG4gICAgI25ld1NlYXJjaE1vZGFsLm5vLXRhYnMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5uby10YWJzLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnMsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwubm8tdGFicy5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuYWRkLXJlYXItc2l6ZSxcbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIsXG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAubG9va2luZy1mb3Itb3RoZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAuYWRkLXJlYXItc2l6ZSxcbiAgI25ld1NlYXJjaE1vZGFsIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmFkZC1yZWFyLXNpemUsXG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAubG9va2luZy1mb3Itb3RoZXIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmFkZC1yZWFyLXNpemUsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBib3R0b206IC0yMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAubG9va2luZy1mb3Itb3RoZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmFkZC1yZWFyLXNpemUsXG4gICNuZXdTZWFyY2hNb2RhbCAuYWRkLXJlYXItc2l6ZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuYWRkLXJlYXItc2l6ZSBhLFxuICAgICNuZXdTZWFyY2hNb2RhbCAuYWRkLXJlYXItc2l6ZSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5hZGQtcmVhci1zaXplIGE6OmFmdGVyLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5hZGQtcmVhci1zaXplIGE6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAucm9vdGxldmVscHMsXG4gICAgI25ld1NlYXJjaE1vZGFsIC5yb290bGV2ZWxwcyB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5vcmJpdC1jb250YWluZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAub3JiaXQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlLFxuICAgICNuZXdTZWFyY2hNb2RhbCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZSB7XG4gICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZSxcbiAgICAgICAgI25ld1NlYXJjaE1vZGFsIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZS5pcy1hY3RpdmUsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGUuaXMtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5wYWdlZGlyZWN0LFxuICAgICNuZXdTZWFyY2hNb2RhbCAucGFnZWRpcmVjdCB7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5wYWdlZGlyZWN0IGkuaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnBhZ2VkaXJlY3QgaS5pY29uLWFuZ2xlLWxlZnQ6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zLFxuICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnM6OmJlZm9yZSwgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zOjphZnRlcixcbiAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnM6OmJlZm9yZSxcbiAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnM6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zOjphZnRlcixcbiAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnM6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyxcbiAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHM6OmJlZm9yZSwgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0czo6YWZ0ZXIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzOjpiZWZvcmUsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHM6OmFmdGVyLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0czo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLFxuICAgICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtMSAucmVzdWx0c0NvbCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy0xIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy0yIC5yZXN1bHRzQ29sLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTIgLnJlc3VsdHNDb2wge1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtMyAucmVzdWx0c0NvbCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy0zIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgd2lkdGg6IDMzLjMlOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtNCAucmVzdWx0c0NvbCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy00IC5yZXN1bHRzQ29sIHtcbiAgICAgICAgd2lkdGg6IDI1JTsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTUgLnJlc3VsdHNDb2wsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtNSAucmVzdWx0c0NvbCB7XG4gICAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2wsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2YyZjJmMjtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDZweDsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIC5yZXN1bHRzQ29sOmxhc3QtY2hpbGQsXG4gICAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2w6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2wgYSxcbiAgICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyAucmVzdWx0c0NvbCBhIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgICAgcGFkZGluZzogMnB4IDZweDsgfVxuICAgICAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2wgYTpob3ZlcixcbiAgICAgICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIC5yZXN1bHRzQ29sIGE6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICAgICAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciA+IC5yb3csXG4gICNuZXdTZWFyY2hNb2RhbCA+IC5yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIGgzIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4wNjI1cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgcGFkZGluZzogNXB4IDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyNXB4IDIwcHggMjBweCAwO1xuICAgIG1pbi1oZWlnaHQ6IDE4MnB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4IDhweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDI1cHggMCAyMHB4OyB9XG4gICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uOmhvdmVyIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNmZjY5MDA7IH1cbiAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb24gaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbiBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4td2lkdGg6IDUwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCAxMHB4OyB9IH1cbiAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb24gaDMge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4wNjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb24gcCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiA2cHggNnB4IDE1cHggMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgbWFyZ2luOiAzcHggMCAwOyB9IH1cblxuLndoZWVsc0ZvcldpbnRlckNvbmRpdGlvbnNNb2RhbFRyaWdnZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyIHtcbiAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cblxuI1BTT3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTsgfVxuICAjUFNPdmVybGF5LnZpc2libGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4udHJhaWxlci1iYW5uZXItc2VsZWN0b3IgI1BTT3ZlcmxheSB7XG4gIHotaW5kZXg6IDA7IH1cblxuaDIubW9iaWxlLW1vZGFsLXRpdGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMwMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgaGVpZ2h0OiA2NHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4jcHNNb2JpbGVNb2RhbCxcbiNwc01vYmlsZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbjogMDsgfVxuICAjcHNNb2JpbGVNb2RhbCA+IGxpID4gYSxcbiAgI3BzTW9iaWxlID4gbGkgPiBhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHNNb2JpbGVNb2RhbCA+IGxpID4gYSxcbiAgICAgICNwc01vYmlsZSA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjcHNNb2JpbGVNb2RhbCA+IGxpLFxuICAjcHNNb2JpbGUgPiBsaSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHNNb2JpbGVNb2RhbCA+IGxpLFxuICAgICAgI3BzTW9iaWxlID4gbGkge1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAgICNwc01vYmlsZU1vZGFsID4gbGk6Zmlyc3QtY2hpbGQsXG4gICAgI3BzTW9iaWxlID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgI3BzTW9iaWxlTW9kYWwgPiBsaSBhLFxuICAgICNwc01vYmlsZSA+IGxpIGEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDIycHg7IH1cbiAgICAgICNwc01vYmlsZU1vZGFsID4gbGkgYS53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyLFxuICAgICAgI3BzTW9iaWxlID4gbGkgYS53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICNwc01vYmlsZU1vZGFsIC5tZW51Lm5lc3RlZCxcbiAgI3BzTW9iaWxlIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1sZWZ0IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvIDM1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDQ1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1sZWZ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLWxlZnQgaDIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDIuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiA0LjE4NzVyZW07IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1sZWZ0IHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1yaWdodCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LXdpZHRoOiA2MTBweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LmlucGFnZSAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5pbnBhZ2UgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5pbnBhZ2UgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuaW5wYWdlIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZS50cmFpbGVyLXRpcmUtaGludCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubWFpbi1zZWxlY3Rvci10YWJzIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3IuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItdGFiIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci10YWIgZGl2Om5vdCguc2VsZWN0b3ItZGVzY3JpcHRpb24pLFxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci10YWIgYnV0dG9uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLXRhYjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLXRhYjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNmZjY5MDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItaW1hZ2UgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB3aWR0aDogNTYlOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gaDMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubWFpbi1zZWxlY3Rvci10YWIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubWFpbi1zZWxlY3Rvci10YWI6Zmlyc3QtY2hpbGQge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLm1haW4tc2VsZWN0b3ItdGFiLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgaGVpZ2h0OiA0OHB4OyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubWFpbi1zZWxlY3Rvci10YWIuYWN0aXZlIGJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLm1haW4tc2VsZWN0b3ItdGFiIGJ1dHRvbiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLXRhYnMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5sb29raW5nLWZvci1vdGhlci10aXJlcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubG9va2luZy1mb3Itb3RoZXItdGlyZXMudHJhaWxlci1wYWdlLXJlZGlyZWN0IHtcbiAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5sb29raW5nLWZvci1vdGhlci10aXJlcy50cmFpbGVyLXBhZ2UtcmVkaXJlY3Qge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubG9va2luZy1mb3Itb3RoZXItdGlyZXMudHJhaWxlci1wYWdlLXJlZGlyZWN0IC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yLnN0YWdnZXJlZC1hY3RpdmVbZGF0YS1mcm9udHJlYXI9XCJmcm9udFwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3Iuc3RhZ2dlcmVkLWFjdGl2ZVtkYXRhLWZyb250cmVhcj1cInJlYXJcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIyMHB4OyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1jYXRlZ29yeWlkPVwidGlyZXNcIl0ge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvcltkYXRhLWNhdGVnb3J5aWQ9XCJ0aXJlc1wiXSAuYWRkLXJlYXItc2l6ZSxcbiAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtY2F0ZWdvcnlpZD1cInRpcmVzXCJdIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgYm90dG9tOiAtMTVweDsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3Rvci5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yIC5mcm9udC1yZWFyLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yLnN0YWdnZXJlZC1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3Iuc3RhZ2dlcmVkLWFjdGl2ZSAuZnJvbnQtcmVhci1tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX2Nsb3NlIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXI6OmJlZm9yZSwgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXI6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTJweDsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciBhIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyID4gZGl2IHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAgICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyID4gZGl2IGEge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciA+IGRpdjpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhci5zdGFnZ2VyZWQtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhci5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciA+IGRpdi5hY3RpdmUgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyLW1vYmlsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhci1tb2JpbGUgLnJlYXIge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSwgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuYWRkLXJlYXItc2l6ZS1jdGEubW9iaWxlLW9ubHkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmFkZC1yZWFyLXNpemUtY3RhLm1vYmlsZS1vbmx5IC5hZGQtcmVhci1zaXplIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuYWRkLXJlYXItc2l6ZS1jdGEubW9iaWxlLW9ubHkgLmFkZC1yZWFyLXNpemUgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmFkZC1yZWFyLXNpemUtY3RhLm1vYmlsZS1vbmx5IC5hZGQtcmVhci1zaXplIGE6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTBweDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWwoMTgpO1xuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUgYS53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCA2cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIGEud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSBhLnBhZ2VkaXJlY3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIC5yZXN1bHRzQ29sIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzOjpiZWZvcmUsICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXAge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC0ycHg7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcFtkYXRhLWN1cnJlbnQta2V5PVZFSElDTEVfTkFNRV0ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcC5jaG9zZW4gYSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXAgPiBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwID4gYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXAgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcDpmaXJzdC1jaGlsZCAuc3RlcGxpbmsge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkIC5zdGVwbGluayB7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5jdXJyZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5jdXJyZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuY3VycmVudCBhIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLmNob3NlbiBhIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLmNob3NlbiAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXBsaW5rIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwbGluayB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7IH0gfVxuXG4uaW5saW5lLXF1ZXN0aW9uLW1hcmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuICBtYXJnaW46IDAgMCAwIDEwcHg7IH1cbiAgLmlubGluZS1xdWVzdGlvbi1tYXJrIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubmV3c2VhcmNoLXRpcmVzZWxlY3Rpb24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAwIDI1cHggMCAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5wZHAtbWFpbiAucHNyZXN1bHRzLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMCAxMHB4OyB9IH1cblxuLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgcGFkZGluZzogNTBweCAwIDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHNyZXN1bHRzLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wc3Jlc3VsdHMtd3JhcHBlci5zbWFsbC10b3Age1xuICAgICAgcGFkZGluZzogMCAwIDEuODc1cmVtOyB9XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIuc21hbGwtdG9wIC5wc3Jlc3VsdHMtdGl0bGUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlci5zbWFsbC10b3AgaDIucHNyZXN1bHRzLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDA7IH0gfVxuICAucHNyZXN1bHRzLXdyYXBwZXIgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4OyB9IH1cbiAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWxlY3Rpb24taW5mb3JtYXRpb24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWxlY3Rpb24taW5mb3JtYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby13cmFwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby13cmFwIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgd2lkdGg6IDIxcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2UtY29sIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgei1pbmRleDogMTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZS1jb2wge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2Uge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogaW5pdGlhbDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIC5sb2FkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2UgLnBzLXJlc3VsdHMtaW1hZ2UtdGlwIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMThweDtcbiAgICAgIHRvcDogLThweDtcbiAgICAgIHdpZHRoOiAyMnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIC5wcy1yZXN1bHRzLWltYWdlLXRpcCB7XG4gICAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgICAgdG9wOiAwOyB9IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIC5wcy1yZXN1bHRzLWltYWdlLXRpcCBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7IH1cbiAgLnBzcmVzdWx0cy13cmFwcGVyIC5taW5pbWl6ZWQtdmVoaWNsZS12aXp1YWxpemVyIC5zZWwtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAubWluaW1pemVkLXZlaGljbGUtdml6dWFsaXplciAuc2VsLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5taW5pbWl6ZWQtdmVoaWNsZS12aXp1YWxpemVyIC5zZWwtdGl0bGUgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAubWluaW1pemVkLXZlaGljbGUtdml6dWFsaXplciAuc2VsLXRpdGxlIGEge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLm1pbmltaXplZC12ZWhpY2xlLXZpenVhbGl6ZXIgLnNlbC10aXRsZSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdy5sZWZ0LWFycm93OjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogMTJweCBzb2xpZCAjZmZmO1xuICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGVmdDogLTEycHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdy5sZWZ0LWFycm93OjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuaW5pdC1zZWxlY3RvciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5pbml0LXNlbGVjdG9yIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyOXB4OyB9IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuaW5mby1tb2RhbCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5pbmZvLW1vZGFsIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5sZWZ0LWluZm8ge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAubGVmdC1pbmZvIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyAuc2VsLXRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyAuc2VsLXRpdGxlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDU2cHg7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyAuc2VsLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5sZWZ0LWluZm8gLnNlbC10aXRsZS5ub21pbmhlaWdodCB7XG4gICAgICAgICAgbWluLWhlaWdodDogaW5pdGlhbDsgfVxuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAubGVmdC1pbmZvIC5zZWwtdGl0bGUgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyAuc2VsLXRpdGxlIGE6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuc2VsLXN1YnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbWFyZ2luOiA1cHggMCAwO1xuICAgICAgcGFkZGluZy1yaWdodDogNTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnNlbC1zdWJ0aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjcxODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNi41cHg7IH0gfVxuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnNlbC1zdWJ0aXRsZSBzdHJvbmcge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuc2VsLXN1YnRpdGxlIHNwYW4ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggZG90dGVkICNmZjY5MDA7IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5zZWwtc3VidGl0bGUgLnNlcGFyYXRvciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAucmlnaHQtaW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5yaWdodC1pbmZvID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnJpZ2h0LWluZm8gPiBkaXYge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2YyZjJmMjtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgI3Byb2R1Y3RHcmlkVXJsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLmxlZnQtaWNvbi13cmFwcGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW46IDA7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5sZWZ0LWljb24td3JhcHBlciBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC52Y2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiA2MHB4OyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy5wYWNrYWdlcyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGgge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoID4gaW1nIHtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMS4zcmVtOyB9IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDEwcHggc29saWQgI2U2ZTZlNjtcbiAgICBwYWRkaW5nOiA0MHB4IDIwcHggMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwIC5pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcCAuaW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAgLmd1aWRlZC1zZWN0aW9uLWhlYWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcCAuZ3VpZGVkLXNlY3Rpb24taGVhZCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAgLmFycm93IHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBib3R0b206IC0yMHB4O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHdpZHRoOiA0MHB4OyB9XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcC5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcC5hY3RpdmUgKyAudGlyZS10eXBlcyB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXA6aG92ZXIgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNmE1ODM7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aCBpbWcge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGggLmJ1dHRvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLm1pZC1saW5lLWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW46IDI1cHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC5taWQtbGluZS1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbjogNTBweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aXJlLXR5cGUtY29udGVudCAubWlkLWxpbmUtY29weSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkOjpiZWZvcmUsIC50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy1zZWN0aW9uLWhlYWQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlLXR5cGVzLXNlY3Rpb24taGVhZDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy1zZWN0aW9uLWhlYWQgaDMge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy1zZWN0aW9uLWhlYWQgaDMge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLmNhdGVnb3J5LWNvbHVtbi13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC5jYXQtdHlwZXMtY3RhIHtcbiAgbWFyZ2luLXRvcDogMzVweDsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLnJlc3VsdF9idG4ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnJlc3VsdF9idG4ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC50aXJlLXR5cGUtY29udGVudCAucmVzdWx0X2J0biBidXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnJlc3VsdF9idG4gLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQ6ICM4MDgyODU7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3gge1xuICBib3JkZXI6IDVweCBzb2xpZCAjZjJmMmYyO1xuICBib3JkZXItbGVmdC13aWR0aDogOHB4O1xuICBtYXJnaW46IDAgMCAxNXB4O1xuICBwYWRkaW5nOiAxNXB4IDcwcHggMTVweCAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94OmhvdmVyIHtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxM3B4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94OmhvdmVyIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICBsZWZ0OiAtMTNweDtcbiAgICAgICAgd2lkdGg6IDEzcHg7IH0gfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxlZnQ6IC0yMDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDA7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBoMyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggaDMge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggaDMge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggaDMgW2NsYXNzXj1cImljb24tXCJdIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtM3B4OyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggcCxcbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCAuaGFzLXRpcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IHAsXG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IC5oYXMtdGlwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBwIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDEycHg7IH0gfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IC5oYXMtdGlwIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggLmhhcy10aXA6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCAuZmEge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMDsgfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggLmZhOjpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2YyZjJmMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDVweDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICBsZWZ0OiAtOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC01cHg7XG4gICAgd2lkdGg6IDhweDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLWFsbC13ZWF0aGVyIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNiZjFhOGQ7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci13aW50ZXIgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogIzIwYzNmMzsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLTMtc2Vhc29uIC50aXJldHlwZS1pbmRpY2F0b3IsIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItYWxsLXNlYXNvbiAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmJiMTE2OyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItcGVyZm9ybWFuY2UgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogIzYzNTNhMzsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLXRvdXJpbmcgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogIzAwYTY1MTsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLW11ZC10ZXJyYWluIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICM0MjI4MDA7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci1zcG9ydC10cnVjayAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjOWVjZjdjOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItYWxsLXRlcnJhaW4gLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogIzdhNTIyNjsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLWNvbW1lcmNpYWwgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogI2E3YTlhYzsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLXVsdHJhLWhpZ2gtcGVyZm9ybWFuY2UgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogI2E0OTljYTsgfVxuXG4uc2VsZWN0b3JfY2hlY2tib3guc2VsZWN0ZWQgLmZhIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnNlbGVjdG9yX2NoZWNrYm94LnNlbGVjdGVkIC5mYTo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cblxuLnRvb2x0aXAub2VtLXRpcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1heC13aWR0aDogMjMwcHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwOyB9XG4gIC50b29sdGlwLm9lbS10aXA6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmNjkwMDsgfVxuICAudG9vbHRpcC5vZW0tdGlwIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAudG9vbHRpcC5vZW0tdGlwIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgLnRvb2x0aXAub2VtLXRpcC50b3A6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgfVxuICAudG9vbHRpcC5vZW0tdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmY2OTAwIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyB9XG4gIC50b29sdGlwLm9lbS10aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkOyB9XG4gIC50b29sdGlwLm9lbS10aXAubGVmdDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgfVxuXG4udG9vbHRpcC5jYXR0eXBlLXRpcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1heC13aWR0aDogMzgwcHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwOyB9XG4gIC50b29sdGlwLmNhdHR5cGUtdGlwOjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZjY5MDA7IH1cbiAgLnRvb2x0aXAuY2F0dHlwZS10aXAgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAudG9vbHRpcC5jYXR0eXBlLXRpcCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4OyB9XG4gICAgLnRvb2x0aXAuY2F0dHlwZS10aXAgcCBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXgtd2lkdGg6IDEzMHB4OyB9XG4gIC50b29sdGlwLmNhdHR5cGUtdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyB9XG4gIC50b29sdGlwLmNhdHR5cGUtdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmY2OTAwIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyB9XG4gIC50b29sdGlwLmNhdHR5cGUtdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDsgfVxuICAudG9vbHRpcC5jYXR0eXBlLXRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmY7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyB9XG5cbi50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG1heC13aWR0aDogMjQ2cHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAyNDZweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxNXB4OyB9XG4gIC50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmOyB9XG4gIC50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAycHg7IH1cbiAgLnRvb2x0aXAuZGlzYWJsZWQtZW1haWwtdGlwIC5vcmFuZ2UtcGhvbmUsXG4gIC50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcCAucGFsZS1ncmV5LXRleHQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnRvb2x0aXAuZGlzYWJsZWQtZW1haWwtdGlwIC5vcmFuZ2UtcGhvbmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICAudG9vbHRpcC5kaXNhYmxlZC1lbWFpbC10aXAgLnBhbGUtZ3JleS10ZXh0IHtcbiAgICBjb2xvcjogIzgwODI4NTsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3BBbnN3ZXIuc2VsZWN0ZWQge1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNmZjY5MDA7IH1cblxuLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIHtcbiAgcGFkZGluZzogNjBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogOTBweCAwOyB9IH1cbiAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgaDMge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciAucm93ID4gZGl2IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIC5yb3cgPiBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuI29lbWFya2luZ01vZGFsIHtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IDM4MHB4O1xuICBwYWRkaW5nOiAwOyB9XG4gICNvZW1hcmtpbmdNb2RhbCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNvZW1hcmtpbmdNb2RhbCBwIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICNvZW1hcmtpbmdNb2RhbCAub2VtYXJraW5nTW9kYWxDdGEge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDE1cHggMTVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4jZml0bWVudE1vZGFsIHtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IDM4MHB4O1xuICBwYWRkaW5nOiAwOyB9XG4gICNmaXRtZW50TW9kYWwgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogOXB4IDE1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjZml0bWVudE1vZGFsIHAge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgI2ZpdG1lbnRNb2RhbCAuZml0bWVudE1vZGFsQ3RhIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnJldmVhbC52Y2VudGVyIHtcbiAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCB7XG4gIG1heC13aWR0aDogNzc0cHg7IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2Utd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZS13cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hvaWNlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtaW4taGVpZ2h0OiAxODJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZSB7XG4gICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICB3aWR0aDogMzQ3cHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwcHg7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2U6aG92ZXIgLmNoZWNrLWljb24ge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZVtkYXRhLXZhbHVlPVwiWWVzXCJdIHtcbiAgICBvcmRlcjogMTsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZVtkYXRhLXZhbHVlPVwiTm9cIl0ge1xuICAgIG9yZGVyOiAyOyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hlY2staWNvbiB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkZWRlZGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgaGVpZ2h0OiAxOXB4O1xuICBtYXJnaW46IDEwcHggMTBweCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxOXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNoZWNrLWljb24ge1xuICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgbWFyZ2luOiAxNXB4IDE1cHggMDtcbiAgICAgIHdpZHRoOiAyN3B4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaGVjay1pY29uLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaGVjay1pY29uLnNlbGVjdGVkOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTZweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNoZWNrLWljb24uc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiAyNXB4OyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5wcm9kdWN0U2VsZWN0b3IgaDMge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAucHJvZHVjdFNlbGVjdG9yIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci10YWIge1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItdGFiIHtcbiAgICAgIHBhZGRpbmc6IDI4cHggMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1pbWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICBtaW4td2lkdGg6IDI1MHB4OyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDE4N3B4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gaDMge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiAuYnV0dG9uIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogMTM3cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIC5idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTBweDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAudGlyZV9tb3VudCBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM5MTkxOTE7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAudGlyZV9tb3VudCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAudGlyZV9tb3VudCAuY2hvaWNlOmZpcnN0LWNoaWxkIHtcbiAgb3JkZXI6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAudGlyZV9tb3VudCAuY2hvaWNlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAudGlyZV9tb3VudCAuY2hvaWNlOmxhc3QtY2hpbGQge1xuICBvcmRlcjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC50aXJlX21vdW50IC5jaG9pY2U6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLlZFSElDTEVfVFlQRV8xIC5jaG9pY2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuVkVISUNMRV9UWVBFXzEgLmNob2ljZSBpbWcge1xuICAgIG1heC13aWR0aDogMTgwcHg7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5WRUhJQ0xFX1RZUEVfMSAuY2hvaWNlIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuVkVISUNMRV9UWVBFXzEgLmNob2ljZTpmaXJzdC1jaGlsZCB7XG4gICAgb3JkZXI6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLlZFSElDTEVfVFlQRV8xIC5jaG9pY2U6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLlZFSElDTEVfVFlQRV8xIC5jaG9pY2U6bGFzdC1jaGlsZCB7XG4gICAgb3JkZXI6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjY2hvaWNlTW9kYWwucmV2ZWFsIHtcbiAgICBtYXgtd2lkdGg6IDQ2N3B4OyB9IH1cblxuI2Nob2ljZU1vZGFsIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2Nob2ljZU1vZGFsIHN0cm9uZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDsgfSB9XG5cbiNjaG9pY2VNb2RhbCAubW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjY2hvaWNlTW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogNDBweCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjY2hvaWNlTW9kYWwgLmJ1dHRvbiB7XG4gICAgbWF4LXdpZHRoOiAxMzBweDsgfSB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luOiAwIDAgNTBweDsgfVxuICAucGFnaW5hdGlvbiB1bCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAxMnB4IDAgMDtcbiAgICBwYWRkaW5nOiA5cHg7IH1cbiAgICAucGFnaW5hdGlvbiBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQtcGFnZSB7XG4gICAgYmFja2dyb3VuZDogI2M3NTMwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uc3RvcmVzLXBhZ2luYXRpb24gLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBwYWRkaW5nOiA5cHg7IH1cbiAgLnN0b3Jlcy1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIC5jdXJyZW50IGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogaW5oZXJpdDsgfVxuICAgIC5zdG9yZXMtcGFnaW5hdGlvbiAucGFnaW5hdGlvbiAuY3VycmVudCBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmdyaWQtdGlsZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmdyaWQtdGlsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmdyaWQtdGlsZSxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5ncmlkLXRpbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmdyaWQtdGlsZS5uZXctcm93OmZpcnN0LW9mLXR5cGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmdyaWQtdGlsZS5uZXctcm93OmZpcnN0LW9mLXR5cGUge1xuICAgIGZsZXg6IDE7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWNvbnRlbnQsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwIDE1cHggMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1jb250ZW50OjpiZWZvcmUsIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1jb250ZW50OjphZnRlcixcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlLWNvbnRlbnQ6OmJlZm9yZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlLWNvbnRlbnQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWNvbnRlbnQ6OmFmdGVyLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUtY29udGVudDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyOiAzcHggc29saWQgI2YyZjJmMjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWxpbmstYWJvdmUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1saW5rLWFib3ZlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5saW5rLWFib3ZlLXByb2R1Y3QsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAubGluay1hYm92ZS1wcm9kdWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLmxpbmstYWJvdmUtcHJvZHVjdDpob3ZlcixcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLmxpbmstYWJvdmUtcHJvZHVjdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZhNTgzO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZTpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlciksXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZTpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3Zlcikge1xuICAgIGJvcmRlci1jb2xvcjogIzc1NzU3NTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZTpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlcikgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZTpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlcikgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkOWQ5ZGE7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGU6aG92ZXI6bm90KC5wcm9kdWN0LXRpbGUtYWN0aXZlKTpub3QoLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIpIC5wcm9kdWN0LWNvbXBhcmUgbGFiZWwsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlOmhvdmVyOm5vdCgucHJvZHVjdC10aWxlLWFjdGl2ZSk6bm90KC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyKSAucHJvZHVjdC1jb21wYXJlIGxhYmVsIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlOm5vdCguaXNNYXN0ZXJQcm9kdWN0KSAucHJvZHVjdC1wcmljaW5nLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZTpub3QoLmlzTWFzdGVyUHJvZHVjdCkgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucmVjb21tZW5kZWQtYmFnZGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucmVjb21tZW5kZWQtYmFnZGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIHBhZGRpbmc6IDNweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb21vLWJhZGdlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb21vLWJhZGdlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDAgN3B4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3cHg7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWJhZGdlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtYmFkZ2Uge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwIDZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUgLmJyYW5kLW5hbWUsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUgLmJyYW5kLW5hbWUge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSBhLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC52LXZpZXctb24tdmVoaWNsZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC52LXZpZXctb24tdmVoaWNsZSB7XG4gICAgbWluLWhlaWdodDogNjVweDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAudi12aWV3LW9uLXZlaGljbGUgLmJ1dHRvbixcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnYtdmlldy1vbi12ZWhpY2xlIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZTo6YmVmb3JlLCAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2U6OmFmdGVyLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZTo6YmVmb3JlLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2U6OmFmdGVyLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZTo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2UgLnJlYmF0ZSB+IC5wcmljZS1zYWxlcyxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2UgLnJlYmF0ZSB+IC5wcmljZS1zYWxlcyB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByaWNlLXNhbGVzLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByaWNlLXNhbGVzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgNXB4IDAgMDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnJlYmF0ZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5yZWJhdGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMTBweCAwIDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5hZGQtYWxsLXRvLWNhcnQsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAuYWRkLWFsbC10by1jYXJ0IHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5tYXJrZXRpbmctaW5mby13cmFwcGVyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubWFya2V0aW5nLWluZm8td3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNjY2M7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMzBweCAxMHB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy10aXRsZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24sXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiBoNCxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gcCxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIHAge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaSxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGkge1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGk6OmJlZm9yZSxcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaTo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtaW1hZ2UsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LWltYWdlIHtcbiAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1pbWFnZSAudGh1bWItbGluayxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1pbWFnZSAudGh1bWItbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LWhlaWdodDogMjE1cHg7XG4gICAgbWF4LXdpZHRoOiAyMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWltYWdlIC50aHVtYi1saW5rLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1pbWFnZSAudGh1bWItbGluayB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE5NXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDE5NXB4OyB9IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAudGVzdGVkLWJ5a2FsLWJhZGdlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgbWluLWhlaWdodDogMjBweDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LW5hbWUgLmJyYW5kLW5hbWUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LW5hbWUgLmJyYW5kLW5hbWUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDhweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLm5hbWUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLm5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtYXR0cmlidXRlcyAudmFsdWUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXRlZ29yeSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0ZWdvcnkge1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuY2F0ZWdvcmllcy1ib3gsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jYXRlZ29yaWVzLWJveCB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDEwcHggMCAxNXB4OyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm5vdC1hdmFpbGFibGUtbXNnLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubm90LWF2YWlsYWJsZS1tc2cge1xuICBjb2xvcjogI2YwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuYXZhaWxhYmlsaXR5LW1zZyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmF2YWlsYWJpbGl0eS1tc2cge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmF2YWlsYWJpbGl0eS1tc2csXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXZhaWxhYmlsaXR5LW1zZyB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmF2YWlsYWJpbGl0eS1tc2cgLmF2YWlsYWJpbGl0eS1sYWJlbCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXZhaWxhYmlsaXR5LW1zZyAuYXZhaWxhYmlsaXR5LWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1zaXplLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1zaXplIHtcbiAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXNpemUsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1zaXplIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1zaXplIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1zaXplIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtcHJpY2luZyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtcHJpY2luZyB7XG4gIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXByaWNpbmcsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5pc01hc3RlclByb2R1Y3QgLnByb2R1Y3QtcHJpY2luZyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmlzTWFzdGVyUHJvZHVjdCAucHJvZHVjdC1wcmljaW5nIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5pc01hc3RlclByb2R1Y3QgLm1hc3Rlci1wcm9kdWN0LXByaWNlLFxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuaXNNYXN0ZXJQcm9kdWN0IC5yZWJhdGUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5pc01hc3RlclByb2R1Y3QgLm1hc3Rlci1wcm9kdWN0LXByaWNlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuaXNNYXN0ZXJQcm9kdWN0IC5yZWJhdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuaXNNYXN0ZXJQcm9kdWN0IC5yZWJhdGUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5pc01hc3RlclByb2R1Y3QgLnJlYmF0ZSB7XG4gIGZsb2F0OiBub25lO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnZpZXctb24tdmVoaWNsZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnZpZXctb24tdmVoaWNsZSB7XG4gIG1hcmdpbjogMTBweCAwIDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnNpemUtcHJpY2UtcXR5LWJveCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnNpemUtcHJpY2UtcXR5LWJveCB7XG4gIG1hcmdpbjogYXV0byAwIDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAuc2l6ZS1wcmljZS1xdHktYm94IC5wcm9kdWN0LXNpemUgLmJveC1zcGFjaW5nOmZpcnN0LW9mLXR5cGUsXG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnNpemUtcHJpY2UtcXR5LWJveCAucHJvZHVjdC1wcmljaW5nIC5ib3gtc3BhY2luZzpmaXJzdC1vZi10eXBlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5zaXplLXByaWNlLXF0eS1ib3ggLnByb2R1Y3Qtc2l6ZSAuYm94LXNwYWNpbmc6Zmlyc3Qtb2YtdHlwZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuc2l6ZS1wcmljZS1xdHktYm94IC5wcm9kdWN0LXByaWNpbmcgLmJveC1zcGFjaW5nOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMCAwIDM1cHg7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAuc2l6ZS1wcmljZS1xdHktYm94IC5wcm9kdWN0LXByaWNpbmcsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnNpemUtcHJpY2UtcXR5LWJveCAucHJvZHVjdC1wcmljaW5nIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGVfX2FjdGlvbnMsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGVfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlX19hZGQtdG8tY2FydCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZV9fYWRkLXRvLWNhcnQge1xuICBmbGV4OiAxIDEgMTAwJTtcbiAgaGVpZ2h0OiA2MHB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZV9fYWRkLXRvLWNhcnQgLmFkZC10by1jYXJ0LFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGVfX2FkZC10by1jYXJ0IC5hZGQtdG8tY2FydCB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbXBhcmUtaXRlbXMtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMzsgfVxuXG4uY29tcGFyZS1pdGVtcyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyNDBweDsgfVxuICAuY29tcGFyZS1pdGVtcyAuY29tcGFyZS1pdGVtIHtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIG1hcmdpbjogMzBweCA1MHB4IDMwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDE1MHB4OyB9XG4gICAgLmNvbXBhcmUtaXRlbXMgLmNvbXBhcmUtaXRlbSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDE0NXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMTVweDtcbiAgICAgIHdpZHRoOiAxMjBweDsgfVxuICAgIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS1uYW1lIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLWl0ZW0gLmNvbXBhcmUtaXRlbS1udW1iZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDExMHB4OyB9XG4gIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLWl0ZW0tcmVtb3ZlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG4gIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuY29tcGFyZS1pdGVtcyAuY29tcGFyZS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY29tcGFyZS1pdGVtcyAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgMCAwIDI1cHg7XG4gICAgcGFkZGluZzogMTVweCAyOHB4OyB9XG4gIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLWFjdGlvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiA4NHB4OyB9XG5cbi5pdGFsaWMtdGV4dCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4uZmluYW5jZS1pbmZvIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbWFyZ2luOiAyNXB4IDA7XG4gIHBhZGRpbmc6IDAuNWVtOyB9XG4gIC5maW5hbmNlLWluZm8gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgcGFkZGluZzogMCAxMHB4IDE1cHg7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIHtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgI2YyZjJmMjtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSAuY29tcGFyZS1sYWJlbCxcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIC5jb21wYXJlLWxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIGlucHV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiA0cHg7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSBpbnB1dDpjaGVja2VkIHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIGlucHV0OmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBjb250ZW50OiBcIlxcZTgxMVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgaW5wdXQ6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIC5pbnB1dC1jdXN0b20ge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb250ZW50OiBcIlxcZjFkYlwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgLmlucHV0LWN1c3RvbSxcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgaW5wdXQge1xuICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgd2lkdGg6IDE3cHg7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWFjdGl2ZSAucHJvZHVjdC1jb21wYXJlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtYWN0aXZlIC5wcm9kdWN0LWNvbXBhcmUgLmNvbXBhcmUtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWFjdGl2ZSAucmVjb21tZW5kZWQtYmFnZGUsXG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1hY3RpdmUgLmNvbXBhcmUtbGFiZWwsXG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIgLmNvbXBhcmUtbGFiZWwge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzc1NzU3NTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIgLmNvbXBhcmUtbGFiZWwge1xuICAgICAgY29sb3I6ICMwMDA7IH0gfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zdGFydC1uZXctc2VhcmNoLXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBlbmQ7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc3RhcnQtbmV3LXNlYXJjaC13cmFwcGVyIC5sb2FkZXIge1xuICAgIHotaW5kZXg6IDEwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnN0YXJ0LW5ldy1zZWFyY2gge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc3RhcnQtbmV3LXNlYXJjaCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4IDA7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zdGFydC1uZXctc2VhcmNoIHtcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7IH0gfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5wc3Jlc3VsdHMtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLm1hdGNoZWQtcHJvZHVjdHMge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLm1hdGNoZWQtcHJvZHVjdHMgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubWF0Y2hlZC1wcm9kdWN0cyBzcGFuIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtaW5mbyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAwIDAgMjVweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZjJmMmYyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIC50YWJzLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAtNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyAudGFicy10aXRsZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXRhYnMgLnRhYnMtdGl0bGUge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyAudGFicy10aXRsZSA+IGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIC50YWJzLXRpdGxlIGFbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZmY2OTAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC50YWJzLXBhbmVsIC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAudGFicy1wYW5lbCAuc29ydC1ieS13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAudGFicy1wYW5lbCAuc29ydC1ieSBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmFydGljbGUtcmVzdWx0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmFydGljbGUtcmVzdWx0IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmFydGljbGUtcmVzdWx0IHAge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzAwMDsgfSB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmFydGljbGUtcmVzdWx0IGEge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zb3J0LWJ5IHNlbGVjdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zb3J0LWJ5LXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgI3JlZmluZW1lbnRzLWNvbnRlbnQtd3JhcCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjcmVmaW5lbWVudHMtY29udGVudC13cmFwIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDM7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0ICNyZWZpbmVtZW50cy1jb250ZW50LXdyYXAuZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0ICNyZWZpbmVtZW50cy1jb250ZW50LXdyYXAuZXhwYW5kZWQge1xuICAgICAgICBib3gtc2hhZG93OiAycHggNHB4IDVweCAjODA4MDgwOyB9IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjcmVmaW5lbWVudHMtY29udGVudC10cmlnZ2VyIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cy13cmFwcGVyIHtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pY29uLWNpcmNsZS10aGluLFxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmljb24tY2lyY2xlIHtcbiAgY29sb3I6ICNjNzUzMDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLnJlZmluZW1lbnRzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogNDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAucmVmaW5lbWVudHMtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5jbGVhci1maWx0ZXJzIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDE1cHggMCAxNXB4IDE1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAzN3B4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbjogLTVweCAwIDEwcHggMTVweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGNcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjpiZWZvcmUge1xuICBjb2xvcjogI2M3NTMwMDtcbiAgY29udGVudDogXCJcXGU4MGJcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgbGVmdDogMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIGxpIGEge1xuICBjb2xvcjogIzAwMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtc3VibWVudS1pdGVtIGEge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBwYWRkaW5nOiA1cHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLXN1Ym1lbnUtaXRlbSBpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDAgNXB4IDFweCAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpLnNlbGVjdGVkIGEge1xuICBjb2xvcjogIzAwMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5pbmZvLWJveCB7XG4gIG1hcmdpbjogNTBweCAwIDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmluZm8tYm94IHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMDIwMjA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTRweDsgfVxuICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuaW5mby1ib3ggLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODIuNWVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuaW5mby1ib3gge1xuICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmluZm8tYm94IC5idXR0b24gc3BhbiB7XG4gICAgZm9udC1zaXplOiAxMXB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmluZm8tYm94IGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5pbmZvLWJveCBwIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgbWFyZ2luOiA1MHB4IDAgNDBweDtcbiAgbWF4LWhlaWdodDogMzc1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDIwcHggMTRweCAwO1xuICB3aWR0aDogMjEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LWJveCB7XG4gICAgICBtYXJnaW46IDUwcHggMjBweCA0MHB4O1xuICAgICAgbWF4LWhlaWdodDogNDA1cHg7XG4gICAgICB3aWR0aDogMzE1cHg7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LWJveCAuYnV0dG9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IC5idXR0b24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgIHdpZHRoOiAxODBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3ggLmJ1dHRvbi13cmFwcGVyIC5idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAyODBweDsgfSB9XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IC5idXR0b24td3JhcHBlciAuYnV0dG9uIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3ggLmltYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDMycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3ggLmltYWdlLXdyYXBwZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDsgfSB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1tb2JpbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5uZWVkLWhlbHAtYm94IC5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubmVlZC1oZWxwLWJveCAuYnV0dG9uIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBwYWRkaW5nOiAwIDAgMCAyNXB4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLm5lZWQtaGVscC1ib3ggLmljb24tbGl2ZWNoYXQge1xuICBib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtY29udGVudCB7XG4gICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfSB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLWNvbnRlbnQgLmZvbGRlci1jb250ZW50LWxpc3Qge1xuICBtYXJnaW46IDA7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtY29udGVudCAuZm9sZGVyLWNvbnRlbnQtbGlzdCBsaSB7XG4gICAgbWFyZ2luOiAwIDAgNTBweDsgfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLWNvbnRlbnQgLmZvbGRlci1jb250ZW50LWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtY29udGVudCAuY29udGVudC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogY2FsYy1yZW0oMTgpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy1jb250ZW50IC5yZWFkbW9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVzb3VyY2UtY2VudGVyIGgzIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVzb3VyY2UtY2VudGVyIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZXNvdXJjZS1jZW50ZXIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVzb3VyY2UtY2VudGVyIC5idXR0b24ge1xuICBtYXJnaW46IDMwcHggMCAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmNoYW5nZS1sb2NhdGlvbi1ib3gge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGxlZnQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5jaGFuZ2UtbG9jYXRpb24tYm94IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5jaGFuZ2UtbG9jYXRpb24tYm94IHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5jaGFuZ2UtbG9jYXRpb24tYm94IHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OyB9IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuY2hhbmdlLWxvY2F0aW9uLWJveCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5jaGFuZ2UtbG9jYXRpb24tYm94IC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDEwcHggMCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnBhZ2luYXRpb24gdWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNnB4OyB9IH1cblxuI25ld1NlYXJjaE1vZGFsIHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI25ld1NlYXJjaE1vZGFsIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yLWltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNuZXdTZWFyY2hNb2RhbCAuYWRkLXJlYXItc2l6ZSxcbiAgI25ld1NlYXJjaE1vZGFsIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIsXG4gICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmFkZC1yZWFyLXNpemUsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBib3R0b206IC0yMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gICNuZXdTZWFyY2hNb2RhbCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDsgfVxuICAjbmV3U2VhcmNoTW9kYWwgLmNsb3NlX2J1dHRvbiB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmNsb3NlX2J1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubWF0Y2hlZC1wcm9kdWN0cyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubWF0Y2hlZC1wcm9kdWN0cyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cy13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgMCA0NXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zb3J0LWJ5IGxhYmVsIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjcmVmaW5lbWVudHMtY29udGVudC13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAucmVmaW5lbWVudHMtY29udGVudCxcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCxcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmNsZWFyLWZpbHRlcnMge1xuICAgIGJvcmRlcjogMDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZzogMTJweCAwIDEycHggMjBweDsgfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5jbGVhci1maWx0ZXJzIHtcbiAgICBwYWRkaW5nOiA1cHggMCAxMHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW46IDAgMCAxNXB4OyB9XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudC10aXRsZS5zaXplcy10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1iYWRnZSB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDsgfVxuICAucGRwLW1haW4gLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDsgfSB9XG5cbi5wZHAtbWFpbiAucHNyZXN1bHRzLXdyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ucGRwLW1haW4gLmJyYW5kLW5hbWUge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wZHAtbWFpbiAucGRwLXRvcC1uYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgLnBkcC1tYWluIC5wZHAtdG9wLW5hbWUgLnByb2R1Y3QtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0OjpiZWZvcmUsIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAucHJvZHVjdC1zZXQtaXRlbTo6YmVmb3JlLCAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWl0ZW06OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1pdGVtOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1pdGVtIC5xdWFudGl0eSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1heC13aWR0aDogNzVweDtcbiAgICBtaW4td2lkdGg6IDc1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWl0ZW0gLnF1YW50aXR5IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWRldGFpbHMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDcwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1kZXRhaWxzIC5wcm9kdWN0LXByaWNlIHtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5hZGQtc3ViLXByb2R1Y3Qge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMwJSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgICAgIG1hcmdpbjogOHB4IDAgMCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgICAgIG1hcmdpbjogOHB4IDAgMCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuXG4ucGRwLW1haW4gLmFkZC1hbGwtdG8tY2FydCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIHtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXM6OmJlZm9yZSwgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtZnJvbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmc6IDlweCAxMnB4OyB9XG4gICAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLWZyb250OjpiZWZvcmUsIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1mcm9udDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtZnJvbnQ6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLWZyb250IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLXJlYXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1pbi13aWR0aDogODBweDtcbiAgICBwYWRkaW5nOiA5cHggMTJweDsgfVxuICAgIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1yZWFyOjpiZWZvcmUsIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1yZWFyOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1yZWFyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1yZWFyIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4OyB9IH1cblxuLnBkcC1tYWluIC5tYW51ZmFjdHVyZXItbnVtYmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBtYXJnaW46IDVweCAwIDA7IH1cblxuLnBkcC1tYWluIC5tdWx0aXBsZS1tYW51ZmFjdHVyZXItbnVtYmVycyB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucGRwLW1haW4gLnRpdGxlLW1haW4tc2VjdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgcGFkZGluZzogMCAwIDAgMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC50aXRsZS1tYWluLXNlY3Rpb24ge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAucGRwLW1haW4gLnRpdGxlLW1haW4tc2VjdGlvbi5yZXZpZXctdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLm5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1hdHRyaWJ1dGVzIC52YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5wZHAtbWFpbiAub3ZlcnZpZXcsXG4ucGRwLW1haW4gLnByb2R1Y3QtZGVzY3JpcHRpb24sXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyxcbi5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyxcbi5wZHAtbWFpbiAucmF0aW5nLWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG5cbi5wZHAtbWFpbiAjcHJvZHVjdERlc2NyaXB0aW9uLFxuLnBkcC1tYWluICN0ZXN0UmVzdWx0cyxcbi5wZHAtbWFpbiAjcmFpdGluZ1Jldmlld3MsXG4ucGRwLW1haW4gI3Byb2R1Y3RTaXplcyB7XG4gIHNjcm9sbC1tYXJnaW4tdG9wOiAxMjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBkcC1tYWluIC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMzBweCAwOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMge1xuICBtYXJnaW46IDEwcHggMTBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiA1NnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIHtcbiAgICAgIHdpZHRoOiA2NnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzLnRvcC1wYWRkaW5nIHtcbiAgICAgIHRvcDogMTVweDsgfSB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXNsaWRlci5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC50aHVtYiB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnRodW1iIGltZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC50aHVtYiBpbWcge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1uZXh0LFxuICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldiB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQsXG4gICAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1uZXh0OjpiZWZvcmUsXG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXByZXY6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZCxcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZCB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSxcbiAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2JmYzBjMjsgfVxuICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0xNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQge1xuICAgICAgICBib3R0b206IC0yM3B4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiBhdXRvOyB9IH1cbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODE0XCI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXGU4MGZcIjsgfSB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAtMTBweDsgfSB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXByZXY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTgxM1wiOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7IH0gfVxuICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stc2xpZGUuc2xpY2stY3VycmVudCAucHJvZHVjdHRodW1ibmFpbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNjkwMDsgfVxuXG4ucGRwLW1haW4gLm1haW4tY2Fyb3VzZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLm1haW4tY2Fyb3VzZWwge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWluLWhlaWdodDogMjcycHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC5tYWluLWNhcm91c2VsIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMxN3B4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDg1cHgpOyB9IH1cbiAgLnBkcC1tYWluIC5tYWluLWNhcm91c2VsIC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAucGRwLW1haW4gLm1haW4tY2Fyb3VzZWwgLnNsaWNrLXNsaWRlci5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wZHAtbWFpbiAubWFpbi1jYXJvdXNlbCAudmlkZW9XcmFwcGVyIHtcbiAgICBoZWlnaHQ6IDMxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5wZHAtbWFpbiAubWFpbi1jYXJvdXNlbCAuc2xpY2stc2xpZGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7IH1cblxuLnBkcC1tYWluIC5vdmVydmlldyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDVweCAwOyB9XG4gIC5wZHAtbWFpbiAub3ZlcnZpZXcgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlLnRyYWlsZXItdGlyZS1hdHRyaWJ1dGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5wZHAtbWFpbiAub3ZlcnZpZXcgLnByb2R1Y3QtYXR0cmlidXRlcy5jYXRlZ29yeS1hdHRyaWJ1dGVzIC5uYW1lIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtaW4taGVpZ2h0OiAxOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wZHAtbWFpbiAub3ZlcnZpZXcgLnByb2R1Y3QtYXR0cmlidXRlcyAubmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnBkcC1tYWluIC5vdmVydmlldyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXRlZ29yeSB7XG4gIGNvbG9yOiAjODA4Mjg1OyB9XG5cbi5wZHAtbWFpbiAub3ZlcnZpZXcgLnByb2R1Y3QtcmV2aWV3IHtcbiAgbWFyZ2luOiAyNXB4IDA7IH1cblxuLnBkcC1tYWluIC5vdmVydmlldyAuYWRpdGlvbmFsLWRldGFpbHMge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucGRwLW1haW4gLm92ZXJ2aWV3IC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG5cbi5wZHAtbWFpbiAucHJpY2UtcmlnaHQtYm94IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wZHAtbWFpbiAucHJpY2UtcmlnaHQtYm94IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IHtcbiAgICBtYXJnaW46IDQwcHggMCAwOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucHJvZHVjdC1wcmljZS13cmFwIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcm9kdWN0LXByaWNlLXdyYXAge1xuICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucHJvZHVjdC1wcmljZS13cmFwIC5wcmljZS1sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDAgOXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcmljZS1yaWdodC1ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcmljZS1yaWdodC1ib3ggLmludmVudG9yeSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLmludmVudG9yeSB7XG4gIGZsb2F0OiByaWdodDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAuaW52ZW50b3J5IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5pbnZlbnRvcnkgaW5wdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5pbnZlbnRvcnkgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0ICN0b3RhbFByaWNlU2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAjdG90YWxQcmljZVNlY3Rpb24gLnF1YW50aXR5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAjdG90YWxQcmljZVNlY3Rpb24gLnByb2R1Y3QtcHJpY2Uge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgI3RvdGFsUHJpY2VTZWN0aW9uIC5wcm9kdWN0LXByaWNlIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0ICN0b3RhbFByaWNlU2VjdGlvbiAucHJpY2Utc3RhbmRhcmQge1xuICBjb2xvcjogI2M3NTMwMDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMjVweCAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByb2R1Y3QtYWRkLXRvLWNhcnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByb2R1Y3QtYWRkLXRvLWNhcnQgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByaWNlLWxhYmVsLFxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucXVhbnRpdHkgLnF1YW50aXR5LXRvdGFsLFxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucXVhbnRpdHkgbGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZGlzcGxheTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZSAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIC5wcmljZS1zYWxlcyB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZSAucHJpY2Utc3RhbmRhcmQge1xuICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZSAucmViYXRlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogMTBweCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UgLnJlYmF0ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtZGVzY3JpcHRpb24gLmxvbmctZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDAgMCA4MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtZGVzY3JpcHRpb24gLmxvbmctZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAzNXB4IDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtZGVzY3JpcHRpb24gLmxvbmctZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5jYXJlLXBsYW4gLnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5kcml2ZXItbm90ZXMtd3JhcCB7XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLmRyaXZlci1ub3RlcyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuZHJpdmVyLW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC50ZXN0aW5nLXZpZGVvLWJveCB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC50ZXN0aW5nLXZpZGVvLWJveCB7XG4gICAgICBvcmRlcjogMjsgfSB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5xdWVzdGlvbnMge1xuICBtYXJnaW46IDE1cHggMCAwOyB9XG4gIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5xdWVzdGlvbnMgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnF1ZXN0aW9ucyAuaW5saW5lLXF1ZXN0aW9uLW1hcmsge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnF1ZXN0aW9ucyAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgdG9wOiAwOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzb24tdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuYXR0cmlidXRlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW46IDAgMCA3cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLnNlY3Rpb24ge1xuICBtYXJnaW46IDAgMCAzNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAuc2VjdGlvbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA0NyU7IH1cbiAgICAgIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIC5zZWN0aW9uOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLnNlY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIHVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIGxpIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogNXB4IDA7IH1cbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gbGk6OmJlZm9yZSwgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gbGk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gbGk6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAubGFiZWwtdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLmxhYmVsLXRpdGxlIHtcbiAgICAgIHdpZHRoOiA3MCU7IH0gfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAubGFiZWwtdGl0bGUtYm9sZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXdlaWdodDogNzAwO1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAubGFiZWwtdGl0bGUtYm9sZCB7XG4gICAgICB3aWR0aDogNzAlOyB9IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLnJhaXRpbmcge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAucmFpdGluZyB7XG4gICAgICB3aWR0aDogMzAlOyB9IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICBtYXJnaW46IDA7IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gaSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAubW9kZWwtc3BlY3MgLm1vZGVsLWJveCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLm1vZGVsLXNwZWNzIC5tb2RlbC1zaXplIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnZpZXctYWxsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnZpZXctYWxsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogN3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICBwYWRkaW5nOiA5cHggMTJweDsgfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGU6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBwYWRkaW5nOiAxMnB4OyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUuZmluaXNoX2F0dHJpYnV0ZSAudmFsdWU6bm90KC52YWx1ZS1yZWFyKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnByb2R1Y3QtYXR0cmlidXRlcyAudmFsdWUge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlLXJlYXIge1xuICBtaW4td2lkdGg6IDgwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnByb2R1Y3QtYXR0cmlidXRlcyAudmFsdWUtcmVhciB7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4OyB9IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlLXJlYXIgLm5hbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5sb2FkLXJhbmdlLXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4ucGRwLW1haW4gLnNlcnZpY2UtaW5mby13cmFwcGVyIC5sZWZ0LWluZm8gLnNlbC1zdWJ0aXRsZSBzdHJvbmcge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnJpZ2h0LWluZm8gLm5ld3NlYXJjaC10aXJlc2VsZWN0aW9uIC5pbml0LXNlbGVjdG9yIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBtYXJnaW46IDA7IH1cblxuLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1pbmZvLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnNlcnZpY2UtaW5mby1jb250ZW50IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1pbmZvLWNvbnRlbnQgLnNlbC1zdWJ0aXRsZSB7XG4gICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGRwLW1haW4gLnNlcnZpY2UtaW5mby13cmFwcGVyIC5zZXJ2aWNlLWluZm8tY29udGVudCAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1pbmZvLWNvbnRlbnQgLnRpcmUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cblxuLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VsLWluZm8ge1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnNlbC1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG5cbi5wcm9kdWN0LXNpemUtdGFicyB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZ3JvdzogaW5pdGlhbDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wcm9kdWN0LXNpemUtdGFicyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5wcm9kdWN0LXNpemUtdGFicy50cmFpbGVyLWxvYWQtcmFuZ2UtdGFicyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZSB7XG4gICAgICAgIG1heC13aWR0aDogMjIlOyB9IH1cbiAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgcGFkZGluZzogMC41cmVtIDFyZW0gMXJlbTsgfVxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlIGE6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGYxMGVcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1cGVyOyB9XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUgYS5sb2FkLXJhbmdlLWFuY2hvciB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtIDFyZW07IH1cbiAgICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlIGEubG9hZC1yYW5nZS1hbmNob3I6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlID4gYTpmb2N1cyxcbiAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSwgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlOmZvY3VzLCAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGU6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhLFxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhOmhvdmVyLCAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGU6Zm9jdXMgYSxcbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZTpmb2N1cyBhOmhvdmVyLCAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGU6aG92ZXIgYSxcbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZTpob3ZlciBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cblxuLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDA7IH1cbiAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDIuNzVyZW0gMDsgfVxuICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIHVsIGxpIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIHVsIGxpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9IH1cbiAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbC50cmFpbGVyLWxvYWQtcmFuZ2Utb3B0aW9ucyB7XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbC50cmFpbGVyLWxvYWQtcmFuZ2Utb3B0aW9ucy5pcy1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbC50cmFpbGVyLWxvYWQtcmFuZ2Utb3B0aW9ucyAucHJvZHVjdC1zaXplLXRhYnMge1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsLnRyYWlsZXItbG9hZC1yYW5nZS1vcHRpb25zIC50YWJzLXRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NXB4OyB9XG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRpcmUtc2l6ZS1vcHRpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGlyZS1zaXplLW9wdGlvbnMge1xuICAgICAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRpcmUtc2l6ZS1vcHRpb25zIC50cmFpbGVyLXRpcmUtc2l6ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGlyZS1zaXplLW9wdGlvbnMgLnRyYWlsZXItdGlyZS1zaXplIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50aXJlLXNpemUtb3B0aW9ucyAudHJhaWxlci10aXJlLXNpemU6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgICAgICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGlyZS1zaXplLW9wdGlvbnMgLnRyYWlsZXItdGlyZS1zaXplOmhvdmVyIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZjY5MDA7IH1cblxuLmltYWdlLXRvb2x0aXAge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbjogNXB4IDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmltYWdlLXRvb2x0aXAge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDVweCAwIDAgMjBweDsgfSB9XG4gIC5pbWFnZS10b29sdGlwIC5oYXMtdGlwIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4udG9vbHRpcC5pbWctdGlwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDU1cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWF4LXdpZHRoOiAyNjBweCAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRvb2x0aXAuaW1nLXRpcCBoMSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA3cHggMTVweDsgfVxuICAudG9vbHRpcC5pbWctdGlwIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgLnRvb2x0aXAuaW1nLXRpcC50b3A6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgfVxuXG4ucGRwLW1hc3RlciAucHJvZHVjdC1zaXplZixcbi5wZHAtbWFzdGVyIC5wcm9kdWN0LXdoZWVsc2l6ZWYge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wZHAtbWFzdGVyIC5wcm9kdWN0LXByaWNlIC5yZWJhdGUgYnIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBkcC1tYWluIC5iYWRnZXMtYm94IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLnBkcC1tYWluIC5iYWRnZXMtYm94IHAge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAucGRwLW1haW4gLnByb2R1Y3QtYmFkZ2UsXG4gIC5wZHAtbWFpbiAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBkcC1tYWluIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgIHBhZGRpbmc6IDdweDsgfVxuICAucGRwLW1haW4gLnRvcC1pbmZvLXByb2R1Y3QtYm94IHtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGRwLW5hdiB7XG4gICAgbWFyZ2luOiAwIDAgNzBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5wZHAtbmF2IHVsIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5wZHAtbmF2IGxpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmMmYyZjI7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAgIC5wZHAtbmF2IGxpIGEge1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5wZHAtbmF2IGxpOmhvdmVyLCAucGRwLW5hdiBsaS5hY3RpdmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmNjkwMDsgfVxuICAgICAgICAucGRwLW5hdiBsaTpob3ZlciBhLCAucGRwLW5hdiBsaS5hY3RpdmUgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5hdHRyLWNvbHVtbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQ1JTsgfVxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAuYXR0ci1jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmNvbXBhcmUtcGFnZSAuc2Nyb2xsLXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnNjcm9sbC1zZWN0aW9uLm5vLW1hcmdpbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAucm93IHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29tcGFyZS1wYWdlIC50aXRsZS1ib3JkZXIge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZjJmMmYyO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgxKSAudGl0bGUtYm9yZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgyKSAudGl0bGUtYm9yZGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMSkgLnRpdGxlLWJvcmRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgzKSAudGl0bGUtYm9yZGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5zbWFsbC1kZXZpY2UtbWVzc2FnZSBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW46IDEwMHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnBhZ2UtdGl0bGUge1xuICBtYXJnaW46IDI1cHggMCAyMHB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgYS5iYWNrIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLmNvbXBhcmUtcGFnZSAuc2VjdGlvbi1ib3gge1xuICBtYXJnaW46IDAgMCA1MHB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YyZjJmMjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtY29sdW1uOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgLnNlY3Rpb24tdGl0bGUsXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LWNvbHVtbjpub3QoOmZpcnN0LW9mLXR5cGUpIC50ZXN0LXNjb3JlIC5zZWFzb24tdGl0bGUge1xuICBvdXRsaW5lOiAwO1xuICB0ZXh0LWluZGVudDogLTk5OTllbTsgfVxuXG4uY29tcGFyZS1wYWdlICNjb21wYXJlLXRhYmxlIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAjY29tcGFyZS10YWJsZSAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29tcGFyZS1wYWdlICNjb21wYXJlLXRhYmxlIC5wcm9kdWN0LXdpbnRlci11c2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDsgfVxuXG4uY29tcGFyZS1wYWdlIC50d28tY29sdW1ucyB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDEpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOC4zMzMzMyU7IH1cbiAgICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMikge1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgyKSAucm93LXNwYWNlcyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMyU7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMSkgLnJvdy1zcGFjZXMge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuMTg2NXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMikgLnJvdy1zcGFjZXMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNDA1NzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNDA1NzVyZW07IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMykgLnJvdy1zcGFjZXMge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4xODY1cmVtOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAwIDI1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1pbWFnZTpob3ZlciArIC5wcm9kdWN0LW5hbWUsIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lOmhvdmVyIHtcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi8gfVxuICAgICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlOmhvdmVyICsgLnByb2R1Y3QtbmFtZSAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCwgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWU6aG92ZXIgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7IH0gfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb21vLWJhZGdlLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtYXR0cmlidXRlcyxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5hdmFpbGFiaWxpdHktbXNnLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZSxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC50ZXN0ZWQtYnlrYWwtYmFkZ2UsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuYWRpdGlvbmFsLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDIxNXB4O1xuICAgIHBhZGRpbmc6IDAgMCAyNXB4OyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUgLmJyYW5kLW5hbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSAubmFtZS1saW5rIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJpY2UtcXR5LWJveCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zYWxlcyxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyB7XG4gICAgICBtYXJnaW46IDAgMCAwIDE1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5yZWJhdGUge1xuICAgIG1hcmdpbjogMCAwIDAgMTVweDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzICsgLnJlYmF0ZSB7XG4gICAgYm90dG9tOiAtMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLmludmVudG9yeSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5xdWFudGl0eSBsYWJlbCxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5xdWFudGl0eSBpbnB1dC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1xdWFudGl0eSBzZWxlY3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDg1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMzBweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbXBhcmUtcGFnZSAuYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY29tcGFyZS1wYWdlIC5jYXRlZ29yaWVzIC5jYXRlZ29yeSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjOTk5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmNvbXBhcmUtcGFnZSAuY2F0ZWdvcmllcyAuY2F0ZWdvcnk6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGUsXG4uY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGUge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA3cHggMTJweDsgfVxuICAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6OmJlZm9yZSwgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOjphZnRlcixcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOjpiZWZvcmUsXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6OmFmdGVyLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6bnRoLW9mLXR5cGUob2RkKSxcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOm50aC1vZi10eXBlKGV2ZW4pLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgIHBhZGRpbmc6IDlweCAxMnB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLm5hbWUsXG4uY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC52YWx1ZSxcbi5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLnZhbHVlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHBhZGRpbmc6IDEycHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gdWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIGxpOjpiZWZvcmUsIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gbGk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiBsaTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gLmF0dHJpYnV0ZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLmxhYmVsLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA3NXB4KTsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5yYWl0aW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogNzVweDsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICBtYXJnaW46IDA7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSBpIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlYXNvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlYXNvbi10aXRsZTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW46IDMwcHggMCAxNXB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnNtYWxsLWRldmljZS1tZXNzYWdlIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbjogMTAwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNvbXBhcmUtcGFnZSAucGFnZS10aXRsZSB7XG4gIG1hcmdpbjogMjVweCAwIDIwcHg7IH1cblxuLmNvbXBhcmUtcGFnZSBhLmJhY2sge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4uY29tcGFyZS1wYWdlIC5zZWN0aW9uLWJveCB7XG4gIG1hcmdpbjogMCAwIDUwcHg7IH1cblxuLmNvbXBhcmUtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjJmMmYyO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMCAwIDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1jb2x1bW46bm90KDpmaXJzdC1vZi10eXBlKSAuc2VjdGlvbi10aXRsZSxcbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtY29sdW1uOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgLnRlc3Qtc2NvcmUgLnNlYXNvbi10aXRsZSB7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtaW5kZW50OiAtOTk5OWVtOyB9XG5cbi5jb21wYXJlLXBhZ2UgI2NvbXBhcmUtdGFibGUge1xuICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICAuY29tcGFyZS1wYWdlICNjb21wYXJlLXRhYmxlIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb21wYXJlLXBhZ2UgI2NvbXBhcmUtdGFibGUgLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgxKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMSkgLnJvdy1zcGFjZXMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgyKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDIpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzJTsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnMge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgxKSAucm93LXNwYWNlcyB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMi4xODY1cmVtOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgyKSAucm93LXNwYWNlcyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS40MDU3NXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS40MDU3NXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMykge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgzKSAucm93LXNwYWNlcyB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjE4NjVyZW07IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlOmhvdmVyICsgLnByb2R1Y3QtbmFtZSwgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWU6aG92ZXIge1xuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqLyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtaW1hZ2U6aG92ZXIgKyAucHJvZHVjdC1uYW1lIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0LCAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZTpob3ZlciAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjsgfSB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucmVjb21tZW5kZWQtYmFnZGUsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvbW8tYmFkZ2UsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1hdHRyaWJ1dGVzLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLmF2YWlsYWJpbGl0eS1tc2csXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1zaXplLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnRlc3RlZC1ieWthbC1iYWRnZSxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtaW1hZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMjE1cHg7XG4gICAgcGFkZGluZzogMCAwIDI1cHg7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtaW1hZ2UgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSAuYnJhbmQtbmFtZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIC5uYW1lLWxpbmsge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXJldmlldyB7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbjogNXB4IDAgMjVweDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgdWwge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIC5zYV9zMjhfcmF0aW5nLFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyAuc2FfczI4X3BvaW50c19yYXRpbmcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIC5zYV9zMjhfbGVmdEJyYWNrZXRzLFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyAuc2FfczI4X3Byb2R1Y3RSZXZpZXdDb3VudCxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgLnNhX3MyOF9tYXN0ZXJDYXRlZ29yeVBhZ2VUZXh0LFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyAuc2FfczI4X2NoaWxkQ2F0ZWdvcnlQYWdlVGV4dCxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgLnNhX3MyOF9yaWdodEJyYWNrZXRzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgLnNhX3MyOF9wb2ludHNfcmF0aW5nIHNwYW4ge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBtYXJnaW46IDAgMCAwIDVweDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByaWNlLXF0eS1ib3gge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc2FsZXMsXG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucmViYXRlIHtcbiAgICBtYXJnaW46IDAgMCAwIDE1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyArIC5yZWJhdGUge1xuICAgIGJvdHRvbTogLTIwcHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5pbnZlbnRvcnkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucXVhbnRpdHkgbGFiZWwsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucXVhbnRpdHkgaW5wdXQucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcXVhbnRpdHkgc2VsZWN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiA4NXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5jb21wYXJlLXBhZ2UgLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmNvbXBhcmUtcGFnZSAuY2F0ZWdvcmllcyAuY2F0ZWdvcnkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzk5OTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jb21wYXJlLXBhZ2UgLmNhdGVnb3JpZXMgLmNhdGVnb3J5Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbjogMTBweCAwIDA7IH1cblxuLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlLFxuLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogN3B4IDEycHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOjpiZWZvcmUsIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTo6YWZ0ZXIsXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTo6YmVmb3JlLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOjphZnRlcixcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOm50aC1vZi10eXBlKG9kZCksXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTpudGgtb2YtdHlwZShldmVuKSxcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICBwYWRkaW5nOiA5cHggMTJweDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5uYW1lLFxuLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAubmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAudmFsdWUsXG4uY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC52YWx1ZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBwYWRkaW5nOiAxMnB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb246bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiBsaTo6YmVmb3JlLCAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIGxpOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gbGk6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIC5hdHRyaWJ1dGUtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5sYWJlbC10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNzVweCk7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAucmFpdGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsb2F0OiByaWdodDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IDc1cHg7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSBbY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgaSB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBmbG9hdDogbGVmdDsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWFzb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWFzb24tdGl0bGU6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMTVweDsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC10aWxlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZSAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc2l6ZS1wcmljZS1xdHktYm94IC5ib3gtc3BhY2luZyB7XG4gIG1hcmdpbjogMCAwIDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zaXplLXByaWNlLXF0eS1ib3ggLmJveC1zcGFjaW5nIHtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zaXplIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMTglOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zaXplIHtcbiAgICAgIHdpZHRoOiAzMCU7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJpY2VRdHlDb21wYXJlRm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDgyJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByaWNlUXR5Q29tcGFyZUZvcm0ge1xuICAgICAgd2lkdGg6IDcwJTsgfSB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcmljZVF0eUNvbXBhcmVGb3JtIC5wcm9tb3Rpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2V0LWl0ZW06OmJlZm9yZSwgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2V0LWl0ZW06OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtaXRlbTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICB3aWR0aDogNjUlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyB7XG4gICAgICB3aWR0aDogNzMlOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyAucHJpY2Utc2FsZXMsXG4gICAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtZGV0YWlscyAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICBtYXJnaW46IDJweCAwIDA7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1wcmljaW5nIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLmFkZC1zdWItcHJvZHVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDM1JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLmFkZC1zdWItcHJvZHVjdCB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLmFkZC1zdWItcHJvZHVjdCAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3QtYWRkLXRvLWNhcnQge1xuICBmbG9hdDogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc2V0LWF0dHItdGl0bGVzIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDAgMTJweCAxMnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc2V0LWF0dHJpYnV0ZS1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHdpZHRoOiAxOCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zZXQtYXR0cmlidXRlLW5hbWUge1xuICAgICAgd2lkdGg6IDMzJTsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zdW1tYXJ5IC5hdHRyaWJ1dGUgPiAudmFsdWUsXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAudGlyZS1zcGVjcyAuYXR0cmlidXRlID4gLnZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDE4JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnN1bW1hcnkgLmF0dHJpYnV0ZSA+IC52YWx1ZSxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAudGlyZS1zcGVjcyAuYXR0cmlidXRlID4gLnZhbHVlIHtcbiAgICAgIHdpZHRoOiAzMyU7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc3VtbWFyeSAuYXR0cmlidXRlID4gLm5hbWUsXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAudGlyZS1zcGVjcyAuYXR0cmlidXRlID4gLm5hbWUge1xuICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnN1bW1hcnkgLmF0dHJpYnV0ZSA+IC5uYW1lLFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC50aXJlLXNwZWNzIC5hdHRyaWJ1dGUgPiAubmFtZSB7XG4gICAgICB3aWR0aDogMzQlOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnRpcmUtc3BlY3MgLnZhbHVlLXJlYXIgLm5hbWUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC50aXJlLXNwZWNzIC5maW5pc2hfYXR0cmlidXRlIC52YWx1ZSB7XG4gIHdpZHRoOiA2NiU7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnRpcmUtc3BlY3MgLmZpbmlzaF9hdHRyaWJ1dGUgLnZhbHVlOm5vdCgudmFsdWUtcmVhcikge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5maW5hbmNpbmctYmxvY2tzLmFjdGl2ZS1wbGFuIC5jYi1jb2x1bW4tY2hpbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuZmluYW5jaW5nLWJsb2Nrcy5hY3RpdmUtcGxhbiAuY2ItY29sdW1uLWNoaWxkIGgyLFxuICAuZmluYW5jaW5nLWJsb2Nrcy5hY3RpdmUtcGxhbiAuY2ItY29sdW1uLWNoaWxkIGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5maW5hbmNpbmctYmxvY2tzLmFjdGl2ZS1wbGFuIC5jYi1jb2x1bW4tY2hpbGQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5maW5hbmNpbmctYmxvY2tzIC5jYi1jb2x1bW4tY2hpbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgbWluLWhlaWdodDogMjMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5maW5hbmNpbmctYmxvY2tzIC5jYi1jb2x1bW4tY2hpbGQgaDIge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogNS42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAuZmluYW5jaW5nLWJsb2NrcyAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLW1vbnRoLXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDU2cHg7IH1cbiAgICAuZmluYW5jaW5nLWJsb2NrcyAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLW1vbnRoLXRleHQgKyBwLmZpbmFuY2luZy1zbWFsbC1pbmZvIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5maW5hbmNpbmctYmxvY2tzIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctaW5mbyB7XG4gICAgZm9udC1zaXplOiAxLjQ1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLmZpbmFuY2luZy1ibG9ja3MgLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1zbWFsbC1pbmZvIHtcbiAgICBib3R0b206IDEycHg7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7IH1cbiAgLmZpbmFuY2luZy1ibG9ja3MgLmNiLWNvbHVtbi1jaGlsZCBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuZmluYW5jaW5nLWJsb2NrcyAuY2ItY29sdW1uLWNoaWxkIGltZyB7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5maW5hbmNpbmctYmxvY2tzLnN0ZXBzLXRvLXRha2UgLmNiLWNvbHVtbi1jaGlsZCB7XG4gIGJvcmRlcjogN3B4IHNvbGlkICMxZTFlMWU7XG4gIG1pbi1oZWlnaHQ6IDQzOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQge1xuICAgICAgbWluLWhlaWdodDogNTA1cHg7IH0gfVxuICAuZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQ6aG92ZXIgaDIsXG4gICAgLmZpbmFuY2luZy1ibG9ja3Muc3RlcHMtdG8tdGFrZSAuY2ItY29sdW1uLWNoaWxkOmhvdmVyIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQ6aG92ZXIgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctc21hbGwtaW5mbyB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTE1cmVtO1xuICAgIHBhZGRpbmc6IDAgMjJweDsgfVxuXG4uZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIGgyIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMzBweCAwIDE4cHg7IH1cblxuLmF0cm9vdCAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgxKSxcbi5hdHJvb3QgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMikge1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZmYzOTAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5hdHJvb3QgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMSksXG4gICAgLmF0cm9vdCAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgyKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5hdHJvb3QgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMSk6OmJlZm9yZSxcbiAgICAgIC5hdHJvb3QgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMik6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmYzOTAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBsZWZ0OiAzNyU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG5cbi5sYXN0LW1vbnRobHktY29sdW1uIHtcbiAgcGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubGFzdC1tb250aGx5LWNvbHVtbiB7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YyZjJmMjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGFzdC1tb250aGx5LWNvbHVtbiAuY29sdW1ucyB7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2ZmNjkwMDtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCBoMiB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiA1LjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLW1vbnRoLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNDFweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1pbmZvLTEsXG4gIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctaW5mby0yIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLWluZm8tMSB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctaW5mby0yIHtcbiAgICBmb250LXNpemU6IDMuMnJlbTsgfVxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLXNtYWxsLWluZm8ge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nOiAwIDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCBwLmZpbmFuY2luZy1pbmZvLTEsXG4gICAgICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIHAuZmluYW5jaW5nLWluZm8tMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5Omxhc3QtY2hpbGQgYSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogOTAlOyB9IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCBhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCBwLnRlcm1zLWNvbmRpdGlvbnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5Omxhc3QtY2hpbGQgcC50ZXJtcy1jb25kaXRpb25zIGEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY2ItY29sdW1uLWNoaWxkLWNvcHkuc2luZ2xlLWNvbHVtbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2ItY29sdW1uLWNoaWxkLWNvcHkuc2luZ2xlLWNvbHVtbiBwLnRlcm1zLWNvbmRpdGlvbnMgYSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZpbmFuY2luZy1hcHBseS1ub3ctY3RhIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAuZmluYW5jaW5nLWFwcGx5LW5vdy1jdGEgYSB7XG4gICAgbWluLXdpZHRoOiAyMjBweDsgfVxuICAuZmluYW5jaW5nLWFwcGx5LW5vdy1jdGEgLmNiLWN0YSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbiNyZXN1bHRzLWluZm8tZnJvbS1nc3Age1xuICBtYXJnaW46IDI1cHggMCA1MHB4OyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcCBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcCBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwICNjaGFuZ2UtcmVzcG9uc2VzLWN0YSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLWFsbC13ZWF0aGVyIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjYmYxYThkOyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3Itd2ludGVyIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjMjBjM2YzOyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItMy1zZWFzb24gaDQgc3BhbixcbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci1hbGwtc2Vhc29uIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjZmJiMTE2OyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItcGVyZm9ybWFuY2UgaDQgc3BhbiB7XG4gICAgY29sb3I6ICM2MzUzYTM7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci10b3VyaW5nIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjMDBhNjUxOyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItbXVkLXRlcnJhaW4gaDQgc3BhbiB7XG4gICAgY29sb3I6ICM0MjI4MDA7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci1zcG9ydC10cnVjayBoNCBzcGFuIHtcbiAgICBjb2xvcjogIzllY2Y3YzsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLWFsbC10ZXJyYWluIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjN2E1MjI2OyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItY29tbWVyY2lhbCBoNCBzcGFuIHtcbiAgICBjb2xvcjogI2E3YTlhYzsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLXVsdHJhLWhpZ2gtcGVyZm9ybWFuY2UgaDQgc3BhbiB7XG4gICAgY29sb3I6ICNhNDk5Y2E7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5hdHJvb3Qge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyICNnc3BNb2JpbGVDbG9zZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciBoNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgaDQge1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIGgzIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgcGFkZGluZzogMS41ZW0gMCAwLjc1ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuODUpOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1udW1iZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIG1hcmdpbjogMCAxZW0gMCAtMy41ZW07XG4gIG1pbi13aWR0aDogMmVtO1xuICB3aWR0aDogMmVtOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICMyMDIwMjAgdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlLnBuZ1wiKSAtNDJweCBjZW50ZXIgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE5NHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDFyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi10aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAzMiwgMzIsIDAuODUpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlQDJ4LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02NnB4IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDglOyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXRpdGxlID4gZGl2IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMzc1ZW07XG4gICAgcGFkZGluZy10b3A6IDEuMzc1ZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tdGl0bGUgPiBkaXYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC45Nzc1ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjk3NzVlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXRpdGxlID4gZGl2IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNDA5NWVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMS40MDk1ZW07IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3BBbnN3ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZmEtdGltZXMge1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tdG9wOiAtMTFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdG9wOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmZhLXRpbWVzIHtcbiAgICAgIHJpZ2h0OiAzMnB4OyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZmEtdGltZXM6aG92ZXIge1xuICAgIGNvbG9yOiAjZjJmMmYyOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuZ3NwQW5zd2VyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyMi41cHgpO1xuICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDIyLjVweCk7XG4gIGhlaWdodDogOC41ZW07XG4gIG1hcmdpbjogMCAwIDEuMmVtIDAuOTM3NXJlbTtcbiAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDIyLjVweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuZ3NwQW5zd2VyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gMjBweCk7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzJSAtIDIwcHgpO1xuICAgICAgaGVpZ2h0OiAxMWVtO1xuICAgICAgbWFyZ2luOiAwIDAuNjI1cmVtIDEuMmVtO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDMzJSAtIDIwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuZ3NwQW5zd2VyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjAlIC0gMjBweCk7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDIwJSAtIDIwcHgpO1xuICAgICAgaGVpZ2h0OiAxMi41ZW07XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMjAlIC0gMjBweCk7IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLmdzcEFuc3dlciBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IDM3cHg7XG4gICAgcGFkZGluZzogMCA2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5nc3BBbnN3ZXIgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDQzcHg7IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLmdzcEFuc3dlcjpob3ZlciBzcGFuIHtcbiAgICBoZWlnaHQ6IDQ5cHg7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5zZWxlY3RlZCB7XG4gIGJvcmRlcjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuc2VsZWN0ZWQgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLnNlbGVjdGVkOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxLjY4NzVyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICBmb250LXNpemU6IDEuNDM3NXJlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAxLjY4NzVyZW07XG4gICAgd2lkdGg6IDNyZW07XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGhlaWdodDogMy40Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEuNjg3NXJlbTtcbiAgICAgICAgdG9wOiAzLjEyNXJlbTtcbiAgICAgICAgd2lkdGg6IDMuNDM3NXJlbTsgfSB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB3aWR0aDogNTBweDsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6Zmlyc3QtY2hpbGQgaDQsXG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmZpcnN0LWNoaWxkIHAge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmxhc3QtY2hpbGQgaDQsXG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmxhc3QtY2hpbGQgcCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbjogMmVtIDAgMC43NWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIgcCB7XG4gICAgY29sb3I6IHJnYmEoMTI4LCAxMzAsIDEzMywgMC43KTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyLnNlbGVjdGVkIHtcbiAgICBib3JkZXI6IDA7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAub3B0aW9uLWJnIHtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgaGVpZ2h0OiA0N3B4O1xuICBtYXJnaW4tdG9wOiAzLjc1ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5vcHRpb24tYmcge1xuICAgICAgbWFyZ2luLXRvcDogOS4zNzVlbTsgfSB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlcixcbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciBwLFxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIgcCB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVlbTtcbiAgICB3aWR0aDogMTRyZW07IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyIHN0cm9uZyxcbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGhlaWdodDogMTQuMTg3NXJlbTtcbiAgbWFyZ2luOiAzMHB4IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIge1xuICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgaGVpZ2h0OiAxNC4xODc1cmVtO1xuICAgICAgbWFyZ2luOiAzMHB4IDEuODc1cmVtOyB9XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIge1xuICAgICAgaGVpZ2h0OiAxNC4xODc1cmVtO1xuICAgICAgbWFyZ2luOiAzMHB4IDEuODc1cmVtOyB9XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEyLjEzcmVtOyB9XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjk1MjRlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyOmhvdmVyIHtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZmY2OTAwOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IDM3cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGhlaWdodDogNDNweDsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlcjpob3ZlciBzcGFuIHtcbiAgICBoZWlnaHQ6IDQ5cHg7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiBpbWcge1xuICBoZWlnaHQ6IDQuMzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgaW1nIHtcbiAgICAgIGhlaWdodDogNS42MjVyZW07IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5zZWxlY3RlZCB7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmZjY5MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5zZWxlY3RlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLnNlbGVjdGVkOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxLjY4NzVyZW07XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDMuMDM3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDAuNzI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDAuNTI1cmVtO1xuICAgIHdpZHRoOiAzLjAzNzVyZW07XG4gICAgei1pbmRleDogMjsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3AtcXVlc3Rpb24tbnVtYmVyIHtcbiAgbWFyZ2luLWxlZnQ6IC0zLjc1ZW07IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHtcbiAgaGVpZ2h0OiAxM3JlbTtcbiAgbWFyZ2luOiAwIDAuOTM3NXJlbSAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHtcbiAgICAgIGhlaWdodDogMTMuODEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjQzNzVyZW07IH1cbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGhlaWdodDogMTdyZW07IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIgaW1nIHtcbiAgICBoZWlnaHQ6IDguNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAuODEyNXJlbTsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG4gICAgd2lkdGg6IDE0cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHAge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTlyZW07IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDMuMjVlbTtcbiAgcGFkZGluZzogMTNweCAyLjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmE1NjY7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuYnV0dG9uLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjODA4Mjg1O1xuICAgIGJvcmRlci1jb2xvcjogIzgwODI4NTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciBoNCxcbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciBwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6Zmlyc3QtY2hpbGQgaDQsXG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6Zmlyc3QtY2hpbGQgcCwgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpsYXN0LWNoaWxkIGg0LFxuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmxhc3QtY2hpbGQgcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIC5vcHRpb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY2OTAwO1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IC00MnB4IDVweCAwO1xuICB3aWR0aDogMzZweDsgfVxuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIC5vcHRpb246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyOCwgMTMwLCAxMzMsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTVweDsgfVxuXG4uZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyLnNlbGVjdGVkIC5vcHRpb24sXG4uZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIC5vcHRpb246aG92ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOyB9XG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIuc2VsZWN0ZWQgLm9wdGlvbjo6YWZ0ZXIsXG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIgLm9wdGlvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwLXF1ZXN0aW9uLWFuc3dlcnMgdWwge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9IH1cblxuLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcC1xdWVzdGlvbi1hbnN3ZXJzIHVsOmhvdmVyIC5nc3BBbnN3ZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNmZjY5MDA7XG4gIGJvcmRlci13aWR0aDogNHB4OyB9XG5cbi5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHtcbiAgICAgIGZsZXgtYmFzaXM6IDQwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIuc2VsZWN0ZWQge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH0gfVxuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHN0cm9uZzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLFwiOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSBwLFxuLm5vcmVzdWx0cy1wYWdlIGEge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuc2VhcmNoLXBocmFzZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtbWVzc2FnZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtbWVzc2FnZSBwIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoLFxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCxcbi5ub3Jlc3VsdHMtcGFnZSAucmVzb3VyY2UtY2VudGVyIHtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggaW5wdXQge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCAwIDAgN3B4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCAuYnV0dG9uIHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCAuaWNvbi1zZWFyY2gge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoIC5yZWZpbmVtZW50LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCB1bCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoIGxpIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nOiAzMHB4IDAgMDsgfSB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSAuYm94IHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgaDQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgaDQgc3BhbiB7XG4gICAgcGFkZGluZzogMCAwIDAgOHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgcCxcbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBhIHtcbiAgbWFyZ2luOiAwIDAgMCAzMHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3IgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjg3NXJlbTsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciAuYnV0dG9uLmhvbGxvdyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjAyMDIwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMCAwIDQ1cHg7XG4gICAgcGFkZGluZzogNDVweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9rYWx0aXJlL3F1ZXN0aW9uLWhlYWRlci1pbWFnZUAyeC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTUwcHggY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MDBweDtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1MCUgY2VudGVyOyB9IH1cblxuLnZpc3VhbGl6ZXItd3JhcHBlciB7XG4gIGJvcmRlcjogNnB4IHNvbGlkICNmMmYyZjI7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbi52aXN1YWxpemVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAudmlzdWFsaXplci1pbWFnZSB7XG4gICAgICBib3R0b206IDQuMTc1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC52aXN1YWxpemVyLXRvb2xzIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC52aXN1YWxpemVyLXRvb2xzIGEge1xuICAgICAgY29sb3I6ICM4MDgyODU7IH1cbiAgICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAudmlzdWFsaXplci10b29scyBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAudmlzdWFsaXplci1jb250YWluZXIgLnZpc3VhbGl6ZXItdG9vbHMgLm1pbmltaXplIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXRpbGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLmJyYW5kLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLmZpbmlzaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi42MjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5maW5pc2gsXG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAuYXR0cmlidXRlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAuZmluaXNoIHNwYW4sXG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5hdHRyaWJ1dGUgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLmF0dHJpYnV0ZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5hdHRyaWJ1dGUgc3BhbiB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5hdHRyaWJ1dGUgZW0ge1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gICAgICAudmlzdWFsaXplci1jb250YWluZXIgLmF0dHJpYnV0ZSBlbTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZjEwZVwiO1xuICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXByaWNpbmcge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICBmbG9hdDogbm9uZTsgfSB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAucHJvZHVjdC1wcmljZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAucHJvZHVjdC1wcmljZTo6YmVmb3JlLCAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtcHJpY2U6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXByaWNlOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLnZpc3VhbGl6ZXItdGlwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC52aXN1YWxpemVyLXRpcCB7XG4gICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAucmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udmlzdWFsaXplci1jYXJvdXNlbCB7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCAjZjJmMmYyO1xuICBwYWRkaW5nOiAxLjI1cmVtIDMuNXJlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnZpc3VhbGl6ZXItY2Fyb3VzZWwgLmNhcm91c2VsLXdyYXBwZXIge1xuICAgIGhlaWdodDogMTRyZW07IH1cbiAgLnZpc3VhbGl6ZXItY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi52LWNhcm91c2VsLWl0ZW0ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiAxNHJlbTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC52LWNhcm91c2VsLWl0ZW0gaW1nIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC52LWNhcm91c2VsLWl0ZW0gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC52LWNhcm91c2VsLWl0ZW0gLnByaWNlIHtcbiAgICBjb2xvcjogIzgwODI4NTsgfVxuICAgIC52LWNhcm91c2VsLWl0ZW0gLnByaWNlIC5jdXJyZW5jeS1jb2RlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgIHRvcDogMDsgfVxuICAudi1jYXJvdXNlbC1pdGVtLmFjdGl2ZSwgLnYtY2Fyb3VzZWwtaXRlbTpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZjY5MDA7IH1cblxuLnZpc3VhbGl6ZXItY29sb3JzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAxLjI1cmVtIDAgMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC52aXN1YWxpemVyLWNvbG9ycyB7XG4gICAgICBib3R0b206IDAuNjI1cmVtO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgLnZpc3VhbGl6ZXItY29sb3JzIGxpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjODA4Mjg1O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbjogNXB4IDJweDtcbiAgICBtaW4td2lkdGg6IDFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgd2lkdGg6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC52aXN1YWxpemVyLWNvbG9ycyBsaSB7XG4gICAgICAgIG1hcmdpbjogNXB4IDJweDsgfSB9XG4gICAgLnZpc3VhbGl6ZXItY29sb3JzIGxpOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxMTFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbjogLTAuNXJlbSAwIDAgLTAuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgdG9wOiA1MCU7IH1cbiAgICAudmlzdWFsaXplci1jb2xvcnMgbGkuYWN0aXZlLCAudmlzdWFsaXplci1jb2xvcnMgbGk6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmY2OTAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3YtdmlzdWFsaXplci1sYXJnZSAucHJvZHVjdC10aWxlIHtcbiAgICBtaW4taGVpZ2h0OiAyNHJlbTsgfSB9XG5cbiN2LXZpc3VhbGl6ZXItbGFyZ2UgLnZpc3VhbGl6ZXItdG9vbHMgLm1pbmltaXplIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI3YtdmlzdWFsaXplci1sYXJnZSAudmlzdWFsaXplci10b29scyAuZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jdi12aXN1YWxpemVyLWxhcmdlIC5wcm9kdWN0LXRpbGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jYXJvdXNlbC1idG4ge1xuICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICBjb2xvcjogIzAwMDtcbiAgaGVpZ2h0OiAycmVtO1xuICBsZWZ0OiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogNHJlbTtcbiAgd2lkdGg6IDJyZW07IH1cbiAgLmNhcm91c2VsLWJ0bi5zbGljay1kaXNhYmxlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2O1xuICAgIGNvbG9yOiAjZTZlNmU2OyB9XG4gIC5jYXJvdXNlbC1idG4uY2Fyb3VzZWwtbmV4dCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMXJlbTsgfVxuXG4jdi1wZHAtdG9wbGV2ZWxjb21wb25lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICN2LXBkcC10b3BsZXZlbGNvbXBvbmVudCAjdi12ZWhpY2xlLWltYWdlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE3LjVyZW07IH1cbiAgICAjdi1wZHAtdG9wbGV2ZWxjb21wb25lbnQgLnJlbGF0aXZlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbiN2LXZpc3VhbGl6ZXItZGVmYXVsdC12ZWhpY2xlLXNtYWxsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5sb2dpbi13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sb2dpbi13cmFwcGVyIHtcbiAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHJnYmEoMjQyLCAyNDIsIDI0MiwgMC44KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi44MTNyZW07XG4gICAgICBwYWRkaW5nLXRvcDogNC4wNjNyZW07IH0gfVxuICAucHRfY2FydCAubG9naW4td3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubG9naW4td3JhcHBlciBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxvZ2luLXdyYXBwZXIgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTsgfSB9XG4gIC5sb2dpbi13cmFwcGVyIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubG9naW4td3JhcHBlciAuYm9yZGVyZWQtZW5kIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxvZ2luLXdyYXBwZXIgLmJvcmRlcmVkLWVuZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgICAubG9naW4td3JhcHBlciAuYm9yZGVyZWQtZW5kIC5idXR0b24tZ3JvdXAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAubG9naW4td3JhcHBlciAucGFzc3dvcmQtcmVzZXQge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5sb2dpbi13cmFwcGVyIC5wYXNzd29yZC1yZXNldCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gIC5sb2dpbi13cmFwcGVyIC5sb2dpbi1yZW1lbWJlcm1lIHtcbiAgICBtYXJnaW46IDAuOTM3NXJlbSAwIDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luLXJlbWVtYmVybWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIC5sb2dpbi13cmFwcGVyIC5lcnJvci1mb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTsgfVxuICAubG9naW4td3JhcHBlciAubG9naW4tY3JlYXRlLWFjY291bnQgcCB7XG4gICAgbWFyZ2luOiAwLjE4NzVyZW0gMCAxLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luLWNyZWF0ZS1hY2NvdW50IHAge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjg3NXJlbTsgfSB9XG5cbi5sb2dpbi1wYWdlLXRpdGxlLFxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1wYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBtYXJnaW46IDIwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxvZ2luLXBhZ2UtdGl0bGUsXG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1wYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICBtYXJnaW46IDMwcHggMCAyLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxvZ2luLXBhZ2UtdGl0bGUsXG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogNTBweCAwIDIuOTM3NXJlbTsgfSB9XG5cbi51aS13aWRnZXQtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4udWktd2lkZ2V0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgei1pbmRleDogMTAxOyB9XG4gIC51aS13aWRnZXQgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC51aS13aWRnZXQgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAudWktd2lkZ2V0IC5kaWFsb2ctY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxLjA2MjVyZW0gMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC51aS13aWRnZXQgLmRpYWxvZy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMS42ODc1cmVtIDEuODc1cmVtIDIuNjg3NXJlbTsgfSB9XG4gIC51aS13aWRnZXQgaDEge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnVpLXdpZGdldCBoMSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMTg3NXJlbTsgfSB9XG4gIC51aS13aWRnZXQgLnVpLWRpYWxvZy10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudWktd2lkZ2V0IC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzNXB4O1xuICAgIHRvcDogMTJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC51aS13aWRnZXQgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gICAgICAgIHJpZ2h0OiA0N3B4O1xuICAgICAgICB0b3A6IDI0cHg7IH0gfVxuICAudWktd2lkZ2V0IC51aS1idXR0b24taWNvbi1vbmx5IC51aS1idXR0b24tdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudWktd2lkZ2V0IC51aS1idXR0b24taWNvbi1vbmx5IC51aS1idXR0b24taWNvbi1wcmltYXJ5OjphZnRlciB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY29udGVudDogXCJcXGYwMGRcIjtcbiAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgLnVpLXdpZGdldCAudWktYnV0dG9uLWljb24tb25seSAudWktYnV0dG9uLWljb24tcHJpbWFyeTpob3Zlcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZGI1YTAwOyB9XG4gIC51aS13aWRnZXQgLnVpLWRpYWxvZy1idXR0b25wYW5lIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnVpLXdpZGdldCAudWktZGlhbG9nLWJ1dHRvbnBhbmUge1xuICAgICAgICBwYWRkaW5nOiAwIDEuODc1cmVtIDEuNWVtOyB9IH1cbiAgLnVpLXdpZGdldC5uby1idXR0b25wYW5lIC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudWktd2lkZ2V0IC5idXR0b24tbW9kYWwge1xuICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMThweDsgfVxuXG4ucGFzc3dvcmQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICAucGFzc3dvcmQtY29udGFpbmVyIC5maWVsZC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnBhc3N3b3JkLWljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDIwcHg7IH1cbiAgLnBhc3N3b3JkLWljb246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZXllLXNob3ctcGFzc3dvcmQuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7IH1cbiAgLnBhc3N3b3JkLWljb24ucGFzc3dvcmQtc2hvdzo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9leWUtaGlkZS1wYXNzd29yZC5zdmdcIik7IH1cblxuLmZvcmdvdC1wYXNzd29yZCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5wYXNzd29yZC1yZXNldC1kaWFsb2cge1xuICBtYXgtd2lkdGg6IDQycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFzc3dvcmQtcmVzZXQtZGlhbG9nIHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5wYXNzd29yZC1yZXNldC1kaWFsb2cgLmZvcm0tcm93IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1pbi13aWR0aDogNDAwcHg7IH1cbiAgICAucGFzc3dvcmQtcmVzZXQtZGlhbG9nIC5idXR0b24tZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMS4zNzVyZW07IH1cbiAgICAucGFzc3dvcmQtcmVzZXQtZGlhbG9nIHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfSB9XG4gIC5wYXNzd29yZC1yZXNldC1kaWFsb2cgLmJ1dHRvbi1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHRfYWNjb3VudCAubWVkaXVtLWNlbnRlcmVkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4ucmVnaXN0ZXItcGFnZS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZWdpc3Rlci1wYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICBtYXJnaW46IDMwcHggYXV0byAyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJlZ2lzdGVyLXBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gIC5yZWdpc3Rlci1wYWdlLXRpdGxlLmhhcy1zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5yZWdpc3Rlci1icmVhZGNydW1iIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLnJlZ2lzdGVyLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA0Ljg3NXJlbTsgfVxuICAucmVnaXN0ZXItZm9ybSAuZGlhbG9nLXJlcXVpcmVkIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnJlZ2lzdGVyLWZvcm0gLmluZm8tYm94IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM4MDgyODU7IH1cbiAgICAucmVnaXN0ZXItZm9ybSAuaW5mby1ib3ggYSB7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAucmVnaXN0ZXItZm9ybSAuaW5mby1ib3ggYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5yZWdpc3Rlci1mb3JtIC5pbmZvLWJveCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5yZWdpc3Rlci1mb3JtIC5pbmZvLWJveCBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgLnJlZ2lzdGVyLWZvcm0gLmhpZGRlbi1jYXB0aW9uIC5mb3JtLWNhcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJlZ2lzdGVyLWZvcm0gLm5ld3NsZXR0ZXItdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLnJlZ2lzdGVyLWZvcm0gLm5ld3NsZXR0ZXItdGV4dCBzcGFuIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSBwLFxuLm5vcmVzdWx0cy1wYWdlIGEge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuc2VhcmNoLXBocmFzZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtbWVzc2FnZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtbWVzc2FnZSBwIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoLFxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCxcbi5ub3Jlc3VsdHMtcGFnZSAucmVzb3VyY2UtY2VudGVyIHtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggaW5wdXQge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCAwIDAgN3B4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCAuYnV0dG9uIHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCAuaWNvbi1zZWFyY2gge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoIC5yZWZpbmVtZW50LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCB1bCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoIGxpIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nOiAzMHB4IDAgMDsgfSB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSAuYm94IHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgaDQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgaDQgc3BhbiB7XG4gICAgcGFkZGluZzogMCAwIDAgOHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgcCxcbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBhIHtcbiAgbWFyZ2luOiAwIDAgMCAzMHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3IgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjg3NXJlbTsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciAuYnV0dG9uLmhvbGxvdyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjAyMDIwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMCAwIDQ1cHg7XG4gICAgcGFkZGluZzogNDVweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9rYWx0aXJlL3F1ZXN0aW9uLWhlYWRlci1pbWFnZUAyeC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTUwcHggY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MDBweDtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1MCUgY2VudGVyOyB9IH1cblxuLnBhY2thZ2VzLXNlbGVjdGlvbiB7XG4gIG1hcmdpbjogNDBweCAwIDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBhY2thZ2VzLXNlbGVjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDkwcHg7IH1cbiAgICAgICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMCAwIDEycHg7IH1cbiAgICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yIC5way1lZGl0LXdoZWVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAgIC5wYWNrYWdlcy1zZWxlY3Rpb24gLmNpcmNsZS1pbmRpY2F0b3IgLnN0ZXAtbnVtYmVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW46IDAgMC4zMTI1cmVtIDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAzMnB4OyB9XG4gICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvci5zZWxlY3RlZCB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvci5zZWxlY3RlZCAuc3RlcC1udW1iZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwOyB9XG4gICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvci5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2Q5ZDlkYTsgfVxuICAgICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvci5kaXNhYmxlZCAuc3RlcC1udW1iZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZDlkOWRhOyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyBoMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIGg1IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2VsZWN0b3ItcGFja2FnZXMgaDUge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfSB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyAubWlkLWxpbmUtY29weSB7XG4gIG1hcmdpbjogMi41cmVtIDAgMi4zNzVyZW07IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplIHtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZSB7XG4gICAgICBtYXJnaW46IDAgMCAzcmVtOyB9IH1cbiAgLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplIC5zZWwtc3VidGl0bGUgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZSBhIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDE4cHg7IH1cbiAgICAuc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUgYTpub3QoLnNlbC1zdWJ0aXRsZSkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZS5vZS1zaXplLW9yYW5nZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsgfVxuICAgIC5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZS5vZS1zaXplLW9yYW5nZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZhNTY2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZhNTY2OyB9XG4gICAgLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplLm9lLXNpemUtb3JhbmdlIGEge1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5vcHRpb25hbC1zaXplcy1oZWFkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDEuMTg3NXJlbTsgfVxuICAuc2VsZWN0b3ItcGFja2FnZXMgLm9wdGlvbmFsLXNpemVzLWhlYWRlciBpIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAgIC5zZWxlY3Rvci1wYWNrYWdlcyAub3B0aW9uYWwtc2l6ZXMtaGVhZGVyIGk6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjdweDsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgLnNob3ctc2VsZi1zZXJ2aWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUtY29udGFpbmVyIC5zZWN0aW9uLXRpdGUge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplLWNvbnRhaW5lciAuc2VsLXN1YnRpdGxlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZS1jb250YWluZXIgLnN1YnRpdGxlLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC55b3VyLXZlaGljbGUtaW5mbyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5zZWN0aW9uLXRpdGxlLXRvb2x0aXAge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLnNlbGVjdG9yLXBhY2thZ2VzIC5zZWN0aW9uLXRpdGxlLXRvb2x0aXAgLnNlbC1zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5vZS1zaXplLWJ0biB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2VjdGlvbi1xdWVzdGlvbi1jb3B5IHAsIC5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmcgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuc2VjdGlvbi1xdWVzdGlvbi1jb3B5IHAgc3BhbiwgLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZyBwIHNwYW4ge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4ucGFja2FnZXMtc2VjdGlvbi1oZWFkaW5nIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqLyB9XG4gIC5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmcgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtOyB9XG4gIC5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmcgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAjZmY2OTAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4ucGFja2FnZXMtc2VjdGlvbi1oZWFkaW5nLW1haW4ge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmctbWFpbiBwIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5wYWNrYWdlcy1zdGFnZ2VyZWQge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAucGFja2FnZXMtc3RhZ2dlcmVkIC5wYWNrYWdlLXN0YWdnZXJlZC1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wYWNrYWdlcy1zdGFnZ2VyZWQgLnBhY2thZ2Utc3RhZ2dlcmVkLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogNzBweCAwIDEwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAxMjVweCAwIDEzNXB4OyB9IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIGgxLFxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciBoMSxcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjdweDsgfSB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAxLjRyZW0gMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07IH0gfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2LXdyYXBwZXIge1xuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICAgbWluLWhlaWdodDogNjBweDsgfSB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYge1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH0gfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpLmFjdGl2ZSBhIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy10YWJzLW5hdiBsaSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYgbGk6aG92ZXI6OmFmdGVyLCAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYgbGk6aG92ZXI6OmFmdGVyLCAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgIGhlaWdodDogNXB4OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc01haW5Db250ZW50V3JhcHBlciB7XG4gIG1hcmdpbjogNDVweCAwIDExNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzTWFpbkNvbnRlbnRXcmFwcGVyIHtcbiAgICAgIG1hcmdpbjogNzVweCAwIDExNXB4OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1sYW5kaW5nLWhlYWQgaDIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtbGFuZGluZy1oZWFkIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtbGFuZGluZy1oZWFkIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtbGFuZGluZy1oZWFkIHAge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1sYW5kaW5nLWhlYWQgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1sYW5kaW5nLWhlYWQgLmJ1dHRvbi5zbWFsbCB7XG4gIG1hcmdpbjogMjBweCAwIDA7XG4gIHBhZGRpbmc6IDhweCAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWxhbmRpbmctaGVhZCAuYnV0dG9uLnNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1hcmdpbjogMzBweCAwIDA7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0ge1xuICBib3JkZXI6IDZweCBzb2xpZCAjZjJmMmYyO1xuICBtYXJnaW46IDE1cHggMCAwO1xuICBwYWRkaW5nOiA3cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbTo6YmVmb3JlLCAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW06OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSB7XG4gICAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSAucmViYXRlcy1pdGVtLWltZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzUuMzMyJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSAucmViYXRlcy1pdGVtLWltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gLnJlYmF0ZXMtaXRlbS1pbWcgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSAucmViYXRlcy1pdGVtLWNvbnRlbnQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gLnJlYmF0ZXMtaXRlbS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB3aWR0aDogNjQuNjclOyB9IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIGgzIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweCA1cHg7IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIGgyIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweCAxMHB4OyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweCAxOHB4OyB9XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIHAgc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSBhLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDAgOHB4IDEwcHg7XG4gICAgcGFkZGluZzogMTFweCAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIGEuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtLXR5cGUtcm93IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0tdHlwZS1yb3cgLnJlYmF0ZXMtaXRlbS10eXBlIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbS10eXBlLXJvdyAucmViYXRlcy1pdGVtLXR5cGUge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0tdHlwZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmc6IDAgMTNweDsgfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0tdHlwZS5ibGFjayB7XG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtcGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtcGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLFxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmZlYXR1cmVkLWJyYW5kcyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcyxcbiAgICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuZmVhdHVyZWQtYnJhbmRzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMTg3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtc2xvdCBkaXYge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cbiAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1zbG90IGRpdiBwIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDEuOHJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtc2xvdCBkaXYgcCB7XG4gICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcyB7XG4gIHBhZGRpbmc6IDFyZW0gMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH0gfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW0gYSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMy43NXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtIGEge1xuICAgICAgaGVpZ2h0OiA4cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4zcmVtO1xuICAgICAgcGFkZGluZzogMS4zcmVtOyB9IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtLmZlYXR1cmVkLWJyYW5kcy1pdGVtIGEge1xuICBib3JkZXI6IDZweCBzb2xpZCAjZjJmMmYyO1xuICBoZWlnaHQ6IDcuMTg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtLmZlYXR1cmVkLWJyYW5kcy1pdGVtIGEge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxNXJlbTsgfSB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtaXRlbSAuYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW0gLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDEuM3JlbTtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtOmhvdmVyIC5idXR0b24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW0gaW1nIHtcbiAgbWF4LWhlaWdodDogNC4wNjI1cmVtOyB9XG5cbi5icmFuZC1iYW5uZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgcGFkZGluZzogNHJlbSAwIDNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5icmFuZC1iYW5uZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgIHBhZGRpbmc6IDguNzVyZW0gMCA4LjI1cmVtOyB9XG4gICAgICAuYnJhbmQtYmFubmVyIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH0gfVxuICAuYnJhbmQtYmFubmVyIGgxLFxuICAuYnJhbmQtYmFubmVyIGgyIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYnJhbmQtYmFubmVyIGgxLFxuICAgICAgLmJyYW5kLWJhbm5lciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjdweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG5cbi5icmFuZC1iYW5uZXItd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gIG1pbi1oZWlnaHQ6IDMuMzEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnJhbmQtYmFubmVyLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDMuNzVyZW07IH0gfVxuICAuYnJhbmQtYmFubmVyLXdyYXBwZXIgLmJyYW5kLWJhbm5lciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzklIDIwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1LjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5icmFuZC1iYW5uZXItd3JhcHBlciAuYnJhbmQtYmFubmVyIHtcbiAgICAgICAgcGFkZGluZzogOC4xMjVyZW0gMCA4LjI1cmVtOyB9IH1cblxuLmJyYW5kLW1lbnUtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDMuMzEyNXJlbTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kLW1lbnUtd3JhcHBlciB7XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07IH0gfVxuICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGxpIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjMxMjVyZW07XG4gICAgICBtYXgtd2lkdGg6IDMzJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGxpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMy43NXJlbTsgfSB9XG4gICAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGxpIGEge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGxpIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjc1cmVtOyB9IH1cbiAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIC5zZWxlY3RlZCxcbiAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCAuc2VsZWN0ZWQ6OmFmdGVyLFxuICAgICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCBhOmhvdmVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCAuc2VsZWN0ZWQ6OmFmdGVyLFxuICAgICAgICAgIC5icmFuZC1tZW51LXdyYXBwZXIgdWwgYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7IH0gfVxuXG4uYnJhbmQtcGFnZS10aXRsZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4xMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmFib3V0LWJyYW5kLXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5hYm91dC1icmFuZC1zZWN0aW9uIGlmcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuYWJvdXQtYnJhbmQtc2VjdGlvbiBpZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAuYWJvdXQtYnJhbmQtc2VjdGlvbiAuYnV0dG9uLFxuICAuYWJvdXQtYnJhbmQtc2VjdGlvbiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLmFib3V0LWJyYW5kLXNlY3Rpb24gLmFib3V0LWJyYW5kLXRvcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5icmFuZC1wYWdlLXByb2R1Y3RzIC5ncmlkLXRpbGUge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovIH1cblxuLmJyYW5kLXBhZ2UtcHJvZHVjdHMgLnJlY29tbWVuZGVkLWJhZ2RlLFxuLmJyYW5kLXBhZ2UtcHJvZHVjdHMgLnByb2R1Y3QtY29tcGFyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3QtdXMtbWFwIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3QtdXMtbWFwIHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDsgfSB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gIHBhZGRpbmc6IDRyZW0gMCAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgcGFkZGluZzogOC43NXJlbSAwIDguMjVyZW07IH1cbiAgICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH0gfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciAuY29udGFjdHVzLWJhbm5lci10ZXh0LWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciBoMiB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDY3cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNhcmRzLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDsgfSB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0LWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0LW9wZW5pbmdkYXlzIHtcbiAgY29sb3I6ICM5OTk7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3QtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZThlOGU5OyB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscCB7XG4gIG1hcmdpbi10b3A6IDRyZW07IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3QtYWxpZ24tY29tcGxlbWVudCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWwgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMjRweDsgfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lci13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgbWluLWhlaWdodDogMy4zMTI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDMuNzVyZW07IH0gfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lci13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1LjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXIge1xuICAgICAgICBwYWRkaW5nOiA4LjEyNXJlbSAwIDguMjVyZW07IH0gfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLXBhZ2UtdGl0bGUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZjY5MDA7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtcGFnZS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAtY2FyZHMge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyAuY2FyZHMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyAuY2FyZC1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIC5jYXJkLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICBzcGVhazogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHdpZHRoOiAxZW07IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIC5jYXJkcy1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAtY2FyZHMgYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIC5hc3Npc3RhbmNlLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIC5hc3Npc3RhbmNlLWJsb2NrIC5hc3Npc3RhbmNlLXRleHQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyAuYXNzaXN0YW5jZS1ibG9jayAuYXNzaXN0YW5jZS1udW1iZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogI2Y2MDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuXG4uY29udGFjdHVzLWFkZHJlc3Mge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRhY3R1cy1hZGRyZXNzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY29udGFjdHVzLWFkZHJlc3MgLmFkZHJlc3MtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gIC5jb250YWN0dXMtYWRkcmVzcyAuYWRkcmVzcy1sb2NhdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY29udGFjdHVzLWFkZHJlc3MgLmFkZHJlc3MtZGlyZWN0aW9ucyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jb250YWN0dXMtYWRkcmVzcyAuYWRkcmVzcy13b3JraW5naG91cnMge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuQG1lZGlhIHByaW50IHtcbiAgYVtocmVmXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiB7XG4gICAgbWFyZ2luOiA1bW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5oZWFkZXItYmFubmVyLFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmhlYWRlci1uYXYsXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAucHJpbnQtbGluayxcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5sb2dpbi1jcmVhdGUtYWNjb3VudCxcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5uZWVkLWhlbHAtY2hlY2tvdXQsXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuZm9vdGVyLXdyYXBwZXIsXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuZm9vdGVyLWNvcHktd3JhcHBlcixcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC50b3AtYmFyLXJpZ2h0LFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmFkZC10by1jYWxlbmRhciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuYXRyb290LFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNoZWNrZWQtaWNvbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmNjkwMCBpbnNldCAhaW1wb3J0YW50OyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuaGVhZGVyLW1haW4tbmF2OjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuaGVhZGVyLW1haW4tbmF2IC50b3AtYmFyLWxlZnQgLmhlYWRlci1sb2dvLWltYWdlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgd2lkdGg6IDIwJTsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2UgaDEge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTVtbTsgfVxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24gLm9yZGVyLWRhdGUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAubWFpbi1zZWN0aW9uLWhlYWRlciAucHJvZHVjdG5hbWUtY29sdW1uIHtcbiAgICAgICAgZmxleDogMCAwIDMzLjY2NjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy42NjY2NyU7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5tYWluLXNlY3Rpb24taGVhZGVyIC5wcm9kdWN0dmFsdWVzLWNvbHVtbiB7XG4gICAgICAgIGZsZXg6IDAgMCA2Ni4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogNjYuMzMzMzMlOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAucHJvZHVjdC1yb3cgLm9yZGVyZGV0YWlscy1wcm9kdWN0bmFtZSxcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZXJ2aWNlLXJvdyAub3JkZXJkZXRhaWxzLXByb2R1Y3RuYW1lIHtcbiAgICAgICAgZmxleDogMCAwIDMzLjY2NjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy42NjY2NyU7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5wcm9kdWN0LXJvdyAub3JkZXJkZXRhaWxzLXByb2R1Y3R2YWx1ZXMsXG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAuc2VydmljZS1yb3cgLm9yZGVyZGV0YWlscy1wcm9kdWN0dmFsdWVzIHtcbiAgICAgICAgZmxleDogMCAwIDY2LjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni4zMzMzMyU7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5wcm9kdWN0LXJvdyAubGluZS1pdGVtLXByaWNlIC5zZWN0aW9uLWhlYWRlcixcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5wcm9kdWN0LXJvdyAubGluZS1pdGVtLXF1YW50aXR5IC5zZWN0aW9uLWhlYWRlcixcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5wcm9kdWN0LXJvdyAubGluZS1pdGVtLXRvdGFsIC5zZWN0aW9uLWhlYWRlcixcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZXJ2aWNlLXJvdyAubGluZS1pdGVtLXByaWNlIC5zZWN0aW9uLWhlYWRlcixcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZXJ2aWNlLXJvdyAubGluZS1pdGVtLXF1YW50aXR5IC5zZWN0aW9uLWhlYWRlcixcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZXJ2aWNlLXJvdyAubGluZS1pdGVtLXRvdGFsIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNW1tO1xuICAgICAgICBwYWRkaW5nOiAybW0gMDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweCAhaW1wb3J0YW50OyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5zZWN0aW9uLXRpdGxlLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5zbWFsbC0xMiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLnBheW1lbnQtdmVyaWZpY2F0aW9uIC5zZWN0aW9uLWJveCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE0cHggIWltcG9ydGFudDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5wcm9kdWN0LXNwZWNpZmljLW1lc3NhZ2VzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5uZWVkLWNoYW5nZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2luc2lkZV9ob2xkZXIsXG4gIC5tYWluTmF2TGl2ZUNoYXRDVEEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucGFnZS1pYW0tc3RvcmUtbG9jYXRvciAucGFjLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAucGFnZS10aXRsZSB7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC5wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMzBweCAwIDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiA1MHB4IDAgMjBweDsgfSB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC5wYWdlLWxpbmsge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfc3RvcmUtbG9jYXRvciAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW46IDAgMCAzNXB4OyB9IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgI2ZpbHRlcnMtY29udGVudC13cmFwIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAjZmlsdGVycy1jb250ZW50LXdyYXAuZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMCAwOyB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGVzLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZXMtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDIuNXJlbSAwOyB9IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZXMtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXJhZGlvLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZXMtdGl0bGUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTsgfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2U4ZThlOTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH0gfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5wZXJzb25hbC12ZWhpY2xlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL3BlcnNvbmFsLnN2Z1wiKTsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvY29tbWVyY2lhbC5zdmdcIik7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAuZmxlZXQtdmVoaWNsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9mbGVldC5zdmdcIik7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAucGVyc29uYWwtdmVoaWNsZS1sYWJlbCxcbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAuY29tbWVyY2lhbC12ZWhpY2xlLWxhYmVsLFxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5mbGVldC12ZWhpY2xlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wIDI4cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLnBlcnNvbmFsLXZlaGljbGUtbGFiZWwgc3BhbixcbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwgc3BhbixcbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5mbGVldC12ZWhpY2xlLWxhYmVsIHNwYW4ge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6aGFzKGlucHV0OmNoZWNrZWQpIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYzc1MzAwOyB9XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZTpoYXMoaW5wdXQ6Y2hlY2tlZCkgbGFiZWwge1xuICAgICAgY29sb3I6ICNjNzUzMDA7IH1cbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlOmhhcyhpbnB1dDpjaGVja2VkKSAucGVyc29uYWwtdmVoaWNsZS1sYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL3BlcnNvbmFsLXNlbGVjdGVkLnN2Z1wiKTsgfVxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6aGFzKGlucHV0OmNoZWNrZWQpIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9jb21tZXJjaWFsLXNlbGVjdGVkLnN2Z1wiKTsgfVxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6aGFzKGlucHV0OmNoZWNrZWQpIC5mbGVldC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvZmxlZXQtc2VsZWN0ZWQuc3ZnXCIpOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTk7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC52ZWhpY2xlLXR5cGUtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDM1cHg7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAudmVoaWNsZS10eXBlLXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIG1hcmdpbjogMC4xODc1cmVtO1xuICAgIHdpZHRoOiAxOHB4OyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgbGFiZWwge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtOyB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC5sb2NhdGlvbi1pdGVtLXN1bW1hcnkge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cblxuLnN0b3JlLWxvY2F0b3ItcGFnZS13cmFwcGVyIHtcbiAgbWluLWhlaWdodDogNjg1cHg7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2Utd3JhcHBlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICAgIG1pbi1oZWlnaHQ6IDgyMHB4OyB9IH1cblxuLnN0b3JlLWxvY2F0b3ItcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5saXN0LXZpZXcge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWxpc3Qge1xuICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1saXN0IHtcbiAgICAgICAgcGFkZGluZzogMCAyLjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtbGlzdCAucGFnZS1saW5rIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbSAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMi41cmVtIDA7IH0gfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgMCAwIDdweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5idXR0b24uc21hbGwge1xuICAgICAgcGFkZGluZzogMTEuNXB4IDE1cHg7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zdGFydF9sb2NhdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMi4xODc1cmVtOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zdGFydF9sb2NhdGlvbjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc3RhcnRfbG9jYXRpb246Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDA7IH1cbiAgICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc3RhcnRfbG9jYXRpb246Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtZmllbGQtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLWZpZWxkLXdyYXBwZXIgLmljb24tc2VhcmNoIHtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtZmllbGQtd3JhcHBlciAuaWNvbi1jYW5jZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLnNlYXJjaC1maWVsZC13cmFwcGVyIC5pY29uLWNhbmNlbDpob3ZlciB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmJyZWFkY3J1bWJzLWZpbHRlcnMgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmE1ODM7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmJyZWFkY3J1bWJzLWZpbHRlcnMgLmJ1dHRvbi5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy1maWx0ZXJzIC5idXR0b24uaXMtYWN0aXZlIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uLmJyZWFkY3J1bWItZmlsdGVyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAxLjI1cmVtIDAuMzEyNXJlbSAwLjMxMjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uIC5jbGVhci1icmVhZGNydW1iLWZpbHRlciB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMC4xMjVyZW07XG4gICAgICB0b3A6IDAuMjVyZW07IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy1maWx0ZXJzIC5idXR0b24gLmNsZWFyLWZpbHRlcnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDVweDsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy13cmFwcGVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZThlOGU5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMi41cmVtOyB9IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuZmlsdGVycy13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuZmlsdGVycy13cmFwcGVyLmlzLWFjdGl2ZSAuZmlsdGVycy1idXR0b246OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuZmlsdGVycy1idXR0b24sXG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmZpbHRlcnMtdGl0bGUge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuZmlsdGVycy1idXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmZpbHRlcnMtYnV0dG9uOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZTgwZlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjE4NzVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDAuODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIHAge1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMCAyLjVyZW07IH0gfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCAuY2xlYXItZmlsdGVycyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCAuY2xlYXItZmlsdGVycyAuY2xlYXItZmlsdGVycy1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIC5jbGVhci1maWx0ZXJzIC5jbGVhci1maWx0ZXJzLWJ1dHRvbjpob3ZlciwgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgLmNsZWFyLWZpbHRlcnMgLmNsZWFyLWZpbHRlcnMtYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2YTU4MztcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIC5jbGVhci1maWx0ZXJzIC5jbGVhci1maWx0ZXJzLWJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjOWM5Yzk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2M5YzljOTtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgLmZpbHRlcnMtY29udGVudC13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5maWx0ZXJzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNzhweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgei1pbmRleDogMTAwOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlciB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXI6bm90KDpjaGVja2VkKSArIGxhYmVsLCAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXI6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxLjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcjpub3QoOmNoZWNrZWQpICsgbGFiZWw6OmJlZm9yZSwgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVyOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMWRiXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcjpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXI6ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgICBjb2xvcjogI2M5YzljOTsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVyOmRpc2FibGVkICsgbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYzljOWM5OyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmhpZGUtZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3gge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4xMjVyZW0gY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtLmFjdGl2ZSwgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbTpob3ZlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgI2ZmNjkwMDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0OyB9XG4gICAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0uYWN0aXZlIC5wci1zbmlwcGV0LXN0YXJzLnByLXNuaXBwZXQtc3RhcnMtcG5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0OyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtIC5wci1zbmlwcGV0LXJhdGluZy1kZWNpbWFsIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0gLnN0b3JlLWRldGFpbHMtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbSAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtIHAge1xuICAgICAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5zY3JvbGwtbG9hZGVyIHtcbiAgICAgIGJvdHRvbTogLTcwcHg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdG9wOiBhdXRvOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbS1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDAgMTVweDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLnBob25lLW51bWJlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0tZGlzdGFuY2Uge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9uLWl0ZW0tbmFtZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbi1pdGVtLW5hbWUgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9uLWl0ZW0tbmFtZSAubmlja25hbWUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyAuZXJyb3ItY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcgLmVycm9yLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyAuZXJyb3ItY29udGFpbmVyIC5lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweCA0MHB4IDE1cHggMTVweDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLm1hcC12aWV3IC5sb2FkZXIge1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyAuZ3BzLXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHotaW5kZXg6IDEwOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyAuZ3BzLXRvZ2dsZSBpIHtcbiAgICAgICAgY29sb3I6ICNkZGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcgLmdwcy10b2dnbGUuYWN0aXZlIGkge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAjZmlsdGVycy1jb250ZW50LXdyYXAuZXhwYW5kZWQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAubWFwLXZpZXcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudmlldy1tYXAtYnRuIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICAudmlldy1tYXAtYnRuIC5hY3RpdmUtYnRuLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC52aWV3LW1hcC1idG4uaXMtYWN0aXZlIC5idG4tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnZpZXctbWFwLWJ0bi5pcy1hY3RpdmUgLmFjdGl2ZS1idG4tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubG9jYXRpb25zLWJveCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG4jbWFwLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWUzZGY7XG4gIG1pbi1oZWlnaHQ6IDMyMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjbWFwLWJveCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5saXN0LXZpZXcge1xuICAgIHBhZGRpbmctdG9wOiAyNzhweDtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1maWx0ZXItYm94IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLnN0YXJ0X2xvY2F0aW9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgI2ZpbHRlcnMtY29udGVudC13cmFwLmV4cGFuZGVkIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDI3OHB4KTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDQwJTsgfSB9XG5cbi5sb2NhdGlvbnMtYm94IHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi50b2RheXMtaG91cnMtdG9nZ2xlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAudG9kYXlzLWhvdXJzLXRvZ2dsZSAuc3RvcmUtaG91cnMtZXhwYW5kZWQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0LCB2aXNpYmlsaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLnRvZGF5cy1ob3Vycy10b2dnbGUgLnN0b3JlLWhvdXJzLWV4cGFuZGVkIC5zdG9yZS1zY2hlZHVsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudG9kYXlzLWhvdXJzLXRvZ2dsZSAuc3RvcmUtaG91cnMtY29sbGFwc2VkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gICAgLnRvZGF5cy1ob3Vycy10b2dnbGUgLnN0b3JlLWhvdXJzLWNvbGxhcHNlZCAqIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC50b2RheXMtaG91cnMtdG9nZ2xlIC5zdG9yZS1ob3Vycy1jb2xsYXBzZWQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuMTg3NXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAudG9kYXlzLWhvdXJzLXRvZ2dsZS5pcy1hY3RpdmUgLnN0b3JlLWhvdXJzLWNvbGxhcHNlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7IH1cbiAgLnRvZGF5cy1ob3Vycy10b2dnbGUuaXMtYWN0aXZlIC5zdG9yZS1ob3Vycy1leHBhbmRlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi50b2RheXMtaG91cnMtbGFiZWwge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc3RvcmUtY2xvc2VkIHtcbiAgY29sb3I6ICNjNjE3NTI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zdG9yZS1vcGVuIHtcbiAgY29sb3I6ICMxNTdmMTA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zdG9yZS1ob3Vycy13cmFwcGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gIC5zdG9yZS1ob3Vycy13cmFwcGVyLmV4cGFuZGVkIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDsgfVxuXG4uc3RvcmUtc2NoZWR1bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDEwcHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAganVzdGlmeS1pdGVtczogc3RhcnQ7IH1cbiAgLnN0b3JlLXNjaGVkdWxlIC5zdG9yZS1kYXkge1xuICAgIHdpZHRoOiAxMTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5hbGwtc3RvcmVzIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4OyB9XG4gICAgLmFsbC1zdG9yZXMgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICBsZWZ0OiAwOyB9XG4gIC5hbGwtc3RvcmVzIC5zdWJtZW51IHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC5hbGwtc3RvcmVzIC5zdWJtZW51W2FyaWEtaGlkZGVuPWZhbHNlXSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmFsbC1zdG9yZXMgLmNpdHktbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbWFyZ2luOiA1cHggMCAtMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4uYWxsLXN0b3JlcyAuc3RvcmUtbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLmFsbC1zdG9yZXMgLm1lbnUgLmNpdHktYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zdG9yZS1kZXRhaWxzLXBhZ2Uge1xuICBwYWRkaW5nOiAwIDEuMjVyZW0gMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5tYXAtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogNDBweCAwIDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnJvdy1zZXBhcmF0b3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLWhvdXJzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAubWVudS5uZXN0ZWQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5tYXAtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogNDBweCAwIDEwMHB4OyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAjbWFwLFxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgI3N0cmVldHZpZXcge1xuICAgICAgbWluLWhlaWdodDogMjUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAucm93LXNlcGFyYXRvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtaG91cnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5tZW51Lm5lc3RlZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgdWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIGxpIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIGxpLnN0b3JlLWFkZHJlc3Mge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5jbG9zZS1idXR0b24ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGhlaWdodDogMzBweDtcbiAgICB0b3A6IDE2cHg7XG4gICAgd2lkdGg6IDMwcHg7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLW5hbWUgLm5pY2tuYW1lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5saW5rIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1jb250YWN0LWluZm8ge1xuICAgIG1hcmdpbjogMS4yNXJlbSAwOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtY29udGFjdC1pbmZvIHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLWhvdXJzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmJvbGQtdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmFib3V0LWxvY2F0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5hYm91dC1sb2NhdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1hbWVuaXRpZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtYW1lbml0aWVzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtYW1lbml0aWVzIGkge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG4gICAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1hbWVuaXRpZXMgaTo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLm9mZmVyZWQtc2VydmljZS1uYW1lIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsaXN0LXN0eWxlOiBkaXNjOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgY29udGVudDogXCJcXGU4MGZcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZTgwZlwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IC5zdG9yZS1zZXJ2aWNlcy1jb250ZW50IHtcbiAgICBtYXJnaW46IDAgMCAyLjVyZW0gMi41cmVtOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCAuc2VydmljZS10aXRsZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMCAyLjE4NzVyZW0gMCAxLjI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLXNlcnZpY2VzLWxpc3Qge1xuICAgIGNvbHVtbi1jb3VudDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLXNlcnZpY2VzLWxpc3Qge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDM7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLXNlcnZpY2VzLWxpc3Qge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDQ7IH0gfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5tYXAtY29udGFpbmVyIHVsIGxpIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5tYXAtY29udGFpbmVyIHVsIGxpLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAubWFwLWNvbnRhaW5lciB1bCBsaSBhLnVpLXRhYnMtYW5jaG9yIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnRpdGxlLW1haW4tc2VjdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICBwYWRkaW5nOiAwIDAgMCAxOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC50aXRsZS1tYWluLXNlY3Rpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAudGl0bGUtbWFpbi1zZWN0aW9uLnJldmlldy10aXRsZSB7XG4gICAgICBtYXJnaW46IDEuODc1cmVtIDAgMS4yNXJlbTsgfVxuXG4uc3RvcmUtbG9jYXRpb24taW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RvcmUtbG9jYXRpb24taW5mbyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuICAuc3RvcmUtbG9jYXRpb24taW5mbyAuc3RvcmUtZGlzdGFuY2Uge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uc3RvcmUtbG9jYXRvci1wYWdlLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0b3JlLWRldGFpbHMtc2lkZWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMzIwcHgpO1xuICBsZWZ0OiAtMTAwJTtcbiAgbWFyZ2luLXRvcDogMzIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc3RvcmUtZGV0YWlscy1zaWRlYmFyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IC00MCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IGxlZnQgMC40cyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG4gIC5zdG9yZS1kZXRhaWxzLXNpZGViYXIub3BlbiB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnN0b3JlLWRldGFpbHMtc2lkZWJhci5vcGVuIHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87IH0gfVxuXG4ubWFwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWFwLWNvbnRhaW5lciAuZ21ub3ByaW50LFxuICAgIC5tYXAtY29udGFpbmVyIC5nbS1jb250cm9sLWFjdGl2ZSxcbiAgICAubWFwLWNvbnRhaW5lciAuZ20taXYtYWRkcmVzcyxcbiAgICAubWFwLWNvbnRhaW5lciAuZ3BzLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnN0b3JlLWRldGFpbHMtbW9kZSAuc3dpdGNoLXRvLXN0cmVldC12aWV3LFxuLnN0b3JlLWRldGFpbHMtbW9kZSAuc3dpdGNoLXRvLW1hcC12aWV3IHtcbiAgbWFyZ2luOiAwLjMxMjVyZW0gMCAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5zd2l0Y2gtdG8tc3RyZWV0LXZpZXcsXG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuc3dpdGNoLXRvLW1hcC12aWV3IHtcbiAgICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtOyB9IH1cblxuLnN0b3JlLWRldGFpbHMtbW9kZSAuc3RyZWV0LXZpZXctd3JhcHBlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0b3JlLWRldGFpbHMtbW9kZSAuc3RyZWV0LXZpZXctd3JhcHBlciAjc3RyZWV0dmlldyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3R0b206IDI1cHg7XG4gIGhlaWdodDogMjUwcHg7XG4gIGxlZnQ6IDIwcHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjkzNzVyZW0gMy43NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjAwcHg7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyB7XG4gICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC42MjVyZW0gMi4xODc1cmVtO1xuICAgICAgd2lkdGg6IDExMHB4OyB9IH1cbiAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAubWFwLXZpZXcsXG4gIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLnN0cmVldC12aWV3IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLm1hcC12aWV3IC5nbW5vcHJpbnQsXG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAubWFwLXZpZXcgLmdtLWNvbnRyb2wtYWN0aXZlLFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLm1hcC12aWV3IC5nbS1pdi1hZGRyZXNzLFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLm1hcC12aWV3IC5ncHMtdG9nZ2xlLFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLnN0cmVldC12aWV3IC5nbW5vcHJpbnQsXG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAuc3RyZWV0LXZpZXcgLmdtLWNvbnRyb2wtYWN0aXZlLFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLnN0cmVldC12aWV3IC5nbS1pdi1hZGRyZXNzLFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLnN0cmVldC12aWV3IC5ncHMtdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAjc3RyZWV0dmlldyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5tYXAtYWNjb3JkaW9uIHtcbiAgYm90dG9tOiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmN0YS1idXR0b25zIC5saW5rIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG4uaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5hY2Nlc3NpYmlsaXR5LXRhYmxlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDFweDsgfVxuICAuYWNjZXNzaWJpbGl0eS10YWJsZSB0ZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAgIC5hY2Nlc3NpYmlsaXR5LXRhYmxlIHRkOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5hY2NvdW50LXN1YnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFjY291bnQtc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuICAuYWNjb3VudC1zdWJ0aXRsZSAubGluayB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5hY2NvdW50LXNlY3Rpb24taGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAyNXB4IDA7IH1cbiAgLmFjY291bnQtc2VjdGlvbi1oZWFkaW5nLnRvcC1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5hY2NvdW50LXNlY3Rpb24taGVhZGluZyArIC5iYWNrIHtcbiAgICBtYXJnaW4tdG9wOiAtMS4zcmVtOyB9XG5cbi5tb2RpZnktYXBwb2ludG1lbnQtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWF4LXdpZHRoOiAyMDhweDsgfVxuICAubW9kaWZ5LWFwcG9pbnRtZW50LWJ1dHRvbiAubW9kaWZ5LWFjY291bnQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5hY2NvdW50LXNlY3Rpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFjY291bnQtc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYWNjb3VudC1zZWN0aW9uIC5uYXYtd3JhcHBlci5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYWNjb3VudC1zZWN0aW9uIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMjVweCAxNXB4OyB9IH1cbiAgLmFjY291bnQtc2VjdGlvbiAubXktZ2FyYWdlLXBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7IH0gfVxuICAuYWNjb3VudC1zZWN0aW9uIC5iYWNrIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLmJhY2sgYTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5hY2NvdW50LXNlY3Rpb24gLmJ1dHRvbi1ncm91cCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLmJ1dHRvbi1ncm91cCAuYnV0dG9uLWxpbmsge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLmJ1dHRvbi1ncm91cCAuYnV0dG9uLWxpbmssXG4gICAgLmFjY291bnQtc2VjdGlvbiAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgICAgZmxleC1iYXNpczogMzAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5hY2NvdW50LXNlY3Rpb24gLmJ1dHRvbi1ncm91cCAuYnV0dG9uLWxpbmssXG4gICAgICAgIC5hY2NvdW50LXNlY3Rpb24gLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAyMCU7IH0gfVxuICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZm9vdGVyIC5oZXJlLXRvLWhlbHAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZm9vdGVyIC5hY3Rpb24tYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWZvb3RlciAub3JkZXJTdW1tYXJ5TGl2ZUNoYXQsXG4gICAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1mb290ZXIgLnBob25lLW51bWJlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1mb290ZXIgLmFjdGlvbi1pY29uIC5jYXJkLWljb24ge1xuICAgICAgbWF4LWhlaWdodDogMTZweDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZm9vdGVyIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5hY2NvdW50LXNlY3Rpb24gLm1vZGlmeS1hcHBvaW50bWVudC1pbXBvcnRhbnQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAuYWNjb3VudC1zZWN0aW9uIC5tb2RpZnktYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDAuMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hY2NvdW50LXNlY3Rpb24gLm1vZGlmeS1hcHBvaW50bWVudC1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAuYWNjb3VudC1zZWN0aW9uIC5uby1vcmRlcnMtc2VsZWN0b3JzIHtcbiAgICBtYXJnaW46IDAgLTEwcHg7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5uby1vcmRlcnMtc2VsZWN0b3JzIC5zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5uby1vcmRlcnMtc2VsZWN0b3JzIC5uby1vcmRlci1zZWxlY3Rvci10YWIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5hY2NvdW50LXNlY3Rpb24gLm5vLW9yZGVycy1zZWxlY3RvcnMgLm5vLW9yZGVyLXNlbGVjdG9yLXRhYjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI2ZmNjkwMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm5vLW9yZGVycy1zZWxlY3RvcnMgLnNlbGVjdG9yLWltYWdlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDEyMHB4OyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAubm8tb3JkZXJzLXNlbGVjdG9ycyAuc2VsZWN0b3ItdGFiLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmFjY291bnQtYmxvY2stYm9yZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIucGVyc29uYWwtaW5mbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFjY291bnQtYmxvY2stYm9yZGVyLnBlcnNvbmFsLWluZm8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5hY2NvdW50LWJsb2NrLWJvcmRlci5vcmRlci1ibG9jayB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U4ZThlOTsgfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIgLmFjY291bnQtaW5mby10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5hY2NvdW50LWJsb2NrLWJvcmRlciAubGFiZWwtd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIgbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5hY2NvdW50LWJsb2NrLWJvcmRlciBsYWJlbCAudG9wLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgLmFjY291bnQtYmxvY2stYm9yZGVyIGxhYmVsIC50b3AtbGFiZWwgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIgLmFjY291bnQtaW5mbyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmFjY291bnQtYmxvY2stYm9yZGVyIC5wcy1yZXN1bHRzLWltYWdlLXRpcCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmFjY291bnQtYmxvY2stYm9yZGVyIC5lbWFpbC1hZGRyZXNzLWluZm8ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFjY291bnQtYmxvY2stYm9yZGVyIC5lbWFpbC1hZGRyZXNzLWluZm8ge1xuICAgICAgICB3aWR0aDogODAlOyB9IH1cblxuLmFjY291bnQtZW1haWwtdG9vbHRpcCAudG9vbHRpcC1waG9uZSB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLmFjY291bnQtcGFnZSAubW9iaWxlLWFjY291bnQtbGFiZWwgLmFjY291bnQtcGFnZSxcbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLm9yZGVyLXBhZ2UgLm1vYmlsZS1hY2NvdW50LWxhYmVsIC5vcmRlci1wYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS1pdGVtcy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUtaXRlbXMtd3JhcHBlci5leHBhbmRlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS52ZXJ0aWNhbCA+IGxpLm1lbnUtaXRlbS5oaWdobGlnaHRlZCBhIHtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS52ZXJ0aWNhbCA+IGxpLm1lbnUtaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDAgMjBweCAwIDMwcHg7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUudmVydGljYWwgPiBsaS5tZW51LWl0ZW0gLnRvZ2dsZS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUudmVydGljYWwgPiBsaS5tZW51LWl0ZW0uaGlnaGxpZ2h0ZWQge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUudmVydGljYWwgPiBsaS5tZW51LWl0ZW0uaGlnaGxpZ2h0ZWQgLnRvZ2dsZS1pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUgbGkgYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudSBsaSBhIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9IH1cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5tZW51IGxpIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uYWNjb3VudC1wYWdlIC5tZW51LWl0ZW0ge1xuICAgIG9yZGVyOiAyOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLmFjY291bnQtcGFnZSAubWVudS1pdGVtLmFjY291bnQtcGFnZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24ub3JkZXItcGFnZSAubWVudS1pdGVtIHtcbiAgICBvcmRlcjogMjsgfVxuICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5vcmRlci1wYWdlIC5tZW51LWl0ZW0ub3JkZXItcGFnZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uY2FyZmF4LWhpc3RvcnktcGFnZSAubWVudS1pdGVtIHtcbiAgICBvcmRlcjogMjsgfVxuICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5jYXJmYXgtaGlzdG9yeS1wYWdlIC5tZW51LWl0ZW0uY2FyZmF4LWhpc3RvcnktcGFnZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG5cbi5tb2JpbGUtYWNjb3VudC1tZW51IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtOyB9XG4gIC5tb2JpbGUtYWNjb3VudC1tZW51IGxpIGEge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwIDAuNjI1cmVtOyB9XG4gIC5tb2JpbGUtYWNjb3VudC1tZW51OmhvdmVyLFxuICAubW9iaWxlLWFjY291bnQtbWVudSAuYWN0aXZlLXN1Ym1lbnUge1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDsgfVxuXG4ubWVudS5tb2JpbGUtYWNjb3VudC1saXN0IHtcbiAgbWFyZ2luOiAwLjc1cmVtIDAuMzEyNXJlbSAwOyB9XG5cbi5tZW51IGxpIC5tb2JpbGUtYWNjb3VudC1sYWJlbCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLm1lbnUgbGkgLm1vYmlsZS1hY2NvdW50LWxhYmVsIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1lbnUgbGkgLm1vYmlsZS1hY2NvdW50LWxhYmVsOjphZnRlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgY29udGVudDogXCJcXGYwZGNcIjtcbiAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHJpZ2h0OiAtMnB4O1xuICAgIHRvcDogMC4yNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5uby1ib3QtbWFyZ2luIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4uYWNjb3VudC1ibG9jay1ncmV5IHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDAuMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFjY291bnQtYmxvY2stZ3JleSB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAwLjVyZW07IH0gfVxuICAuYWNjb3VudC1ibG9jay1ncmV5IC5vcGVuTGl2ZUNoYXRCdXR0b24gYiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYWNjb3VudC1ibG9jay1ncmV5IGIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9IH1cbiAgLmFjY291bnQtYmxvY2stZ3JleSBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmFjY291bnQtYmxvY2stZ3JleSBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hY2NvdW50LWJsb2NrLWdyZXkgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfSB9XG4gIC5hY2NvdW50LWJsb2NrLWdyZXkgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFjY291bnQtYmxvY2stZ3JleSBwIGEge1xuICAgICAgICBtYXJnaW46IDEuNzVyZW0gMCAwLjI1cmVtOyB9IH1cbiAgICAuYWNjb3VudC1ibG9jay1ncmV5IHAgYTpub3QoLnBob25lLWxpbmspIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmFjY291bnQtYmxvY2stZ3JleSBwIGE6bm90KC5waG9uZS1saW5rKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuYm90dG9tLXNwYWNlLW1vYmlsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5idXR0b24tbGluayB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJ1dHRvbi1saW5rIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMS4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5wdF9hY2NvdW50IC5waG9uZS1saW5rLFxuLnB0X29yZGVyIC5waG9uZS1saW5rIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfYWNjb3VudCAucGhvbmUtbGluayxcbiAgICAucHRfb3JkZXIgLnBob25lLWxpbmsge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLnB0X2FjY291bnQgLnBob25lLWxpbms6aG92ZXIsXG4gICAgICAucHRfb3JkZXIgLnBob25lLWxpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzAwMDsgfSB9XG5cbi5vcmRlcmRldGFpbHMgLm9yZGVyLXNoaXBtZW50cyAucHJvZHVjdC1icmFuZCxcbi5vcmRlci1oaXN0b3J5LWxpc3QgLnByb2R1Y3QtYnJhbmQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm9yZGVyZGV0YWlscyAub3JkZXItc2hpcG1lbnRzIC5wcm9kdWN0LW5hbWUsXG4ub3JkZXItaGlzdG9yeS1saXN0IC5wcm9kdWN0LW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3JkZXJkZXRhaWxzIC5vcmRlci1zaGlwbWVudHMgLnByb2R1Y3QtbmFtZSxcbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5wcm9kdWN0LW5hbWUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbi5vcmRlci1oaXN0b3J5LWxpc3Qge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAubGFiZWwgLmZhIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLmxhYmVsIC5mYS1jYWxlbmRhci1vIHtcbiAgICAgIG1hcmdpbjogMCAwLjMxMjVyZW0gMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLmFjY29yZGlvbi1vcmRlci1oZWFkZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDA7IH0gfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAucm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAuY29sdW1ucyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLXRvdGFscyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItdG90YWxzIC5vcmRlci12YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLXRvdGFscyAudG90YWwtdmFsdWUtcm93IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtcm93LFxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItdG90YWxzIC5yb3cge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7IH0gfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLm9yZGVyLWluZm8tcm93IHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAub3JkZXItaW5mby1yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLmxpbmUtaXRlbXMge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAubGluZS1pdGVtcyAucHJvZHVjdC1yb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIC5saW5lLWl0ZW1zIC5vcmRlcmRldGFpbHMtcHJvZHVjdHZhbHVlcyxcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLmxpbmUtaXRlbXMgLm9yZGVyZGV0YWlscy1wcm9kdWN0bmFtZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLmxpbmUtaXRlbXMgLnJvdyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvLFxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLXRvdGFscyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC52YWx1ZS1jb2x1bW4ge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNjI1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLmxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLnZhbHVlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC52YWx1ZS5wYWlkLW9ubGluZSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5vcmRlci1oZWFkZXItaW5mbyB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5vcmRlci1oZWFkZXItaW5mbyAucm93IHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLm9yZGVyLWhlYWRlci1pbmZvIC5jb2x1bW5zIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5vcmRlci1sb2NhdGlvbiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5vcmRlci1pbmZvcm1hdGlvbi1jbGllbnQgLnZhbHVlLFxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5vcmRlci1sb2NhdGlvbiAudmFsdWUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5jYW5jZWxsZWQtb3JkZXIsXG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLm1vZGlmaWVkLW9yZGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLm1vZGlmaWVkLW9yZGVyIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5jYW5jZWxsZWQtb3JkZXIge1xuICAgICAgY29sb3I6ICNmMDA7IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGJvZHkge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRoLFxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGQge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAgMS4zNzVyZW07IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDU2JTsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB0aDpsYXN0LWNoaWxkLFxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMCU7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRoIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIC5vbGQtcHJpY2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICM4NDg0ODQ7XG4gICAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0b3A6IDhweDtcbiAgICAgIHdpZHRoOiAxZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlOjphZnRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzAlKTsgfSB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlIC5vcmRlci10b3RhbCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlIC5vcmRlci10b3RhbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlIC5vcmRlci1udW1iZXItc3RhdHVzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZSAub3JkZXItbnVtYmVyLXN0YXR1cyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGUgLm9yZGVyLXZlaGljbGUtbmFtZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZSAub3JkZXItdmVoaWNsZS1uYW1lIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDsgfSB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGUgLm9yZGVyLXZlaGljbGUtbmFtZS51bmtub3duIHtcbiAgICAgICAgY29sb3I6ICM5Nzk3OTc7IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDcwcHg7XG4gICAgcGFkZGluZzogMTZweCAxMHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTZweCAyM3B4IDA7IH0gfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAuY2FyLWFwcG9pbnRtZW50LWluZm8ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLmNhci1hcHBvaW50bWVudC1pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gIC5vcmRlci1oaXN0b3J5LWxpc3QgLmxvYWQtbW9yZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAucHJvZHVjdHZhbHVlcy1jb2x1bW4ge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLnByb2R1Y3R2YWx1ZXMtY29sdW1uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5wcm9kdWN0dmFsdWVzLWNvbHVtbiAubW9iaWxlLXRpdGxlcyB7XG4gICAgICBmb250LWZhbWlseTogXCJnb3RoYW0tYm9sZFwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5vcmRlcmRldGFpbHMgLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXJkZXRhaWxzIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMS42MjVyZW07IH0gfVxuICAub3JkZXJkZXRhaWxzIC5vcmRlci1pbmZvcm1hdGlvbiAub3JkZXItbnVtYmVyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyZGV0YWlscyAub3JkZXItaW5mb3JtYXRpb24gLm9yZGVyLW51bWJlciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuICAgIC5vcmRlcmRldGFpbHMgLm9yZGVyLWluZm9ybWF0aW9uIC5vcmRlci1udW1iZXIgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5vcmRlcmRldGFpbHMgLmFjY291bnQtYmxvY2stZ3JleSAubGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5vcmRlcmRldGFpbHMgLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogMDsgfVxuXG4ub3JkZXJkZXRhaWxzIC5hY2NvdW50LWJsb2NrLWJvcmRlciB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyZGV0YWlscyAuYWNjb3VudC1ibG9jay1ib3JkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtOyB9IH1cblxuLm9yZGVyZGV0YWlscyAuYWNjb3VudC1zZWN0aW9uLWhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuXG4ub3JkZXJkZXRhaWxzIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gcCxcbi5vcmRlcmRldGFpbHMgLmFjY291bnQtaW5mbyBwLFxuLm9yZGVyZGV0YWlscyAuYXBwb2ludG1lbnQtaW5mbyBwIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5vcmRlcmRldGFpbHMgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiBwLmVtYWlsLFxuICAub3JkZXJkZXRhaWxzIC5hY2NvdW50LWluZm8gcC5lbWFpbCxcbiAgLm9yZGVyZGV0YWlscyAuYXBwb2ludG1lbnQtaW5mbyBwLmVtYWlsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5vcmRlcmRldGFpbHMgLmFwcG9pbnRtZW50LXRpbWUge1xuICBjb2xvcjogIzgwODI4NTsgfVxuXG4ub3JkZXJkZXRhaWxzIC5saW5lLXNlY3Rpb25zLXNlcGFyYXRvcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMzsgfVxuXG4uYWNjb3VudC1pbmZvLWxpbmsge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4uYWNjb3VudC1pbmZvLW1lc3NhZ2Uge1xuICBjb2xvcjogIzgwODI4NTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm9yZGVyLXBheW1lbnQtc3VtbWFyeSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDA7IH1cbiAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeTo6YmVmb3JlLCAub3JkZXItcGF5bWVudC1zdW1tYXJ5OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5vcmRlci1wYXltZW50LXN1bW1hcnk6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW0gMDsgfSB9XG4gIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXN1bW1hcnktdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbjogMCAwIDEuNTYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXN1bW1hcnktdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLWRldGFpbC1zdW1tYXJ5IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLWRldGFpbC1zdW1tYXJ5IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH0gfVxuICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC52ZWhpY2xlLWluZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSAuYW1vdW50LXRvdGFsLXBhaWQge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2YyZjJmMzsgfVxuICAgICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgLmFtb3VudC10b3RhbC1wYWlkIHRkIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIC5vcmRlci10b3RhbCB0ZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cbiAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdGJvZHkge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDsgfSB9XG4gICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5ib2xkIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdHIub3JkZXItdG90YWwge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfSB9XG4gICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXRvdGFsLXBhaWQuYm9sZCwgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC1zdG9yZS10b3RhbC5ib2xkIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAuY3VycmVuY3ktY29kZSB7XG4gICAgZm9udC1zaXplOiAwLjU2MjVyZW07IH1cblxuLmFjY291bnQtaW5mby1yb3cgLmFjY291bnQtaW5mby13cmFwcGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGU4ZTk7XG4gIHBhZGRpbmc6IDE1cHggMDsgfVxuICAuYWNjb3VudC1pbmZvLXJvdyAuYWNjb3VudC1pbmZvLXdyYXBwZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5hY2NvdW50LWluZm8tcm93LmV4cGFuZGVkIC5hY2NvdW50LWluZm8td3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFjY291bnQtaW5mby1yb3cuZXhwYW5kZWQgLmVkaXQtZm9ybSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvdW50LWluZm8tcm93IC5lZGl0LWZvcm0ge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5hY2NvdW50LWluZm8tcm93IC5lZGl0LWZvcm0gLnJlcXVpcmVkLWluZGljYXRvciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNjb3VudC1pbmZvLXJvdyAucGFzc3dvcmQtZG90cyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7IH1cbiAgLmFjY291bnQtaW5mby1yb3cgLnBhc3N3b3JkLWRvdHMgLmljb24tY2lyY2xlOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMnB4OyB9XG5cbi5hY2NvdW50LWluZm8tcm93IC5yZXNldC1wYXNzd29yZC1idXR0b24ge1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLmFjY291bnQtaW5mby1yb3cgLmVkaXQtdG9nZ2xlIHtcbiAgY29sb3I6ICNjNzUzMDA7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uYWNjb3VudC1pbmZvLXJvdyAuaW50LXBob25lLXRlc3Rpbmcge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4udmVyaWZpY2F0aW9uLW1vZGFsIHtcbiAgcGFkZGluZzogMjVweDtcbiAgd2lkdGg6IDUwMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC52ZXJpZmljYXRpb24tbW9kYWwge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAyMHB4O1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgdG9wOiAyMHB4OyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmaWNhdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAuaWNvbi12ZXJpZnktbWV0aG9kOjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmaWNhdGlvbi1tZXRob2Qge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICBwYWRkaW5nOiAzcHggMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLXRleHQtbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC5jdXN0b21lci1jb250YWN0IHtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmaWNhdGlvbi1hY3Rpb25zIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gICAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLWFjdGlvbnMuZGlzYWJsZS1yZXNlbmQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZnktY29kZS1idG4ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHg7IH1cbiAgICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZnktY29kZS1idG5bZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzgwODI4NTsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC5yZXNlbmQtY29kZSB7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZmljYXRpb24tY29kZS1zZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmaWNhdGlvbi1lcnJvciB7XG4gICAgY29sb3I6ICNmMDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC5pY29uLXJlc2VuZDo6YmVmb3JlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZ5LWNvZGUtZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uc2VuZC12ZXJpZmljYXRpb24tY29kZS1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlLWZvcm0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlLWZvcm0gLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDExMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2VuZC12ZXJpZmljYXRpb24tY29kZS1mb3JtIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlLWZvcm0gLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGVbZGlzYWJsZWRdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7XG4gICAgICBib3JkZXItY29sb3I6ICNlNWU1ZTU7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLnByb2R1Y3QtbmFtZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSAucHJvZHVjdC1icmFuZCxcbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLnByb2R1Y3QtbmFtZSxcbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLmxpbmUtaXRlbS1wcmljZSxcbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLml0ZW0tcXVhbnRpdHksXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtIC5wcmljZS10b3RhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLmZyb250LWJhY2stc2V0LWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtIC5jdXJyZW5jeS1jb2RlIHtcbiAgZm9udC1zaXplOiAwLjU2MjVyZW07IH1cblxuLmxvZ2luLW1vZGFsIHtcbiAgaGVpZ2h0OiAxNjBweDtcbiAgbWluLWhlaWdodDogMTYwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogNDAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sb2dpbi1tb2RhbCB7XG4gICAgICBoZWlnaHQ6IDE3NXB4O1xuICAgICAgbWluLWhlaWdodDogMTc1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAubG9naW4tbW9kYWwge1xuICAgICAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMjBweCk7IH0gfVxuICAubG9naW4tbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxvZ2luLW1vZGFsIC5sb2dpbi1tb2RhbC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAubG9naW4tbW9kYWwgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxvZ2luLW1vZGFsIHAge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAubG9naW4tbW9kYWwgYSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5sb2dpbi1tb2RhbCAubm8tdGhhbmtzIHtcbiAgICBwYWRkaW5nOiA4cHg7IH1cbiAgICAubG9naW4tbW9kYWwgLm5vLXRoYW5rcyBhIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgLmxvZ2luLW1vZGFsIC5uby10aGFua3MgOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5sb2dpbi1tb2RhbCAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICBwYWRkaW5nOiA4cHggNjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X215Z2FyYWdlIC5jb2x1bW5zLm1vYmlsZS1wYWRkaW5nLXJpZ2h0LTZweCB7XG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9XG4gIC5wdF9teWdhcmFnZSAuY29sdW1ucy5tb2JpbGUtcGFkZGluZy1sZWZ0LTZweCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLndpZHRoLTUwLXBlcmNlbnQge1xuICB3aWR0aDogNTAlOyB9XG5cbi5wdF9teWdhcmFnZSAuZG90dGVkLWJvcmRlciB7XG4gIGJvcmRlci1ib3R0b206IDMuNXB4IGRvdHRlZCAjZmY2OTAwOyB9XG5cbi5wdF9teWdhcmFnZSAuYXJyb3cge1xuICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4ucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLFxuLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMTVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24sXG4gICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiBwLFxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiAuY2FyLWFkZC1uZXcsXG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIGJ1dHRvbixcbiAgICAgIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24tYXJjaGl2ZSBwLFxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIC5jYXItYWRkLW5ldyxcbiAgICAgIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24tYXJjaGl2ZSBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiAuY2FyLWFkZC1uZXcsXG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUgLmNhci1hZGQtbmV3IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfSB9XG4gIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24gcCxcbiAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMjEuNnB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiBwLFxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiB7XG4gICAgbWFyZ2luOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24tYXJjaGl2ZSBwIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24tYXJjaGl2ZSBidXR0b24ge1xuICAgIHdpZHRoOiAzMCU7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLnN1YnRpdGxlLXRleHQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5zdWJ0aXRsZS10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLWFkZC1uZXcgYnV0dG9uLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDExcHggMTVweDsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhcnMtY29udGFpbmVyLFxuLnB0X215Z2FyYWdlIC5jYXJzLWNvbnRhaW5lci1hcmNoaXZlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHRfbXlnYXJhZ2UgLmNhcnMtY29udGFpbmVyLFxuICAgIC5wdF9teWdhcmFnZSAuY2Fycy1jb250YWluZXItYXJjaGl2ZWQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpOyB9IH1cblxuLnB0X215Z2FyYWdlIC5jYXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDMwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfbXlnYXJhZ2UgLmNhci1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAucHRfbXlnYXJhZ2UgLmNhci1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLWNvbnRhaW5lciAuY2ItY3RhIHtcbiAgICBtYXJnaW46IDVweCAwOyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLXZpc3VhbHMge1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItaW5mb3JtYXRpb24ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9teWdhcmFnZSAuY2FyLWluZm9ybWF0aW9uOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMTRweCAxNHB4IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAtMjFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSA3cHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICB6LWluZGV4OiAwOyB9IH1cblxuLnB0X215Z2FyYWdlIC5jYXItaW1hZ2Uge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDcwcHg7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wdF9teWdhcmFnZSAuY2FyLWltYWdlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7IH0gfVxuICAucHRfbXlnYXJhZ2UgLmNhci1pbWFnZSAubG9hZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1uYW1lLFxuLnB0X215Z2FyYWdlIC5jYXItdmluLFxuLnB0X215Z2FyYWdlIC5jYXItcGxhdGUtYWRkLFxuLnB0X215Z2FyYWdlIC5jYXItcGxhdGUtZWRpdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE0LjRweDtcbiAgcGFkZGluZy10b3A6IDJweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wdF9teWdhcmFnZSAuY2FyLW5hbWUsXG4gICAgLnB0X215Z2FyYWdlIC5jYXItdmluLFxuICAgIC5wdF9teWdhcmFnZSAuY2FyLXBsYXRlLWFkZCxcbiAgICAucHRfbXlnYXJhZ2UgLmNhci1wbGF0ZS1lZGl0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1wbGF0ZS1lZGl0LFxuLnB0X215Z2FyYWdlIC5jYXItbmFtZSxcbi5wdF9teWdhcmFnZSAuY2FyLXZpbiB7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnB0X215Z2FyYWdlIC5jYXItcGxhdGUtZWRpdCBzcGFuLFxuICAucHRfbXlnYXJhZ2UgLmNhci1uYW1lIHNwYW4sXG4gIC5wdF9teWdhcmFnZSAuY2FyLXZpbiBzcGFuIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE2LjhweDsgfVxuICAucHRfbXlnYXJhZ2UgLmNhci1uYW1lIGkge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci10aXJlLXdoZWVsID4gZGl2IHtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIG1hcmdpbi10b3A6IDE0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5jYXItdGlyZS13aGVlbCA+IGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9IH1cblxuLnB0X215Z2FyYWdlIC5jYXItdGlyZS13aGVlbCxcbi5wdF9teWdhcmFnZSAuY2FyLWluZm8tYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItaW5mby1ib3R0b20ge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcm93LWdhcDogMTdweDsgfVxuICAucHRfbXlnYXJhZ2UgLmNhci1pbmZvLWJvdHRvbSBhIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnB0X215Z2FyYWdlIC5jYXItaW5mby1ib3R0b20gYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnB0X215Z2FyYWdlIC5jYXItbm8tb3JkZXItaGlzdG9yeSB7XG4gIGNvbG9yOiAjODA4Mjg1OyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLWFwcG9pbnRtZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZmY2OTAwO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItYXBwb2ludG1lbnQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLWFwcG9pbnRtZW50LWluZm8ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG5cbi5wdF9teWdhcmFnZSAuYXBwb2ludG1lbnQtbWFwLFxuLnB0X215Z2FyYWdlIC5tb2RpZnktYXBwb2ludG1lbnQge1xuICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4ucHRfbXlnYXJhZ2UgLmFwcG9pbnRtZW50LW1hcCB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5wdF9teWdhcmFnZSAubW9kaWZ5LWFwcG9pbnRtZW50IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9ucyB7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgLnB0X215Z2FyYWdlIC5jYXItYnV5LWFjdGlvbnMgYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9ucyBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweDsgfSB9XG4gICAgLnB0X215Z2FyYWdlIC5jYXItYnV5LWFjdGlvbnMgYTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9uLFxuLnB0X215Z2FyYWdlIC5zZXJ2aWNlcy1jdGEge1xuICB3aWR0aDogMTAwJTsgfVxuICAucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9uLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrLCAucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9uLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSxcbiAgLnB0X215Z2FyYWdlIC5zZXJ2aWNlcy1jdGEuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2ssXG4gIC5wdF9teWdhcmFnZSAuc2VydmljZXMtY3RhLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgcGFkZGluZzogMTFweCAwOyB9XG5cbi5wdF9teWdhcmFnZSAuc2VydmljZXMtY3RhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAucHRfbXlnYXJhZ2UgLnNlcnZpY2VzLWN0YTpob3ZlciwgLnB0X215Z2FyYWdlIC5zZXJ2aWNlcy1jdGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNmNmE1ODM7IH1cblxuLnB0X215Z2FyYWdlIC5jdXN0b20tY2xhc3MgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5wdF9teWdhcmFnZSAuaGlnaGxpZ2h0LWV4aXN0aW5nLWNhciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDA7XG4gIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjVzIGxpbmVhcjsgfVxuICAucHRfbXlnYXJhZ2UgLmhpZ2hsaWdodC1leGlzdGluZy1jYXIudHJhbnNpdGlvbi10by1lbmQge1xuICAgIGJvcmRlci13aWR0aDogMDsgfVxuXG4ucHRfbXlnYXJhZ2UgLnRvZ2dsZS1hcmNoaXZlZC1jYXJzIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuICAucHRfbXlnYXJhZ2UgLnRvZ2dsZS1hcmNoaXZlZC1jYXJzIGkge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5wdF9teWdhcmFnZSAuYXJjaGl2ZWQtY2FycyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5hcmNoaXZlZC1jYXJzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTsgfSB9XG5cbi5zZXJ2aWNlLWFjdGlvbnMtbW9kYWwge1xuICB0b3A6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2VydmljZS1hY3Rpb25zLW1vZGFsIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogOTUlOyB9IH1cbiAgLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCAubW9kYWwtdGl0bGUge1xuICAgIG1hcmdpbjogOHB4IDA7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC5zZXJ2aWNlLWFjdGlvbnMtbW9kYWwgLmNhci1idXktYWN0aW9ucyB7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5zZXJ2aWNlLWFjdGlvbnMtbW9kYWwgLmNhci1idXktYWN0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCAubW9kYWwtY2xvc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDE1cHg7IH1cbiAgICAuc2VydmljZS1hY3Rpb25zLW1vZGFsIC5tb2RhbC1jbG9zZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4udGV4dC1hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5mbGV4LW9yZGVyLTEge1xuICBvcmRlcjogLTE7IH1cblxuLmdhcmFnZS1tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuW2Zvcm0tY3RybF0gLnZpbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltmb3JtLWN0cmxdW2Zvcm0tY3RybD1cImNhcmZheFwiXSAudmluLWNvbnRhaW5lciwgW2Zvcm0tY3RybF1bZm9ybS1jdHJsPVwiZWRpdFZlaGljbGVEYXRhXCJdIC52aW4tY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdhcmFnZS1tb2RhbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5nYXJhZ2UtbW9kYWwjdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cbiAgLmdhcmFnZS1tb2RhbCAubW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5nYXJhZ2UtbW9kYWwgLm1vZGFsLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdG9wOiAxNXB4OyB9XG4gICAgLmdhcmFnZS1tb2RhbCAubW9kYWwtY2xvc2Ugc3BhbiB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmdhcmFnZS1tb2RhbCAuZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmdhcmFnZS1tb2RhbCAudmVoaWNsZXMtc2VjdGlvbiB7XG4gICAgZ2FwOiAyMHB4OyB9XG4gICAgLmdhcmFnZS1tb2RhbCAudmVoaWNsZXMtc2VjdGlvbiAuY2FyLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5nYXJhZ2UtbW9kYWwgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTsgfVxuICAgICAgICAuZ2FyYWdlLW1vZGFsIC5uYW1lLXlvdXItdmVoaWNsZS1maWVsZHMgLmZpZWxkLWNvbnRhaW5lcjpudGgtY2hpbGQoZXZlbiksIC5nYXJhZ2UtbW9kYWwgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyAuZmllbGQtY29udGFpbmVyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICAgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIC5maWVsZC1jb250YWluZXIge1xuICAgICAgZmxleDogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIG1pbi13aWR0aDogNTAlOyB9XG4gICAgICAuZ2FyYWdlLW1vZGFsIC5uYW1lLXlvdXItdmVoaWNsZS1maWVsZHMgLmZpZWxkLWNvbnRhaW5lcjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAgIC5nYXJhZ2UtbW9kYWwgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyAuZmllbGQtY29udGFpbmVyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAgICAgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIC5maWVsZC1jb250YWluZXIgLmZpZWxkLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cbiAgLmdhcmFnZS1tb2RhbCAuYnV0dG9ucy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5nYXJhZ2UtbW9kYWwgLmJ1dHRvbnMtd3JhcC5hbGlnbi10by1yaWdodCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0OyB9XG4gICAgLmdhcmFnZS1tb2RhbCAuYnV0dG9ucy13cmFwIGJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5nYXJhZ2UtbW9kYWwgLmJ1dHRvbnMtd3JhcCBidXR0b24ge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIG1pbi13aWR0aDogYXV0bzsgfSB9XG4gICAgICAuZ2FyYWdlLW1vZGFsIC5idXR0b25zLXdyYXAgYnV0dG9uOmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmdhcmFnZS1tb2RhbCAuYnV0dG9ucy13cmFwLmZpdC13aWR0aCBidXR0b24ge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWluLXdpZHRoOiAyMDBweDsgfVxuICAuZ2FyYWdlLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5nYXJhZ2UtbW9kYWwgcCB7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5nYXJhZ2UtbW9kYWwgYSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5nYXJhZ2UtbW9kYWwgaW5wdXQge1xuICAgIG1hcmdpbjogNnB4IDAgMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cbiAgLmdhcmFnZS1tb2RhbCAucGxhdGUtbm8tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5nYXJhZ2UtbW9kYWwgLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrLFxuICAuZ2FyYWdlLW1vZGFsIC5jYi1jdGEuYnV0dG9uLWZ1bGwtd2hpdGUge1xuICAgIHBhZGRpbmc6IDhweCA2MHB4OyB9XG5cbi52ZWhpY2xlLWV4aXN0cy1tb2RhbCB7XG4gIG1heC13aWR0aDogNDAwcHg7IH1cblxuLnBsYXRlLW51bWJlci1tb2RhbCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4OyB9XG5cbi5wbGF0ZS1udW1iZXItbW9kYWwsXG4uY2FyLWVkaXQtbW9kYWwsXG4udmVoaWNsZS1pbmZvLW1vZGFsLFxuI3ZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgcGFkZGluZzogMzBweDsgfVxuICAucGxhdGUtbnVtYmVyLW1vZGFsIC5nYXJhZ2UtdmVoaWNsZS1uYW1lLFxuICAuY2FyLWVkaXQtbW9kYWwgLmdhcmFnZS12ZWhpY2xlLW5hbWUsXG4gIC52ZWhpY2xlLWluZm8tbW9kYWwgLmdhcmFnZS12ZWhpY2xlLW5hbWUsXG4gICN2ZXJpZnktdmVoaWNsZS1tb2RhbCAuZ2FyYWdlLXZlaGljbGUtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBwYWRkaW5nOiAwIDM2cHggMjBweCAwOyB9XG5cbiN2ZXJpZnktdmVoaWNsZS1tb2RhbCB7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5jYXItZWRpdC1tb2RhbCBwIHtcbiAgcGFkZGluZzogMCAwIDEwcHg7IH1cblxuLmFkZC1wbGF0ZS1ubyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE0LjRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnB0X29yZGVyIC5kLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5wdF9vcmRlciAucG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnB0X29yZGVyIC5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnB0X29yZGVyIC5mbGV4LWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnB0X29yZGVyIC5zd2l0Y2hlci1jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfb3JkZXIgLnN3aXRjaGVyLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cblxuLnB0X29yZGVyIC5zd2l0Y2hlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBtaW4taGVpZ2h0OiAxLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X29yZGVyIC5zd2l0Y2hlciB7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7IH0gfVxuXG4ucHRfb3JkZXIgLnN3aXRjaGVyLWlucHV0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDFyZW07XG4gIHotaW5kZXg6IC0xOyB9XG4gIC5wdF9vcmRlciAuc3dpdGNoZXItaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2hlci1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cbiAgLnB0X29yZGVyIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWxhYmVsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgICByaWdodDogM3B4OyB9XG5cbi5wdF9vcmRlciAuc3dpdGNoZXItbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAucHRfb3JkZXIgLnN3aXRjaGVyLWxhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FkYjViZDtcbiAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDM5cHg7IH1cbiAgLnB0X29yZGVyIC5zd2l0Y2hlci1sYWJlbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IDUwJSAvIDUwJSA1MCUgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMThweDtcbiAgICB0b3A6IDNweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dCwtd2Via2l0LXRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMThweDsgfVxuXG4ucHRfb3JkZXIgLm9yZGVyLWhpc3RvcnktZmlsdGVyLWJveCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5wdF9vcmRlciAub3JkZXItaGlzdG9yeS1maWx0ZXItaXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlOGU4ZTk7XG4gIG1hcmdpbjogMDtcbiAgbWluLWhlaWdodDogMTIycHg7XG4gIHBhZGRpbmc6IDE0cHggMTBweCAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfb3JkZXIgLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW0ge1xuICAgICAgbWluLWhlaWdodDogMTI1cHg7IH0gfVxuICAucHRfb3JkZXIgLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW06OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxOXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogOHB4O1xuICAgIHRvcDogOHB4O1xuICAgIHdpZHRoOiAxOXB4O1xuICAgIHotaW5kZXg6IDE7IH1cblxuLnB0X29yZGVyIC5vcmRlci1jaGVja2JveCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTsgfVxuICAucHRfb3JkZXIgLm9yZGVyLWNoZWNrYm94OmNoZWNrZWQgfiAub3JkZXItaGlzdG9yeS1maWx0ZXItaXRlbSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMDsgfVxuICAgIC5wdF9vcmRlciAub3JkZXItY2hlY2tib3g6Y2hlY2tlZCB+IC5vcmRlci1oaXN0b3J5LWZpbHRlci1pdGVtOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5wdF9vcmRlciAub3JkZXItY2hlY2tib3g6Y2hlY2tlZCB+IC5vcmRlci1oaXN0b3J5LWZpbHRlci1pdGVtOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZmY7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDYwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxNHB4O1xuICAgICAgdG9wOiAxMXB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuLnB0X29yZGVyIC5jYXItaW1hZ2Uge1xuICBtYXgtd2lkdGg6IDE0OXB4OyB9XG5cbi5wdF9vcmRlciAuY2FyLW5hbWUge1xuICBwYWRkaW5nOiA2cHggMCA0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHRfb3JkZXIgLmNhci1wbGF0ZSxcbi5wdF9vcmRlciAuY2FyLW5hbWUge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jY2FyZmF4LWhpc3RvcnktbW9kYWwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG1heC13aWR0aDogODE2cHg7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIHRvcDogMTZweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7IH0gfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDc4dmg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubW9kYWwtY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDc4dmg7XG4gICAgICAgIC8qIFVzZSB2aCBhcyBhIGZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEN1c3RvbSBQcm9wZXJ0aWVzICovXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGModmFyKGR5bmFtaWNTY3JlZW5TaXplLCAxdmgpICogMTAwKTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfSB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubW9kYWwtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmNhcmZheC1oaXN0b3J5LWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5jYXJmYXgtaGlzdG9yeS1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxOHB4OyB9IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgcGFkZGluZzogMTJweCAxNnB4OyB9XG4gICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtaGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCB7XG4gICAgICBjb2x1bW4tZ2FwOiAxLjI1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubGljZW5zZS1wbGF0ZS13cmFwcGVyIC5saWNlbnNlLXBsYXRlLWNvbnRlbnQge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCAuY29sdW1uLCAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCAubGljZW5zZS1wbGF0ZS1pbm5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCAubGljZW5zZS1wbGF0ZS1pbm5lciAucGxhdGUtbnVtYmVyLWlucHV0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCAubGljZW5zZS1wbGF0ZS1pbm5lciAuZXJyb3I6bm90KC5saWNlbnNlUGxhdGUpID4gKiB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyMzJweDsgfVxuICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCAuZm9ybS1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmVycm9yLXZpbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMWJlO1xuICAgICAgY29sb3I6ICNmMDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZzogNnB4OyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAuaW5wdXQtY3VzdG9tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLm9yLWJyZWFrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAub3ItYnJlYWs6OmJlZm9yZSxcbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5vci1icmVhazo6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjJmMmYyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZmxleDogMSAxO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLm9yLWJyZWFrOjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLm9yLWJyZWFrOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC52aW4td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7IH1cbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLnZpbi13cmFwcGVyIC52aW4taGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC52aW4td3JhcHBlciAudmluLW51bWJlci1pbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC52ZWhpY2xlLWluZm9ybWF0aW9uIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuI2NhcmZheC1kZWxldGUtbW9kYWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXgtd2lkdGg6IDMxLjI1cmVtO1xuICBwYWRkaW5nOiAyMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAjY2FyZmF4LWRlbGV0ZS1tb2RhbCAubW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTsgfVxuICAjY2FyZmF4LWRlbGV0ZS1tb2RhbCAubW9kYWwtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTsgfVxuICAjY2FyZmF4LWRlbGV0ZS1tb2RhbCAuYnV0dG9ucy13cmFwIHtcbiAgICBjb2x1bW4tZ2FwOiA2MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgICAjY2FyZmF4LWRlbGV0ZS1tb2RhbCAuYnV0dG9ucy13cmFwIGJ1dHRvbiB7XG4gICAgICBmbGV4OiA1MCU7IH1cblxuI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5jYXJmYXgtbW9kYWwtY2xvc2UsXG4jY2FyZmF4LWRlbGV0ZS1tb2RhbCAuY2FyZmF4LW1vZGFsLWNsb3NlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgei1pbmRleDogNTsgfVxuXG4jY2FyZmF4LWhpc3RvcnktbW9kYWwgYnV0dG9uLFxuI2NhcmZheC1kZWxldGUtbW9kYWwgYnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4jY2FyZmF4LWRlbGV0ZS1mb3JtLFxuI3ZlaGljbGUtZmllbGRzZXQge1xuICBtaW4taGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmdyZXktbGluZSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjJmMmYyO1xuICBjb250ZW50OiBcIlwiO1xuICBtYXJnaW46IDEycHggMDsgfVxuXG4uZmluZC12aW4td3JhcHBlciAuaXRlbS1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmluZC12aW4td3JhcHBlciAuaXRlbS1jb250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxuLm1vZGFsLWJ1dHRvbnMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgLm1vZGFsLWJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDIwMHB4OyB9XG5cbi5zZXJ2aWNlLXVuYXZhaWxhYmxlLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBtYXJnaW46IDhweCAwIDI0cHg7XG4gIHBhZGRpbmc6IDEycHggMTZweDsgfVxuICAuc2VydmljZS11bmF2YWlsYWJsZS1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgLnNlcnZpY2UtdW5hdmFpbGFibGUtc2VjdGlvbiAudW5hdmFpbGFibGUtdGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTFiZTtcbiAgICBjb2xvcjogI2YwMDtcbiAgICBwYWRkaW5nOiA2cHg7IH1cblxuLnZlaGljbGUtZGF0YS1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIC52ZWhpY2xlLWRhdGEtc2VjdGlvbiAuc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC52ZWhpY2xlLWRhdGEtc2VjdGlvbiAuY2hlY2tib3gtZm9ybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudmVoaWNsZS1kYXRhLXNlY3Rpb24gLnZlaGljbGUtZGF0YS1jb250ZW50IC5zYXZlLXZlaGljbGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiA5cHg7IH1cbiAgICAudmVoaWNsZS1kYXRhLXNlY3Rpb24gLnZlaGljbGUtZGF0YS1jb250ZW50IC5zYXZlLXZlaGljbGUtY29udGFpbmVyIC5zYXZlLXZlaGljbGUtY2hlY2tib3gge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyB9XG5cbi5tb2RhbC1idXR0b25zIC5jYXJmbGV4LWxvZ28ge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiAxNjBweDsgfVxuXG4ubW9kYWwtYnV0dG9ucyAjY2FyZmF4LXNlYXJjaC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDNweCBzb2xpZCAjMjAyMDIwO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDE1MHB4O1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tb2RhbC1idXR0b25zICNjYXJmYXgtc2VydmljZS1idXR0b24ge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICBtYXgtd2lkdGg6IDIzNXB4O1xuICBwYWRkaW5nOiAwOyB9XG5cbi5uby1zZXJ2aWNlLWhpc3Rvcnkge1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIC5uby1zZXJ2aWNlLWhpc3RvcnkgLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAubm8tc2VydmljZS1oaXN0b3J5IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLm5vLXNlcnZpY2UtaGlzdG9yeSAubm8tc2VydmljZS1idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wdF9jYXJmYXggLnJvdy5hdHJvb3QgLmNvbnRlbnQtY29sdW1uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5wdF9jYXJmYXggLnBhZ2UtZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnB0X2NhcmZheCAuYWJvdXQtY2FyZmF4LXdyYXBwZXIgLmFib3V0LWNhcmZheC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9XG5cbi5wdF9jYXJmYXggLmFib3V0LWNhcmZheC13cmFwcGVyIC50b2dnbGUtaXRlbSAuaXRlbS1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wdF9jYXJmYXggLmFib3V0LWNhcmZheC13cmFwcGVyIC50b2dnbGUtaXRlbSAuaXRlbS1jb250ZW50IGEge1xuICAgIHotaW5kZXg6IDI7IH1cblxuLnB0X2NhcmZheCAubm8tc2VydmljZS1oaXN0b3J5IHtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cblxuLnNlcnZpY2UtaGlzdG9yeS13cmFwW3RvZ2dsZS1zdGF0ZT1cImluaXRpYWxcIl0gLnNlcnZpY2UtaGlzdG9yeSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlcnZpY2UtaGlzdG9yeS13cmFwW3RvZ2dsZS1zdGF0ZT1cImluaXRpYWxcIl0gLm5vLXNlcnZpY2UtaGlzdG9yeSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlcnZpY2UtaGlzdG9yeS13cmFwW3RvZ2dsZS1zdGF0ZT1cIm5vLXNlcnZpY2VcIl0gLnNlcnZpY2UtaGlzdG9yeSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlcnZpY2UtaGlzdG9yeS13cmFwW3RvZ2dsZS1zdGF0ZT1cImhhcy1zZXJ2aWNlXCJdIC5uby1zZXJ2aWNlLWhpc3Rvcnkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZXJ2aWNlLWhpc3Rvcnkge1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTsgfSB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS1oZWFkZXIgLmhlYWRlci1jb250ZW50IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktaGVhZGVyIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktaGVhZGVyIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LWhlYWRlciAuY2FyZmF4LWxvZ28ge1xuICAgICAgYm90dG9tOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS1oZWFkZXIgLmRlbGV0ZS1idXR0b24ge1xuICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktdGFibGUgLnRhYmxlLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS10YWJsZSAudGFibGUtaGVhZGVyIC50YWJsZS1jb2x1bW4uc2VydmljZXMtcGVyZm9ybWVkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktdGFibGUgLnRhYmxlLWhlYWRlciAudGFibGUtcm93IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktdGFibGUgcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS10YWJsZSBiIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnNlcnZpY2UtaGlzdG9yeSAudGFibGUtcm93IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNlcnZpY2UtaGlzdG9yeSAudGFibGUtcm93IHtcbiAgICAgICAgZ2FwOiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW07IH0gfVxuICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4ge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4gcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4uc2VydmljZXMtcGVyZm9ybWVkIHtcbiAgICAgIGZsZXg6IDI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4uc2VydmljZXMtcGVyZm9ybWVkIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4uc2VydmljZXMtcGVyZm9ybWVkIGIubW9iaWxlLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuICAgICAgLnNlcnZpY2UtaGlzdG9yeSAudGFibGUtY29sdW1uLnNlcnZpY2VzLXBlcmZvcm1lZCAubW9iaWxlLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlbC1pbmZvLmxlZnQtYXJyb3cge1xuICBtaW4taGVpZ2h0OiAxMjZweDsgfVxuXG4uYnJha2VzLWRldGFpbHMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogNTBweCBhdXRvOyB9XG4gIC5icmFrZXMtZGV0YWlscyBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1kZXRhaWxzLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDMwcHggMTVweDsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciBoMiB7XG4gICAgICBtaW4td2lkdGg6IDI5MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuZ3JpZC1tYWtlciB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5ncmlkLW1ha2VyIHNwYW4ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWdyaWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoNTBweCwgMWZyKSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1ncmlkIC5ncmlkLWl0ZW0ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5icmFrZXMtZ3JpZCAuZ3JpZC1pdGVtIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1ncmlkIC5ncmlkLWhlYWRlcixcbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWdyaWQgLmdyaWQtdmVoaWNsZS10eXBlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1kaXNjbGFpbWVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB3aWR0aDogOTAlOyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1kaXNjbGFpbWVyIHAge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7IH1cbiAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1uby1yZXN1bHRzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLW5vLXJlc3VsdHMgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1pbmNsdWRlZCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1pbmNsdWRlZCAuaW5jbHVkZWQtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1pbmNsdWRlZCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogNXB4OyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1pbmNsdWRlZCB1bCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5icmFrZXMtaW5jbHVkZWQgdWwgaSB7XG4gICAgICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMzBweCAyNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIGgyIHtcbiAgICAgICAgICB0ZXh0LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1pbnNwZWN0aW9uLXdyYXBwZXIgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDkwJTsgfSB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIHAge1xuICAgICAgd2lkdGg6IDk1JTsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1pbnNwZWN0aW9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciAuYnJha2VzLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1pbnNwZWN0aW9uLXdyYXBwZXIgLmJyYWtlcy1pbWFnZS1jb250YWluZXIgcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5icmFrZXMtcGFja2FnZXMtd3JhcHBlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pbnRlcmZhY2UvdGlyZS1tYXJrLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7IH0gfVxuICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICB3aWR0aDogMzMlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMgLnBhY2thZ2VzLWJsb2NrIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMgLnBhY2thZ2VzLWJsb2NrIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMgLnBhY2thZ2VzLWJsb2NrIHAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMgLnBhY2thZ2VzLWJsb2NrIHAucGFja2FnZXMtdGl0bGUge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAgICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sgcC5wYWNrYWdlcy10aXRsZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciAuYnJha2VzLXBhY2thZ2VzIC5wYWNrYWdlcy1ibG9jayBpIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDsgfVxuXG4jc3RpY2t5Q1RBIHtcbiAgYm90dG9tOiAtMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggMnB4ICMyMDIwMjA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuNHM7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1OyB9XG4gICNzdGlja3lDVEEuc2xpZGUge1xuICAgIGJvdHRvbTogMDsgfVxuICAjc3RpY2t5Q1RBIGEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNhcnQtZW1wdHkge1xuICBtYXJnaW4tdG9wOiA0cmVtOyB9XG4gIC5jYXJ0LWVtcHR5IGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2FydC1lbXB0eSAuY2FydC1hY3Rpb24tY29udGludWUtc2hvcHBpbmcge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jYXJ0LXBhZ2Uge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtcGFnZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5jYXJ0LXBhZ2UgLnBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5jYXJ0LXBhZ2UgLnBhZ2UtdGl0bGUgaDEge1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNhcnQtcGFnZSAucGFnZS10aXRsZSBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfSB9XG4gIC5jYXJ0LXBhZ2UgLnZlaGljbGUtaW5mbyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgIC5jYXJ0LXBhZ2UgLnZlaGljbGUtaW5mbyAuZWRpdFZlaGljbGVDYXJ0IHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuY2FydC1wYWdlIC52ZWhpY2xlLWluZm8gYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jYXJ0LXBhZ2UgLmNhcnQtdGVjaG5pY2FsLWRpZmZpY3VsdGllcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY2FydC1wYWdlIC5jYXJ0LXRlY2huaWNhbC1kaWZmaWN1bHRpZXMgLnNtYWxsLTEyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMTBweCAyMHB4OyB9XG4gICAgICAuY2FydC1wYWdlIC5jYXJ0LXRlY2huaWNhbC1kaWZmaWN1bHRpZXMgLnNtYWxsLTEyIHAgc3BhbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNhcnQtcGFnZSAuY2FydC10ZWNobmljYWwtZGlmZmljdWx0aWVzLmhlYWRlciAucm93IHtcbiAgICBtYXJnaW46IC00MHB4IDAgMTBweDsgfVxuICAuY2FydC1wYWdlIC5oZWFkZXItcHJvZHVjdC1kZXRhaWxzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW46IDFyZW0gMDsgfVxuICAuY2FydC1wYWdlIC5pdGVtLWxpc3Qge1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNmMmYyZjM7XG4gICAgbWFyZ2luOiAwIDAgMS41NjI1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMDsgfVxuICAgIC5jYXJ0LXBhZ2UgLml0ZW0tbGlzdCAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcGFnZSAubWFpbi1zZWN0aW9uLWhlYWRlciAucXR5LWhlYWRlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY2FydC1wYWdlIC5tYWluLXNlY3Rpb24taGVhZGVyIC50b3RhbC1wcmljZS1oZWFkZXIge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcGFnZSAuY2FydC1yb3cgLml0ZW0tcXVhbnRpdHksXG4gICAgLmNhcnQtcGFnZSAuc2VydmljZS1yb3cgLml0ZW0tcXVhbnRpdHkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNhcnQtcGFnZSAuY2FydC1yb3cgLml0ZW0tdG90YWwsXG4gICAgLmNhcnQtcGFnZSAuY2FydC1yb3cgLnNlcnZpY2UtaXRlbS10b3RhbCxcbiAgICAuY2FydC1wYWdlIC5zZXJ2aWNlLXJvdyAuaXRlbS10b3RhbCxcbiAgICAuY2FydC1wYWdlIC5zZXJ2aWNlLXJvdyAuc2VydmljZS1pdGVtLXRvdGFsIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLmNhcnQtcGFnZSAuY2FydC1saW5lLXNlcGFyYXRvcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU5O1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYXJ0LXBhZ2UgLm9yZGVyLXN1bW1hcnktcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXN1bW1hcnktcm93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXN1bW1hcnktcm93IC5jYXJ0LWxpbmUtc2VwYXJhdG9yIHtcbiAgICAgICAgb3JkZXI6IDM7IH0gfVxuICAuY2FydC1wYWdlIC5kaXNjbGFpbWVyLWNhcnQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgICAuY2FydC1wYWdlIC5kaXNjbGFpbWVyLWNhcnQgcCB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNhcnQtcGFnZSAuZGlzY2xhaW1lci1jYXJ0IHAubGV2eS1tZXNzYWdlLWNhcnQge1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtcGFnZSAub3JkZXItc3VtbWFyeSB7XG4gICAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfSB9XG4gIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB7XG4gICAgbWFyZ2luOiAwLjkzNzVyZW0gMDsgfVxuICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwLjkzNzVyZW07IH1cbiAgICAuY2FydC1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAuY2FydC1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ci52ZWhpY2xlLWluZm8ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuY2FydC1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIub3JkZXItdG90YWwge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICAuY2FydC1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIub3JkZXItdG90YWwgdGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5jYXJ0LXBhZ2UgLm91dC1vZi1zdG9jay1tZXNzYWdlLWJveCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgIHdpZHRoOiAzMDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLm91dC1vZi1zdG9jay1tZXNzYWdlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDMuMTI1cmVtOyB9IH1cbiAgICAuY2FydC1wYWdlIC5vdXQtb2Ytc3RvY2stbWVzc2FnZS1ib3ggcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNhcnQtcGFnZSAub3V0LW9mLXN0b2NrLW1lc3NhZ2UtYm94IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmNhcnQtcGFnZSAuY2FydC1maW5hbmNpbmcge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDQ1cHg7IH1cbiAgICAuY2FydC1wYWdlIC5jYXJ0LWZpbmFuY2luZyBwIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jYXJ0LXBhZ2UgLmNhcnQtZmluYW5jaW5nIC5jYXJ0LWZpbmFuY2luZy1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXBhZ2UgLmNhcnQtYWN0aW9uLWNoZWNrb3V0LWJveCB7XG4gICAgICBvcmRlcjogMjsgfSB9XG4gIC5jYXJ0LXBhZ2UgLmNhcnQtYWN0aW9uLWNoZWNrb3V0IHtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1wYWdlIC5jYXJ0LWFjdGlvbi1jaGVja291dCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLmNhcnQtcGFnZSAuY2FydC1hY3Rpb24tY2hlY2tvdXQgLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMTI1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLmNhcnQtYWN0aW9uLWNoZWNrb3V0IC5idXR0b246OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDIzXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gIC5jYXJ0LXBhZ2UgLm5lZWQtaGVscC1jYXJ0IGgzIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gIC5jYXJ0LXBhZ2UgLm5lZWQtaGVscC1jYXJ0IHAge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07IH1cbiAgLmNhcnQtcGFnZSAubmVlZC1oZWxwLWNhcnQgYSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuY2FydC1wYWdlIC52ZXJpZnktdmVoaWNsZSB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2YyZjJmMztcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMS4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIC5sZWZ0LWJveCxcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIC5yaWdodC1ib3gge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgICAuY2FydC1wYWdlIC52ZXJpZnktdmVoaWNsZSAubGVmdC1ib3gge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgLnJpZ2h0LWJveCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuY2FydC1wYWdlIC52ZXJpZnktdmVoaWNsZSAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIC5idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2Uge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuaWNvbi1ib3gge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzEzcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjclOyB9XG4gIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC50ZXh0LWJveCB7XG4gICAgd2lkdGg6IDczJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC50ZXh0LWJveCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLmljb24tYWxlcnQge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuaWNvbi1hbGVydCB7XG4gICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwOyB9IH1cbiAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLmZhLWNoZWNrIHtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuZmEtY2hlY2sge1xuICAgICAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDAgMDsgfSB9XG4gICAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLmZhLWNoZWNrOjpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2M3NTMwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5sZWZ0LWJveCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5yaWdodC1ib3ggcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAucmlnaHQtYm94IHAge1xuICAgICAgICBtYXJnaW46IDAuMzEyNXJlbSAwIDA7IH0gfVxuICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5yaWdodC1ib3ggcCBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMTAwcHg7IH0gfVxuICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5vcmRlci1zdW1tYXJ5LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaW50ZXJmYWNlL3RpcmUtbWFyay5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1jYXJkIC5sZWFybi1tb3JlLXdyYXBwZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTsgfVxuICAgICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWNhcmQgLmxlYXJuLW1vcmUtd3JhcHBlciAubGVhcm4tbW9yZS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctY2FyZCAubGVhcm4tbW9yZS13cmFwcGVyIC5sZWFybi1tb3JlLWxpbms6aG92ZXIgPiAubW9yZS1pbmZvLXRleHQge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctY2FyZCAubGVhcm4tbW9yZS13cmFwcGVyIC5tb3JlLWluZm8tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIHtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZjJmMmYzO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctdGl0bGUgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIHAge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaSB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAgICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGk6OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cblxuLmNhcnQtcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuY2FydC1yb3cgLnNlcnZpY2Utcm93IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtcm93IC5wcm9kdWN0LWxpc3QtaXRlbSB7XG4gICAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07IH0gfVxuICAuY2FydC1yb3cgLml0ZW0taW1hZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLml0ZW0taW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FydC1yb3cgLml0ZW0taW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDE5MHB4OyB9IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcm93IC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LWJyYW5kIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5jYXJ0LXJvdyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwOyB9XG4gIC5jYXJ0LXJvdyAucHJvZHVjdC1hdHRyaWJ1dGVzLmNhdGVnb3J5LWF0dHJpYnV0ZXMgLm5hbWUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDE4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY2FydC1yb3cgLnByb2R1Y3QtYXR0cmlidXRlcyAubmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5jYXJ0LXJvdyAucHJvZHVjdC1hdHRyaWJ1dGVzIC52YWx1ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5jYXJ0LXJvdyAuYXZhaWxhYmlsaXR5LWF0dHJpYnV0ZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDsgfVxuICAgIC5jYXJ0LXJvdyAuYXZhaWxhYmlsaXR5LWF0dHJpYnV0ZSAuYXZhaWxhYmlsaXR5LWxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLmNhcnQtcm93IC5hdmFpbGFiaWxpdHktYXR0cmlidXRlIC5wcm9kdWN0LWF2YWlsYWJpbGl0eS1saXN0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtcm93IC5pdGVtLXF0eS1wcmljZS1zZWN0aW9uIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1yb3cgLnNlY3Rpb24taGVhZGVyLnF0eS1oZWFkZXIsXG4gICAgLmNhcnQtcm93IC5zZWN0aW9uLWhlYWRlci5pdGVtLXByaWNlLWhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLmNhcnQtcm93IC5pdGVtLXByaWNlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLml0ZW0tcHJpY2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgLmNhcnQtcm93IC5pdGVtLXByaWNlIC5vbGQtcHJpY2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gIC5jYXJ0LXJvdyAuaXRlbS10b3RhbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDIuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAuaXRlbS10b3RhbCB7XG4gICAgICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMDsgfSB9XG4gIC5jYXJ0LXJvdyAucHJpY2UtdG90YWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LWNhcmQtcXVhbnRpdHkuaXRlbS1xdWFudGl0eSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jYXJ0LXJvdyAucHJvZHVjdC1jYXJkLXF1YW50aXR5Lml0ZW0tcXVhbnRpdHkgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNhcnQtcm93IC5wcm9kdWN0LWNhcmQtcXVhbnRpdHkuaXRlbS1xdWFudGl0eSAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5jYXJ0LXJvdyAucHJvZHVjdC1jYXJkLXF1YW50aXR5Lml0ZW0tcXVhbnRpdHkgLnByb2R1Y3RRdWFudGl0eSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNhcnQtcm93IC5yZW1vdmUtYnRuIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLnJlbW92ZS1idG4ge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgLmNhcnQtcm93IC5yZWJhdGUtYm94IHtcbiAgICBtYXJnaW46IDEuMjVyZW0gMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcm93IC5yZWJhdGUtYm94IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfSB9XG4gIC5jYXJ0LXJvdyAucmViYXRlLWJhZGdlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAucmViYXRlLWJhZGdlIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcnQtcm93IC5yZWJhdGUtYmFkZ2Uge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gICAgLmNhcnQtcm93IC5yZWJhdGUtYmFkZ2U6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcmViYXRlX2ljb24ucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICB3aWR0aDogMzBweDsgfVxuICAuY2FydC1yb3cgLnJlYmF0ZS10ZXh0IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXJvdy5maXJzdC1wc2V0IHtcbiAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cbiAgLmNhcnQtcm93LnNlY29uZC1wc2V0IC5pdGVtLWltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jYXJ0LXJvdy5zZWNvbmQtcHNldCAucmVtb3ZlLWJ0biB7XG4gICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAwOyB9XG4gIC5jYXJ0LXJvdyAuZnJvbnQtYmFjay1zZXQtbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLmZyb250LWJhY2stc2V0LWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH0gfVxuXG4uY2FydC1zZXJ2aWNlcy5yZXF1aXJlZC1zZXJ2aWNlcyB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuICAuY2FydC1zZXJ2aWNlcy5yZXF1aXJlZC1zZXJ2aWNlcyAuc2VydmljZS1yb3cge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMucmVxdWlyZWQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzLnJlcXVpcmVkLXNlcnZpY2VzIC5pdGVtLXByaWNlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICAuY2FydC1zZXJ2aWNlcy5yZXF1aXJlZC1zZXJ2aWNlcyAuc2VydmljZS1pbmZvLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jYXJ0LXNlcnZpY2VzLmluY2x1ZGVkLXNlcnZpY2VzIC5pdGVtLXByaWNlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5jYXJ0LXNlcnZpY2VzLmluY2x1ZGVkLXNlcnZpY2VzIC5zZXJ2aWNlLXJvdyB7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmMmYyZjM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzLmluY2x1ZGVkLXNlcnZpY2VzIC5zZXJ2aWNlLXJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYXJ0LXNlcnZpY2VzLmluY2x1ZGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tcHJpY2Utd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnJlY29tbWVuZGVkLXNlcnZpY2Uge1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5yZWNvbW1lbmRlZC1zZXJ2aWNlIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLmNhcnQtc2VydmljZXMuZ3JvdXBlZC1zZXJ2aWNlcyAucmVjb21tZW5kZWQtc2VydmljZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuXG4uY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLXJvdyB7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmMmYyZjM7IH1cblxuLmNhcnQtc2VydmljZXMuZ3JvdXBlZC1zZXJ2aWNlcyAuc2VydmljZS1ncm91cC1uYW1lIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAyLjVyZW0gMCAwLjkzNzVyZW07IH1cblxuLmNhcnQtc2VydmljZXMuZ3JvdXBlZC1zZXJ2aWNlcyAuc2VydmljZS1pdGVtLXRvdGFsIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNhcnQtc2VydmljZXMuZ3JvdXBlZC1zZXJ2aWNlcyAuaXRlbS1wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tcHJpY2Utd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tcHJpY2Utd3JhcHBlciB7XG4gICAgbWF4LWhlaWdodDogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tcHJpY2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1yb3cge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwOyB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5ib3R0b20tbWFyZ2luIHtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1kZXRhaWxzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaW5mby13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pbmZvLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNTYyNXJlbTsgfSB9XG4gIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1pbWFnZSB7XG4gICAgZmxleDogMTsgfVxuICAuY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnNlcnZpY2UtZGVzY3JpcHRpb24ge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMCAwIDAgMTBweDsgfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1uYW1lLWJveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cblxuLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtbGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cblxuLmNhcnQtc2VydmljZXMgLnNob3J0LWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcyAuc2hvcnQtZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pbWFnZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDUwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWltYWdlIHtcbiAgICAgIG1heC13aWR0aDogNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcyAuc2VydmljZS10b3RhbC13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAwLjc1cmVtOyB9IH1cblxuLmNhcnQtc2VydmljZXMgLm1vcmUtaW5mby1saW5rIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcyAubW9yZS1pbmZvLWxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAubW9yZS1pbmZvLXRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNhcnQtc2VydmljZXMgLm1vcmUtaW5mby10ZXh0OmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VjdGlvbi1oZWFkZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuXG4uY2FydC1zZXJ2aWNlcyAubWFpbi1oZWFkZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAgMCAyLjE4OHJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMgLm1haW4taGVhZGVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tdG90YWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmNhcnQtc2VydmljZXMgLml0ZW0tcHJpY2Uge1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMgLml0ZW0tcHJpY2Uge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4ucmV2ZWFsW2lkKj1cInNlcnZpY2Vwb3B1cFwiXSxcbiNzZXJ2aWNlaW5mb21vZGFsIHtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbFtpZCo9XCJzZXJ2aWNlcG9wdXBcIl0sXG4gICAgI3NlcnZpY2VpbmZvbW9kYWwge1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAucmV2ZWFsW2lkKj1cInNlcnZpY2Vwb3B1cFwiXSAuY2xvc2UtYnV0dG9uLFxuICAjc2VydmljZWluZm9tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICByaWdodDogMS4xMjVyZW07XG4gICAgdG9wOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucmV2ZWFsW2lkKj1cInNlcnZpY2Vwb3B1cFwiXSAuY2xvc2UtYnV0dG9uLFxuICAgICAgI3NlcnZpY2VpbmZvbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHJpZ2h0OiAxLjc1cmVtO1xuICAgICAgICB0b3A6IDEuNDM4cmVtOyB9IH1cblxuLnNlcnZpY2UtbW9kYWwtY29udGVudCAuc2VydmljZS1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHdpZHRoOiA5MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZXJ2aWNlLW1vZGFsLWNvbnRlbnQgLnNlcnZpY2UtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfSB9XG5cbi5zZXJ2aWNlLW1vZGFsLWNvbnRlbnQgLnNlcnZpY2UtaW1hZ2Uge1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZXJ2aWNlLW1vZGFsLWNvbnRlbnQgLnNlcnZpY2UtaW1hZ2Uge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMzUlOyB9IH1cblxuLnNlcnZpY2UtbW9kYWwtY29udGVudCAubG9uZy1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VydmljZS1tb2RhbC1jb250ZW50IC5sb25nLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDEuODc1cmVtO1xuICAgICAgd2lkdGg6IDY1JTsgfSB9XG5cbi5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwge1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuXG4uY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAudGl0bGUsXG4jc2VydmljZWluZm9tb2RhbCAudGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgd2lkdGg6IDkwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLnRpdGxlLFxuICAgICNzZXJ2aWNlaW5mb21vZGFsIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuXG4uY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAuZGVzY3JpcHRpb24gcCxcbiNzZXJ2aWNlaW5mb21vZGFsIC5kZXNjcmlwdGlvbiBwIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmJ1dHRvbnMtYm94LFxuICAjc2VydmljZWluZm9tb2RhbCAuYnV0dG9ucy1ib3gge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmJ1dHRvbnMtYm94LFxuICAjc2VydmljZWluZm9tb2RhbCAuYnV0dG9ucy1ib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsIC5idXR0b25zLWJveCAuYnV0dG9uLFxuI3NlcnZpY2VpbmZvbW9kYWwgLmJ1dHRvbnMtYm94IC5idXR0b24ge1xuICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsIC5idXR0b25zLWJveCAuYnV0dG9uLFxuICAgICNzZXJ2aWNlaW5mb21vZGFsIC5idXR0b25zLWJveCAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCAxLjI1cmVtIDAgMDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmJ1dHRvbnMtYm94IGEsXG4jc2VydmljZWluZm9tb2RhbCAuYnV0dG9ucy1ib3ggYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG5cbiNpbnNpZGVfaG9sZGVyICNpbnNpZGVfbGl2ZUNoYXRUYWIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmNhcnQtcHNtb2RhbC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDIwcHggMCAwIDMwcHg7XG4gIHdpZHRoOiA4NSU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXBzbW9kYWwtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbi50b3RhbHMtc3RpY2t5LWJ1dHRvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gIGJvdHRvbTogMDtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDEwcHggIzgwODA4MDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjVyZW07XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHotaW5kZXg6IDEwOyB9XG4gIC50b3RhbHMtc3RpY2t5LWJ1dHRvbiAucHJpY2UtdG90YWwge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuICAudG90YWxzLXN0aWNreS1idXR0b24gLnByaWNlLXRvdGFsLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbTsgfVxuXG4jcHNtb2RhbC5jYXJ0LXBzbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gIHJpZ2h0OiAyNXB4OyB9XG5cbiNjYXJ0UXVhbnRpdHlNb2RhbCB7XG4gIGJvcmRlcjogMDtcbiAgbWF4LXdpZHRoOiAzODBweDtcbiAgcGFkZGluZzogMDsgfVxuICAjY2FydFF1YW50aXR5TW9kYWwgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogOXB4IDE1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjY2FydFF1YW50aXR5TW9kYWwgcCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAjY2FydFF1YW50aXR5TW9kYWwgLmNhcnRRdWFudGl0eU1vZGFsQ3RhIHtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuI3doeS1jaG9vc2Uta2FsdGlyZS1tb2RhbCB7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI3doeS1jaG9vc2Uta2FsdGlyZS1tb2RhbCB7XG4gICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICBtaW4taGVpZ2h0OiB1bnNldDsgfSB9XG4gICN3aHktY2hvb3NlLWthbHRpcmUtbW9kYWwucmV2ZWFsIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjd2h5LWNob29zZS1rYWx0aXJlLW1vZGFsLnJldmVhbCB7XG4gICAgICAgIG1heC13aWR0aDogNjkwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI3doeS1jaG9vc2Uta2FsdGlyZS1tb2RhbCAubW9kYWwtdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gICN3aHktY2hvb3NlLWthbHRpcmUtbW9kYWwgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAjd2h5LWNob29zZS1rYWx0aXJlLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIHRvcDogMC43NXJlbTsgfVxuXG4uY29udGF0LXVzLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNvbnRhdC11cy1mb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH0gfVxuICAuY29udGF0LXVzLWZvb3RlciAuaGVyZS10by1oZWxwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNkOGQ4ZDg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMS41NjI1cmVtOyB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5jYXJ0LWZvb3Rlci1pbWFnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNvbnRhdC11cy1mb290ZXIgLmNhcnQtZm9vdGVyLWltYWdlIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxOC43NXJlbTsgfVxuICAuY29udGF0LXVzLWZvb3RlciAuY29udGFjdC11cy1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jb250YXQtdXMtZm9vdGVyIC5jb250YWN0LXVzLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDA7IH0gfVxuICAuY29udGF0LXVzLWZvb3RlciAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLmNvbnRhY3QtaW5mby1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29udGF0LXVzLWZvb3RlciAuY29udGFjdC1pbmZvLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyB9IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLmFjdGlvbi1ib3gtY29udGVudCBwIHtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY29udGF0LXVzLWZvb3RlciAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtOyB9IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLnNlY3Rpb24tdGl0bGUtYm94IGgzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAuY29udGF0LXVzLWZvb3RlciAucGhvbmUtbnVtYmVyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5vcmRlclN1bW1hcnlMaXZlQ2hhdCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jb250YXQtdXMtZm9vdGVyIC5vcmRlclN1bW1hcnlMaXZlQ2hhdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLmFjdGlvbi1pY29uIC5jYXJkLWljb24ge1xuICAgIG1heC1oZWlnaHQ6IDFyZW07IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAxLjM3NXJlbTsgfVxuICAuY29udGF0LXVzLWZvb3RlciAuY2FyZC1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICB3aWR0aDogMXJlbTsgfVxuXG4ubWFudWZhY3R1cmVyLW51bWJlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubWFudWZhY3R1cmVyLW51bWJlciB7XG4gICAgICBtYXJnaW46IDAgMCAxLjM3NXJlbTsgfSB9XG5cbiNhZGR0b2NhcnRwb3B1cCB7XG4gIHBhZGRpbmc6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjYWRkdG9jYXJ0cG9wdXAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LWF0dHJpYnV0ZXMsXG4gICNhZGR0b2NhcnRwb3B1cCAuY2F0ZWdvcmllcy1ib3gsXG4gICNhZGR0b2NhcnRwb3B1cCAuYXZhaWxhYmlsaXR5LW1zZyxcbiAgI2FkZHRvY2FydHBvcHVwIC5yZWNvbW1lbmRlZC1iYWdkZSxcbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9tby1iYWRnZSxcbiAgI2FkZHRvY2FydHBvcHVwIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXNpemUgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wb3B1cC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2FkZHRvY2FydHBvcHVwIC5wb3B1cC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICNhZGR0b2NhcnRwb3B1cCAucG9wdXAtc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLm5ldy1jYXJ0LWl0ZW0ge1xuICAgIG1hcmdpbjogMzBweCAwIDI1cHg7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXRpbGUtYm94OmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXRpbGUtYm94OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW46IDAgMiUgMCAwOyB9IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXRpbGU6OmJlZm9yZSwgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXRpbGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXRpbGU6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtbmFtZSAuYnJhbmQtbmFtZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1uYW1lIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LXByaWNpbmcge1xuICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyAuYm94LXNwYWNpbmcge1xuICAgICAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyAucHJvZHVjdC1wcmljZTo6YmVmb3JlLCAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyAucHJvZHVjdC1wcmljZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyAucHJvZHVjdC1wcmljZTo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyAucmViYXRlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDlkOWRhO1xuICAgIHBhZGRpbmc6IDAgMCAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucy5uby1ib3JkZXIge1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMgLmNhbmNlbCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG4gICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucy1tYXJnaW4ge1xuICAgIG1hcmdpbjogMS41cmVtIDAgMDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCB7XG4gICAgbWFyZ2luOiAyNXB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDsgfSB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtYmFkZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IC5wb3B1cC1zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4OyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtdGlsZSB7XG4gICAgICBib3JkZXI6IDZweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgcGFkZGluZzogMTVweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IC5wcm9kdWN0LXRpbGUge1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IC5wcm9kdWN0LXNpemUsXG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IC5wcm9kdWN0LW5hbWUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNjAlOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCAucHJvZHVjdC1wcmljaW5nIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuXG4jY2FydC1wb3B1cC1jb250YWluZXIgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNjYXJ0LXBvcHVwLWNvbnRhaW5lciAucHJvZHVjdC1iYWRnZSB7XG4gIG1heC13aWR0aDogMjUlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgI2NhcnQtcG9wdXAtY29udGFpbmVyIC5wcm9kdWN0LWJhZGdlIHNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjYWRkdG9jYXJ0cG9wdXAge1xuICAgIHdpZHRoOiA3MDBweDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAubmV3LWNhcnQtaXRlbSAucHJvZHVjdC1pbWFnZSB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1hcmdpbi1yaWdodDogOC4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAubmV3LWNhcnQtaXRlbSAucHJvZHVjdC1ib3gge1xuICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAubmV3LWNhcnQtaXRlbSAucHJvZHVjdC10aWxlIHtcbiAgICAgIGJvcmRlcjogNnB4IHNvbGlkICNmMmYyZjI7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5uZXctY2FydC1pdGVtIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4Ym94O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBwYWRkaW5nOiAwIDAgNDBweDsgfVxuICAgICAgI2FkZHRvY2FydHBvcHVwIC5hY3Rpb25zIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMgLmNhbmNlbCB7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDsgfSB9XG5cbi5jYi1ib3JkZXJlZC1jb250ZW50IHtcbiAgYm9yZGVyOiA3cHggc29saWQgI2YyZjJmMjtcbiAgcGFkZGluZzogMTVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2ItYm9yZGVyZWQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7IH0gfVxuXG4uY2ItcGFnZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZzogMTAwcHggMCAxMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNiLXBhZ2UtaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgcGFkZGluZzogMTE1cHggMDsgfSB9XG4gIC5jYi1wYWdlLWhlYWRlciBoMSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1wYWdlLWhlYWRlciBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjZweDsgfSB9XG4gIC5jYi1wYWdlLWhlYWRlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItcGFnZS1oZWFkZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIC5jYi1wYWdlLWhlYWRlciAuY2ItY3RhIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5jYi1jdGEge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2M3NTMwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEzcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNiLWN0YSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctd2hpdGUge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctd2hpdGUge1xuICAgICAgICBwYWRkaW5nOiA5cHggMzBweDsgfSB9XG4gICAgLmNiLWN0YS5idXR0b24taG9sbG93LXdoaXRlOmhvdmVyLCAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctd2hpdGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQsIGNvbG9yOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrIHtcbiAgICAgICAgcGFkZGluZzogOXB4IDMwcHg7IH0gfVxuICAgIC5jYi1jdGEuYnV0dG9uLWhvbGxvdy1ibGFjazpob3ZlciwgLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNmE1ODM7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICAgICAgcGFkZGluZzogOXB4IDMwcHg7IH0gfVxuICAgIC5jYi1jdGEuYnV0dG9uLWZ1bGwtd2hpdGUuZmluYW5jaW5nTGluayB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gICAgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZTpob3ZlciwgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZhNTY2O1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmYTU2NjsgfVxuICAuY2ItY3RhLmxpbmsge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWN0YS5saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLmNiLWN0YS5saW5rOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmNiLWN0YS5saW5rIC5hcnJvdyB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4uY2ItY3RhLXNlY29uZGFyeSB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uY2Itc2VjdGlvbi1oZWFkZXIge1xuICBtYXJnaW46IDAgYXV0byAyNXB4OyB9XG4gIC5jYi1zZWN0aW9uLWhlYWRlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1zZWN0aW9uLWhlYWRlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDsgfSB9XG4gIC5jYi1zZWN0aW9uLWhlYWRlciBwLFxuICAuY2Itc2VjdGlvbi1oZWFkZXIgbGkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1zZWN0aW9uLWhlYWRlciBwLFxuICAgICAgLmNiLXNlY3Rpb24taGVhZGVyIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgLmNiLXNlY3Rpb24taGVhZGVyIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5jYi1jb2x1bW4ge1xuICBtYXJnaW46IDVweCAwIDA7IH1cbiAgLmNiLWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkLWNvcHkge1xuICAgIHBhZGRpbmc6IDIwcHggMCAwOyB9XG4gIC5jYi1jb2x1bW4gLmZpbmFuY2luZy1ibG9ja3MtdGl0bGUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDgyLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY2ItY29sdW1uIC5maW5hbmNpbmctYmxvY2tzLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cblxuLmNiLWNvbHVtbi1jaGlsZCB7XG4gIG1hcmdpbjogMCAwIDQwcHg7IH1cbiAgLmNiLWNvbHVtbi1jaGlsZCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItY29sdW1uLWNoaWxkIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgLmNiLWNvbHVtbi1jaGlsZCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMTNweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1jb2x1bW4tY2hpbGQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIC5jYi1jb2x1bW4tY2hpbGQgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY2ItY29sdW1uLWNoaWxkIC5jYi1jdGEge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAwOyB9IH1cblxuLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4ge1xuICBtYXJnaW46IDAgMCA1MHB4OyB9XG4gIC5jYi1pbWFnZS1hbHRlcm5hdGUtY29sdW1uIC5jYi1jdGEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogN3B4IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4OyB9IH1cbiAgLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4gaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4gaDIge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuLmNiLTEtY29sdW1uLWN0YSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgbWluLWhlaWdodDogMzAycHg7XG4gIHBhZGRpbmc6IDYwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNiLTEtY29sdW1uLWN0YSB7XG4gICAgICBwYWRkaW5nOiA3NXB4IDAgNTBweDsgfSB9XG4gIC5jYi0xLWNvbHVtbi1jdGEgPiAucm93IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY2ItMS1jb2x1bW4tY3RhIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLTEtY29sdW1uLWN0YSBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gIC5jYi0xLWNvbHVtbi1jdGEgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLTEtY29sdW1uLWN0YSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNiLTEtY29sdW1uLWN0YSAuY2ItY3RhIHtcbiAgICAgIG1hcmdpbjogMTBweDsgfSB9XG5cbi5jYi10ZXN0aW1vbmlhbCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNjVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2ItdGVzdGltb25pYWwge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nOiA4MHB4IDA7IH0gfVxuICAuY2ItdGVzdGltb25pYWwgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gIC5jYi10ZXN0aW1vbmlhbCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItdGVzdGltb25pYWwgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIC5jYi10ZXN0aW1vbmlhbCAuY2ItdGVzdGltb25pYWwtYXZhdGFyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmNiLXRlc3RpbW9uaWFsIC5jYi10ZXN0aW1vbmlhbC1hdmF0YXIgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIG1heC13aWR0aDogNDhweDsgfVxuICAgIC5jYi10ZXN0aW1vbmlhbCAuY2ItdGVzdGltb25pYWwtYXZhdGFyIHAge1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLmNiLTMtY29sdW1uLWZlYXR1cmUge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1zZWN0aW9uLWhlYWRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDsgfVxuICAuY2ItMy1jb2x1bW4tZmVhdHVyZSAuY2ItY29sdW1uLWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1jb2x1bW4tY2hpbGQtY29weSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1jb2x1bW4tY2hpbGQtY29weSBoMiB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1jb2x1bW4tY2hpbGQtY29weSBoMiB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuICAgIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1jb2x1bW4tY2hpbGQtY29weSAuY2ItY3RhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyB7XG4gICAgICBtYXJnaW46IDAgMCA2MHB4OyB9IH1cbiAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIC5jYi1jdGEge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIGg0IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIC5wcm9kdWN0LXRpbGUge1xuICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYi1mZWF0dXJlZC1wcm9kdWN0cy1jYXJkcyAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHtcbiAgICAgIG1hcmdpbjogMCAwIDUwcHg7IH0gfVxuICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgaW1nLnByb2RJbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgaW1nLnByb2RJbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHAge1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtaGVhZGluZ3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9IH1cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyBoNCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtaGVhZGluZ3MgaDIge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB0YWJsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB0YWJsZSB0aGVhZCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiA1cHggMCAyMHB4OyB9XG4gICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgdGFibGUgdGhlYWQgdGgge1xuICAgICAgICBwYWRkaW5nOiA1cHggMCAyMHB4OyB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHRoLFxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHRib2R5IHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB0YWJsZSB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1jdGEtd3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtY3RhLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YS13cmFwcGVyIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1jdGFzIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YS13cmFwcGVyIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1jdGFzIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5jYi1zZWNvbmRhcnktcGFnZS1uYXZpZ2F0aW9uIC5jYi1zZWNvbmRhcnktcGFnZS1uYXYtY2hpbGQge1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDhweCA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuICAgIC5jYi1zZWNvbmRhcnktcGFnZS1uYXZpZ2F0aW9uIC5jYi1zZWNvbmRhcnktcGFnZS1uYXYtY2hpbGQgaDQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jYi1zZWNvbmRhcnktcGFnZS1uYXZpZ2F0aW9uIC5jYi1zZWNvbmRhcnktcGFnZS1uYXYtY2hpbGQgaDQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2LWljb24ge1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jYi1jb2x1bW4tdGFicyAuY29sdW1uLWltYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG4uY2ItY29sdW1uLXRhYnMgLnRhYnMge1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSBhOmhvdmVyLFxuICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgbGkuaXMtYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgbGkgYTpob3Zlcjo6YWZ0ZXIsXG4gICAgLmNiLWNvbHVtbi10YWJzIC50YWJzIGxpLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLFxuICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSB7XG4gICAgICB3aWR0aDogMzMuMiU7IH0gfVxuICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgbGkgYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDYwcHg7IH0gfVxuICAgIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5jYi1jb2x1bW4tdGFicyAudGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgI2YyZjJmMjtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgcGFkZGluZzogNDBweCAwIDA7IH1cbiAgLmNiLWNvbHVtbi10YWJzIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY2ItY29sdW1uLXRhYnMgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCBoMiB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY2ItY29sdW1uLXRhYnMgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgICAuY2ItY29sdW1uLXRhYnMgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5jYi0xLWNvbHVtbi1kZXRhaWxzIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAuY2ItMS1jb2x1bW4tZGV0YWlscyBoNCB7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLTEtY29sdW1uLWRldGFpbHMgaDQge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAuY2ItMS1jb2x1bW4tZGV0YWlscyBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jYi0xLWNvbHVtbi1kZXRhaWxzIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cblxuLmNiLWFjY29yZGlvbiB7XG4gIG1hcmdpbjogMS4zMTI1cmVtIDA7IH1cbiAgLmNiLWFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gc3VtbWFyeSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuY2ItYWNjb3JkaW9uIC50b2dnbGUtaXRlbSAuaXRlbS1jb250ZW50IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNiLWFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gLml0ZW0tY29udGVudCAqIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uZm9vdGVyLWZhcS13cmFwcGVyIHtcbiAgbWFyZ2luOiAwIDAgNTBweDsgfVxuICAuZm9vdGVyLWZhcS13cmFwcGVyIGhyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZTBlMWUxO1xuICAgIG1hcmdpbjogMCAwIDUwcHg7IH1cbiAgLmZvb3Rlci1mYXEtd3JhcHBlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmZvb3Rlci1mYXEtd3JhcHBlciBoNSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLmZvb3Rlci1mYXEtd3JhcHBlciBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5mb290ZXItZmFxLXdyYXBwZXIgYS5mYXEtY3RhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZm9vdGVyLWZhcS13cmFwcGVyIC5jb2x1bW5zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG4uZ3Vlc3QtY2hlY2tvdXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi10b3A6IDIzcHg7IH1cbiAgLmd1ZXN0LWNoZWNrb3V0LXRleHQgcCB7XG4gICAgbWFyZ2luOiAwLjE4NzVyZW0gMCAxLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmd1ZXN0LWNoZWNrb3V0LXRleHQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuODc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5wdF9jaGVja291dCBsZWdlbmQge1xuICBtYXJnaW46IDA7IH1cblxuLnB0X2NoZWNrb3V0IHNlbGVjdCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHRfY2hlY2tvdXQgLmRpYWxvZy1yZXF1aXJlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucHRfY2hlY2tvdXQgLnN0ZXAtYmFjay1saW5rIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAyMHB4IDA7IH1cblxuLnB0X2NoZWNrb3V0IC5mb3JtLXJvdy1idXR0b24ge1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wdF9jaGVja291dCAuZm9ybS1yb3ctYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5wdF9jaGVja291dCAuZm9ybS1yb3ctYnV0dG9uIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnB0X2NoZWNrb3V0IC5mb3JtLXJvdy1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4ucGF5bWVudC1mb3JtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAucGF5bWVudC1mb3JtLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNoZWNrb3V0LW1haW4tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LW1haW4tdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07IH0gfVxuXG4uY2hlY2tvdXQtc3RlcCBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNoZWNrb3V0LXN0ZXAgaDIgc3BhbiB7XG4gICAgY29sb3I6ICNjNzUzMDA7IH1cblxucC5zZWxlY3QtdmVoaWNsZSB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfVxuXG4uaGVhZGVyLXRpdGxlLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5oZWFkZXItdGl0bGUtd3JhcHBlciAuY2hlY2tvdXQtc3RlcC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaGVhZGVyLXRpdGxlLXdyYXBwZXIgLmNoZWNrb3V0LXN0ZXAtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgLmhlYWRlci10aXRsZS13cmFwcGVyIC5mb3JtLXJvdy1idXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY2hlY2tvdXQtbWFpbi1yb3cge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2hlY2tvdXQtbWFpbi1yb3cge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciB7XG4gIG1hcmdpbi1ib3R0b206IDY1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogODdweDsgfSB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmNoZWNrb3V0LW1haW4tdGl0bGUge1xuICAgIHBhZGRpbmc6IDQ1cHggMCAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXBzLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMjcwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwcy13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTRweDsgfSB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXBzIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTdlN2U3O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcCB7XG4gICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgd2lkdGg6IDQ2cHg7IH0gfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXA6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDMycHg7XG4gICAgICB0b3A6IDE2cHg7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXA6OmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IDQ2cHg7XG4gICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICAgIHdpZHRoOiA1NHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDU0cHg7IH1cbiAgICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogNTRweDsgfSB9XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAyNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1NHB4OyB9IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBsZWZ0OiAzMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNnB4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgICBsZWZ0OiA0NnB4O1xuICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgICB3aWR0aDogNTRweDsgfSB9XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5hY3RpdmUsIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAucGFzc2VkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5hY3RpdmU6OmJlZm9yZSwgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5wYXNzZWQ6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7IH1cbiAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAuYWN0aXZlOmxhc3QtY2hpbGQ6OmFmdGVyLCAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLnBhc3NlZDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLnBhc3NlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZjY5MDAgaW5zZXQ7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5wYXNzZWQgLmljb24ge1xuICAgICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAuaW5hY3RpdmUge1xuICAgICAgY29sb3I6ICNjOWM5Yzk7IH1cbiAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC1uYW1lIHtcbiAgICBib3R0b206IC0xNXB4O1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGxlZnQ6IC01MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC1uYW1lIHtcbiAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfSB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24ge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5pY29uOjpiZWZvcmUge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24tYXBwb2ludG1lbnQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjI3MVwiO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5pY29uLWluZm9ybWF0aW9uOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYwMDdcIjsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24tdmVyaWZpY2F0aW9uOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYwOWRcIjsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24tcmV2aWV3OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxNWNcIjsgfVxuXG4uY2hlY2tvdXQtc3VtbWFyeSAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuXG4ucHJvZHVjdC1zcGVjaWZpYy1tZXNzYWdlcyB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjM7XG4gIG1hcmdpbjogMS4yNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbSAxLjI1cmVtIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnByb2R1Y3Qtc3BlY2lmaWMtbWVzc2FnZXMge1xuICAgICAgbWFyZ2luOiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuOTM3NXJlbSAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LW9yZGVyLXRvdGFscyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbjogMCAwIDEuNTYyNXJlbTtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIHtcbiAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIHtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW07IH0gfVxuICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAuNjI1cmVtOyB9XG4gICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5ib2xkIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC10b3RhbC1wYWlkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjM7IH1cbiAgICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC10b3RhbC1wYWlkIHRkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXN0b3JlLXRvdGFsLmJvbGQsIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5hbW91bnQtdG90YWwtcGFpZC5ib2xkIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5hbW91bnQtc3RvcmUtdG90YWwuYm9sZCwgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC10b3RhbC1wYWlkLmJvbGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci52ZWhpY2xlLWluZm8ge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIudmVoaWNsZS1pbmZvIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLnZlaGljbGUtaW5mbyB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDIuMTg4cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAucmViYXRlLW1lc3NhZ2Uge1xuICAgIG1hcmdpbjogMC42MjVyZW0gMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLnJlYmF0ZS1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7IH0gfVxuICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLnJlYmF0ZS1tZXNzYWdlIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5sZXZ5LW1lc3NhZ2UtbWluaXN1bW1hcnkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZjJmMmYzO1xuICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBtYXJnaW46IDEuMTI1cmVtIDAgMCAwO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gIC5jaGVja291dC1vcmRlci10b3RhbHMgLnN0ZXAtYmFjay1saW5rIHtcbiAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDsgfVxuXG4ubmVlZC1oZWxwLWNoZWNrb3V0IGgzIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cblxuLm5lZWQtaGVscC1jaGVja291dCBwIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBtYXJnaW46IDAgMCAwLjMxMjVyZW07IH1cblxuLm5lZWQtaGVscC1jaGVja291dCBhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgbGVnZW5kIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5kaWFsb2ctcmVxdWlyZWQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1zaGlwcGluZyAuZGlhbG9nLXJlcXVpcmVkIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnNhdmUtZm9yLWJpbGxpbmcge1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LXNoaXBwaW5nIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94IHtcbiAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCB7XG4gICAgICBtYXJnaW46IDAgMCAyLjVyZW07IH0gfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnNlbGVjdGlvbi1ib3ggLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnNlbGVjdGlvbi1ib3ggLnJhZGlvLWZvcm0sXG4gIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCAuY2hlY2tib3gtZm9ybSB7XG4gICAgbWFyZ2luOiAwIDAgOHB4OyB9XG4gIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCAucmFkaW8tZm9ybSAuZmllbGQtd3JhcHBlciArIGxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgLmNvbW1lcmNpYWwtZmxlZXQtZm9ybSB7XG4gICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5jaGVja291dC1zaGlwcGluZyAuY29tbWVyY2lhbC1mbGVldC13cmFwcGVyIC5zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgaDEge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA3cHggMTVweDsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciAuaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGxlZnQ6IDhweDtcbiAgdG9wOiAwOyB9XG4gIC5jaGVja291dC1zaGlwcGluZyAuY29tbWVyY2lhbC1mbGVldC13cmFwcGVyIC5oYXMtdGlwIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgIGNvbG9yOiAjYzc1MzAwOyB9XG5cbi5jaGVja291dC1zaGlwcGluZyAudmVoaWNsZS1pbmZvcm1hdGlvbiB7XG4gIG1hcmdpbjogMjBweCAwIDMwcHg7XG4gIG1heC13aWR0aDogNTkwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1zaGlwcGluZyAudmVoaWNsZS1pbmZvcm1hdGlvbiB7XG4gICAgICBtYXJnaW46IDIwcHggMCA3MHB4OyB9IH1cbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLmluZm9ybWF0aW9ucyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIC5pbmZvcm1hdGlvbnMge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLnZlaGljbGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIC5hZGQtdmVoaWNsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIC5hZGQtdmVoaWNsZSB7XG4gICAgICAgIG1heC13aWR0aDogMTQxcHg7IH0gfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLmVkaXQtYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4jcHNtb2RhbC53YXJuaW5nLW1vZGFsIHtcbiAgcGFkZGluZzogMzBweDsgfVxuICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIGgzIHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgI3BzbW9kYWwud2FybmluZy1tb2RhbCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMzBweDsgfVxuICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIHRvcDogMjNweDsgfVxuICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwc21vZGFsLndhcm5pbmctbW9kYWwgLmJ1dHRvbiB7XG4gICAgICAgIG1heC13aWR0aDogMjEwcHg7IH0gfVxuICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIC5rZWVwLXZlaGljbGUge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIC5rZWVwLXZlaGljbGUge1xuICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNpdHktcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cucG9zdGFsLXJvdyB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtOyB9XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5zdGF0ZS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jb3VudHJ5LXJvdyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH0gfVxuXG4uY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY2l0eS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5zdGF0ZS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5wb3N0YWwtcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY291bnRyeS1yb3cge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNpdHktcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuc3RhdGUtcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cucG9zdGFsLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNvdW50cnktcm93IHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNpdHktcm93KSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCgucG9zdGFsLXJvdyksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnN0YXRlLXJvdyksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNoZWNrYm94LWZvcm0pLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jb3VudHJ5LXJvdykge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jaXR5LXJvdyk6bnRoLWNoaWxkKG9kZCksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnBvc3RhbC1yb3cpOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5zdGF0ZS1yb3cpOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jaGVja2JveC1mb3JtKTpudGgtY2hpbGQob2RkKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY291bnRyeS1yb3cpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMDsgfVxuICAgIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNpdHktcm93KTpudGgtY2hpbGQoZXZlbiksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnBvc3RhbC1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguc3RhdGUtcm93KTpudGgtY2hpbGQoZXZlbiksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNoZWNrYm94LWZvcm0pOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY291bnRyeS1yb3cpOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAwLjYyNXJlbTsgfSB9XG5cbi5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jaXR5LXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnN0YXRlLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnBvc3RhbC1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jb3VudHJ5LXJvdyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY2l0eS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5zdGF0ZS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5wb3N0YWwtcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY291bnRyeS1yb3cge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2l0eS1yb3cpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5wb3N0YWwtcm93KSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguc3RhdGUtcm93KSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY291bnRyeS1yb3cpIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2l0eS1yb3cpOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5wb3N0YWwtcm93KTpudGgtY2hpbGQob2RkKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguc3RhdGUtcm93KTpudGgtY2hpbGQob2RkKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY291bnRyeS1yb3cpOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMDsgfVxuICAgIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNpdHktcm93KTpudGgtY2hpbGQoZXZlbiksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnBvc3RhbC1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguc3RhdGUtcm93KTpudGgtY2hpbGQoZXZlbiksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNvdW50cnktcm93KTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZzogMCAwIDAgMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jaXR5LXJvdyB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY291bnRyeS1yb3cge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5wb3N0YWwtcm93IC5maWVsZC13cmFwcGVyIHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93IC5maWVsZC13cmFwcGVyLmhhcy10b29sdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdyAuZmllbGQtd3JhcHBlci5oYXMtdG9vbHRpcCBpIHtcbiAgICBjb2xvcjogIzhhOGE4YTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMC44NzVyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDE7IH1cblxuLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmZvcm0taW5kZW50LmNoZWNrYm94LWZvcm0ge1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAudG9wLXBheW1lbnQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHBhZGRpbmc6IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNoZWNrb3V0LWJpbGxpbmcgLnRvcC1wYXltZW50LWluZm8ge1xuICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gIC5jaGVja291dC1iaWxsaW5nIC50b3AtcGF5bWVudC1pbmZvIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY2hlY2tvdXQtYmlsbGluZyAudG9wLXBheW1lbnQtaW5mbyAuZHVlLXBheW1lbnQtdGl0bGUge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNoZWNrb3V0LWJpbGxpbmcgLnRvcC1wYXltZW50LWluZm8gLmR1ZS1wYXltZW50LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9IH1cblxuLmNoZWNrb3V0LWJpbGxpbmcgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtYmlsbGluZyAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmFkZHJlc3Mtcm93IHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAucGF5bWVudC1tZXRob2Qge1xuICBtYXJnaW46IDAgMCAyLjgxM3JlbTsgfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAuY3JlZGl0LWNhcmQtbG9nb3Mge1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgbWF4LXdpZHRoOiAxNTBweDsgfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAjbW9uZXJpc0ZyYW1lIHtcbiAgaGVpZ2h0OiAyMzVweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNoZWNrb3V0LWJpbGxpbmcgI21vbmVyaXNNc2cge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogI2YwMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtYnJhbmQsXG4uY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LWJyYW5kIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtYnJhbmQsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1icmFuZCB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtbmFtZSxcbi5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtbmFtZSB7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLmxpbmUtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LW5hbWUsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcHJpY2UsXG4uY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLXByaWNlLFxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLXByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcXVhbnRpdHkgLml0ZW0tcXVhbnRpdHksXG4uY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1xdWFudGl0eSAuaXRlbS1xdWFudGl0eSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLXF1YW50aXR5IC5pdGVtLXF1YW50aXR5LFxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLXF1YW50aXR5IC5pdGVtLXF1YW50aXR5IHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5hZGRyZXNzMSxcbi5jb25maXJtYXRpb24tcGFnZSAuYWRkcmVzczEge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLnppcC1jb2RlLFxuLmNvbmZpcm1hdGlvbi1wYWdlIC56aXAtY29kZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIGFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjM7XG4gICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICAgIHBhZGRpbmc6IDEuNTYzcmVtIDAgMDsgfSB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi10aXRsZS1ib3ggLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi10aXRsZS1ib3ggLmVkaXQtc2VjdGlvbi1saW5rIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYzcmVtOyB9IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuc2VjdGlvbi1ib3guY29sdW1ucyB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2M3JlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2M3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLmFwcG9pbnRtZW50LXRpbWUge1xuICAgIGNvbG9yOiAjODA4Mjg1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnJpZ2h0LWluZm8tYm94IC5zZWN0aW9uLWJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC52ZWhpY2xlLWluZm8td3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnZlaGljbGUtaW5mby13cmFwcGVyIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5kaXNjbGFpbWVyLWNoZWNrb3V0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuZGlzY2xhaW1lci1jaGVja291dCBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLm9yZGVyLXN1bW1hcnktZm9vdGVyIHtcbiAgbWFyZ2luOiAxLjU2M3JlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLm9yZGVyLXN1bW1hcnktZm9vdGVyIHtcbiAgICAgIG1hcmdpbjogMy4xMjVyZW0gMCAwOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5idXR0b24ge1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgbWFyZ2luOiAxLjI1cmVtIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAgIG1hcmdpbjogMy40MzhyZW0gMCAwOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYzcmVtIDEuMjVyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubG9naW4tYm94LmxvZ2luLWNyZWF0ZS1hY2NvdW50IC5sb2dpbi1ib3gtZmllbGRzZXQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gubG9naW4tY3JlYXRlLWFjY291bnQgLmxvZ2luLWJveC1maWVsZHNldCAuZm9ybS1yb3cge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveC5sb2dpbi1jcmVhdGUtYWNjb3VudCAubG9naW4tYm94LWZpZWxkc2V0IC5mb3JtLXJvdyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubG9naW4tYm94LmxvZ2luLWNyZWF0ZS1hY2NvdW50IGZvcm0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubG9naW4tYm94LmxvZ2luLWNyZWF0ZS1hY2NvdW50IC5sb2dpbi1ib3gtc3VibWl0LWJ1dHRvbiB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gubG9naW4tY3JlYXRlLWFjY291bnQgLnByaXZhY3ktcG9saWN5IHtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveC5sb2dpbi1jcmVhdGUtYWNjb3VudCAucHJpdmFjeS1wb2xpY3kubGluayB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3ggLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jcmVhdGUtYWNjb3VudC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY3JlYXRlLWFjY291bnQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTsgfSB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuY3JlYXRlLWFjY291bnQtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jcmVhdGUtYWNjb3VudC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi4xODhyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2UgaDEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2UgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2UgcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlIHAge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjU2M3JlbSAwIDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZS1ib3ggLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZS1ib3guYWN0aW9uLWJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94LmFjdGlvbi1ib3ggLnBob25lLW51bWJlciB7XG4gICAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94LmFjdGlvbi1ib3ggLm9yZGVyU3VtbWFyeUxpdmVDaGF0IHtcbiAgICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveC5hY3Rpb24tYm94IC5hY3Rpb24taWNvbiAuY2FyZC1pY29uIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTZweDsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZS0tdG9wLW1hcmdpbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjNyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuc2VjdGlvbi1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnNlY3Rpb24tYm94LmNvbHVtbnMge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2M3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYzcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLmFwcG9pbnRtZW50LXRpbWUge1xuICAgICAgY29sb3I6ICM4MDgyODU7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zbXMtcmVtaW5kZXItYm94IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbWFyZ2luOiAwIDAgMS41NjNyZW0gMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNtcy1yZW1pbmRlci1ib3ggcCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tbGlua3MgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmMmYyZjM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3gge1xuICAgICAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAwLjkzNzVyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCAuaW1nLWJveCB7XG4gICAgICBtYXJnaW46IDAgMC40Mzc1cmVtIDAgMDtcbiAgICAgIHdpZHRoOiA1MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCAuaW1nLWJveCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDEuMjVyZW0gMCAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3ggLnRleHQtYm94IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1N3B4KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3ggLnRleHQtYm94IHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCBoMyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24ge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbiAub3JkZXItZGF0ZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMCAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIC5vcmRlci1kYXRlIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24gLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIC5zZWN0aW9uLXRpdGxlLWJveCAuYW1vdW50LWR1ZS1hdC1zdG9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWxvY2FsZSAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbi1sb2NhbGUgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbi1sb2NhbGUgLnNlY3Rpb24tdGl0bGUtYm94IC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbi1sb2NhbGUgLnNlY3Rpb24tdGl0bGUtYm94IC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWxvY2FsZSAuc2VjdGlvbi10aXRsZS1ib3ggcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY2FydC1zdW1tYXJ5LWJveDo6YmVmb3JlLCAuY29uZmlybWF0aW9uLXBhZ2UgLmNhcnQtc3VtbWFyeS1ib3g6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jYXJ0LXN1bW1hcnktYm94OjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5taW5pLWJpbGxpbmctYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1iaWxsaW5nLWFkZHJlc3MgKyAuc2VjdGlvbi1ib3gge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAuaGVhZGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLmNoZWNrZWQtaWNvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMjdweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLmNoZWNrZWQtaWNvbiB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjYzc1MzAwIGluc2V0O1xuICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICB3aWR0aDogMjhweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLmNoZWNrZWQtaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgI2M3NTMwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDI3cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAuY2hlY2tlZC1pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICB3aWR0aDogMjhweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC50aXRsZSB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLnRpdGxlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC5zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAuc3VidGl0bGUge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmFwcG9pbnRtZW50LWRhdGEtdGltZS1sb2NhbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1kYXRhLXRpbWUgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmFwcG9pbnRtZW50LXRpbWUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5sb2NhdGlvbi1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmxvY2F0aW9uLWJveCBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuYXBwb2ludG1lbnQtYnV0dG9uIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24gLmFkZC10by1jYWxlbmRhciB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24gLmFkZC10by1jYWxlbmRhciB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIG1heC13aWR0aDogMTk2cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24gLnByaW50LWxpbmsge1xuICAgICAgICBtYXgtd2lkdGg6IDI3MHB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAucmVtaW5kZXItaW5mbyB7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jdXN0b21lci1jYXJlIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY3VzdG9tZXItY2FyZSB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmN1c3RvbWVyLWNhcmUgaDMge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY3VzdG9tZXItY2FyZSBoMyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jdXN0b21lci1jYXJlIHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmMmYyZjM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogMzBweCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMzBweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgaDMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmFwcHQtaW5mbyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmFwcHQtaW5mbyAuaW5mb3JtYXRpb24tYm94LFxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmFwcHQtaW5mbyBkaXYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyAuYXBwdC1pbmZvIGRpdiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyAuaW5mb3JtYXRpb24tYm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5pbmZvcm1hdGlvbi1ib3ggZGl2IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmluZm9ybWF0aW9uLWJveCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5pbmZvcm1hdGlvbi1ib3ggaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5pbmZvcm1hdGlvbi1ib3g6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMuYXNzZXRzLXBkZiAuYXBwdC1pbmZvLXBkZiB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTc5Nzk3OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMuYXNzZXRzLXBkZiAuY3VzdG9tZXItY2FyZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMge1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXN1bW1hcnktdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlOGU4ZTk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMmYyZjM7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMzsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLmxldnktbWVzc2FnZS1vcmRlcmRldGFpbHMge1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWF4LXdpZHRoOiAzNjBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLmxldnktbWVzc2FnZS1vcmRlcmRldGFpbHMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAub3JkZXItc3VtbWFyeS1oZWFkZXIge1xuICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1zdW1tYXJ5LWhlYWRlciB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhbHdheXM7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmxpbmUtaXRlbXMgLnByb2R1Y3QtYnJhbmQsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAubGluZS1pdGVtcyAucHJvZHVjdC1uYW1lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmxpbmUtaXRlbXMgLnByb2R1Y3QtYnJhbmQsXG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmxpbmUtaXRlbXMgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5wcm9kdWN0bmFtZS1jb2x1bW4gLmxpbmUtaXRlbXMtdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLnByb2R1Y3RuYW1lLWNvbHVtbiAub3JkZXItc3VtbWFyeS1wcm9kdWN0cy10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiBwIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gLmZ1bGwtbmFtZSB7XG4gICAgICBvcmRlcjogMDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5lbWFpbCB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5waG9uZS1udW1iZXIge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiAucG9zdGFsLWNvZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLmluZm9ybWF0aW9uLWJveCB7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAwIDA7IH1cbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAuaW5mb3JtYXRpb24tYm94LS1mdWxsLXBhZGRpbmcge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDsgfVxuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5pbmZvcm1hdGlvbi1ib3gtLWdyZXktYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYzOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAuc2VjdGlvbi10aXRsZS1ib3gtLW5vLW1hcmdpbiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAudGl0bGUtLW9yYW5nZSB7XG4gICAgICBjb2xvcjogI2M3NTMwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLnBheW1lbnQtdmVyaWZpY2F0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAucGF5bWVudC12ZXJpZmljYXRpb24gLnNlY3Rpb24tYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMztcbiAgICAgICAgcGFkZGluZzogMCAxMnB4IDE1cHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5uZWVkLWNoYW5nZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLm5lZWQtY2hhbmdlcyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAucGF5bWVudC12ZXJpZmljYXRpb24gcCB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRyIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG5cbi5wcm9kdWN0LWRldGFpbGVkLWluZm8ge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAucHJvZHVjdC1kZXRhaWxlZC1pbmZvIC5hdHRyaWJ1dGUtZGF0YSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDA7IH1cblxuLnNhdmUtZm9yLWJpbGxpbmcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tb25lcmlzSW5wdXQge1xuICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuXG4jbW9uZXJpc05hbWVJbnB1dCB7XG4gIHdpZHRoOiAyNTVweDsgfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQsXG4uY2hlY2tvdXQtYmlsbGluZyAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQgKyBkaXYge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5taW5pLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjM7IH1cbiAgLm1pbmktaGVhZGVyIC5oZWFkZXItbG9nbyB7XG4gICAgcGFkZGluZzogMTZweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm1pbmktaGVhZGVyIC5oZWFkZXItbG9nbyB7XG4gICAgICAgIHBhZGRpbmc6IDI2cHggMDsgfSB9XG5cbi5jaGVja291dC1wZXJzb25hbC1pbmZvIC5hY2NvdW50LWluZm8tY2hlY2tvdXQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxcHg7IH1cblxuLmNoZWNrb3V0LXBlcnNvbmFsLWluZm8gLmFjY291bnQtaW5mby1jaGVja291dC1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5jaGVja291dC1wZXJzb25hbC1pbmZvIC5hY2NvdW50LWluZm8tZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNoZWNrb3V0LXBlcnNvbmFsLWluZm8uZXhwYW5kZWQgLmFjY291bnQtaW5mby1mb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNoZWNrb3V0LXBlcnNvbmFsLWluZm8uZXhwYW5kZWQgLmFjY291bnQtaW5mby1jaGVja291dCxcbi5jaGVja291dC1wZXJzb25hbC1pbmZvLmV4cGFuZGVkIC5hY2NvdW50LWluZm8tY2hlY2tvdXQtbGFiZWwsXG4uY2hlY2tvdXQtcGVyc29uYWwtaW5mby5leHBhbmRlZCAubmFtZS1sZW5ndGgtZXJyb3Ige1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jaGVja291dC1wZXJzb25hbC1pbmZvLmV4cGFuZGVkIC5hY2NvdW50LWluZm8tZm9ybS10b2dnbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi51cGRhdGUtY3JlZHMtbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5yZXF1aXJlZC1maWVsZDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIipcIjtcbiAgbWFyZ2luLWxlZnQ6IDNweDsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAuc2VjdGlvbi1oZWFkZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLmNhcnQtc3VtbWFyeS1ib3ggLnNlY3Rpb24taGVhZGVyLnF0eS1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2FydC1zdW1tYXJ5LWJveCAuc2VjdGlvbi1oZWFkZXIudG90YWwtcHJpY2UtaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW1zIHtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW0gMDsgfSB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0tZGV0YWlscyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLWRldGFpbHMge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLnByb2R1Y3QtYnJhbmQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5wcm9kdWN0LW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2FydC1zdW1tYXJ5LWJveCAucHJvZHVjdC1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLXByaWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLXByaWNlIC5vbGQtcHJpY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbS1xdWFudGl0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAuaXRlbS1xdWFudGl0eSxcbi5jYXJ0LXN1bW1hcnktYm94IC5wcmljZS10b3RhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0tdG90YWwge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYzO1xuICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW07IH1cbiAgLmNhcnQtc3VtbWFyeS1ib3ggLm1haW4tc2VjdGlvbi1oZWFkZXIgLnNlY3Rpb24taGVhZGVyIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmZyb250LWJhY2stc2V0LWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5maXJzdC1wc2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5yZWJhdGUtYmFkZ2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc3VtbWFyeS1ib3ggLnJlYmF0ZS1iYWRnZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNhcnQtc3VtbWFyeS1ib3ggLnJlYmF0ZS1iYWRnZSB7XG4gICAgICBtYXJnaW46IDAuMzEyNXJlbSAwIDA7IH0gfVxuICAuY2FydC1zdW1tYXJ5LWJveCAucmViYXRlLWJhZGdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9yZWJhdGVfaWNvbi5wbmdcIikgbm8tcmVwZWF0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbjogMCAwLjI1cmVtIDAgMDtcbiAgICB3aWR0aDogMjVweDsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAucmViYXRlLXRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5zZXJ2aWNlLXJvdyAucHJvZHVjdC1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ub3JkZXJkZXRhaWxzIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXJkZXRhaWxzIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ub3JkZXJkZXRhaWxzIC5yZWJhdGUtYm94IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2hlY2tvdXQtbWluaS1jYXJ0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMzBweCAyMHB4OyB9XG4gIC5jaGVja291dC1taW5pLWNhcnQgLnNlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2hlY2tvdXQtbWluaS1jYXJ0IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNoZWNrb3V0LW1pbmktY2FydCAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBtYXJnaW46IDEuMjVyZW0gMCAwIDEuMjVyZW07IH1cbiAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtcyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtID4gZGl2IHtcbiAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLmZpcnN0LXBzZXQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0uc2Vjb25kLXBzZXQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07IH1cbiAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgM3B4OyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5wcm9kdWN0LWJyYW5kLFxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAucHJpY2UtdG90YWwge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNoZWNrb3V0LW1pbmktY2FydCAubGluZS1pdGVtLXF1YW50aXR5IC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5saW5lLWl0ZW0tcXVhbnRpdHkgLnNlY3Rpb24taGVhZGVyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiOyB9XG4gICAgLmNoZWNrb3V0LW1pbmktY2FydCAuc2VydmljZS1yb3cge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5zZXJ2aWNlLXJvdyAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAub3JkZXItcmV2aWV3LXBhZ2UgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm9yZGVyLXJldmlldy1wYWdlIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5hcHBvaW50bWVudC1kYXRhLXRpbWUgcCB7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAuYXBwLWluZm8td3JhcHBlciBwIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBsaW5lLWhlaWdodDogMjJweDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmxvY2F0aW9uLWJveCAuc2VjdGlvbi10aXRsZSxcbi5vcmRlci1yZXZpZXctcGFnZSAubG9jYXRpb24tYm94IHAge1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgcGFkZGluZzogNTBweCAwIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiBwIHtcbiAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiAuZnVsbC1uYW1lIHtcbiAgICBvcmRlcjogMDsgfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiAuZW1haWwge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5waG9uZS1udW1iZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5wb3N0YWwtY29kZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmRpc2NsYWltZXItY2hlY2tvdXQge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLmRpc2NsYWltZXItY2hlY2tvdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAucmViYXRlLXRleHQsXG4uY29uZmlybWF0aW9uLXBhZ2UgLnJlYmF0ZS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5yZWJhdGUtYm94LFxuLmNvbmZpcm1hdGlvbi1wYWdlIC5yZWJhdGUtYm94IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDgwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5yZWJhdGUtYm94LFxuICAgIC5jb25maXJtYXRpb24tcGFnZSAucmViYXRlLWJveCB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAucmViYXRlLWJveCxcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnJlYmF0ZS1ib3gge1xuICAgICAgd2lkdGg6IDI3JTsgfSB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAucmViYXRlLWJhZGdlLFxuLmNvbmZpcm1hdGlvbi1wYWdlIC5yZWJhdGUtYmFkZ2Uge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hcHBvaW50bWVudHMuYXBwb2ludG1lbnRzLXdyYXAge1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cy5hcHBvaW50bWVudHMtd3JhcCB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBtYXJnaW46IDUwcHggMCA3NXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4OyB9IH1cblxuLmFwcG9pbnRtZW50cyAubWFpbi10aXRsZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWRhO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgcGFkZGluZy10b3A6IDUwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLm1haW4tdGl0bGUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZHVyYXRpb24ge1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMS41NjNyZW07IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtY2FsZW5kYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtY2FsZW5kYXIgLmxvYWRlciB7XG4gICAgYm90dG9tOiAtNGVtO1xuICAgIHRvcDogYXV0bzsgfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIHBhZGRpbmctYm90dG9tOiAxOHB4OyB9XG5cbi5hcHBvaW50bWVudHMgLmNsbmRyLWNvbnRyb2xzIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDAgMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLWNvbnRyb2xzOjpiZWZvcmUsIC5hcHBvaW50bWVudHMgLmNsbmRyLWNvbnRyb2xzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLWNvbnRyb2xzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItY29udHJvbHMgLm1vbnRoIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kci1wcmV2aW91cy1idXR0b24sXG4uYXBwb2ludG1lbnRzIC5jbG5kci1uZXh0LWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG5cbi5hcHBvaW50bWVudHMgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbixcbi5hcHBvaW50bWVudHMgLmNsbmRyLW5leHQtYnV0dG9uIHtcbiAgd2lkdGg6IDIwcHg7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItcHJldmlvdXMtYnV0dG9uOjpiZWZvcmUsXG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLW5leHQtYnV0dG9uOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtaW5kZW50OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50cyAuY2xuZHItcHJldmlvdXMtYnV0dG9uOjpiZWZvcmUsXG4gICAgICAuYXBwb2ludG1lbnRzIC5jbG5kci1uZXh0LWJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH0gfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kci1wcmV2aW91cy1idXR0b246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEzXCI7XG4gIGxlZnQ6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDIwcHg7IH0gfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kci1uZXh0LWJ1dHRvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTRcIjtcbiAgcmlnaHQ6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLW5leHQtYnV0dG9uOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDIwcHg7IH0gfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIG1hcmdpbjogMDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIHRib2R5IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSB0Ym9keSB0ZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgdGQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5jbG5kci1jb250cm9scy53ZWVrIHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMTVweDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuaGVhZGVyLWRheSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgcGFkZGluZzogMCAwIDAuNjI1cmVtOyB9XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmhlYWRlci1kYXk6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkZGRlOyB9XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmhlYWRlci1kYXk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkZGRlOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5ldmVudCAudy1kYXksXG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5ldmVudCAubW9udGgtZGF5IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5kYXkgLm1vbnRoLXZpZXcge1xuICAgICAgcGFkZGluZzogMTFweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5IC5tb250aC12aWV3IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5IC5tb250aC12aWV3IHtcbiAgICAgIHBhZGRpbmc6IDdweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSBhbmQgKG1heC13aWR0aDogMTMxOXB4KSB7XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmRheSAubW9udGgtdmlldyB7XG4gICAgICBwYWRkaW5nOiA5cHg7IH0gfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5LmV2ZW50OmhvdmVyIC5kYXktY29udGVudHMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNzUzMDA7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmRheTpub3QoLmV2ZW50KSB7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5LmFjdGl2ZS1ldmVudCAuZGF5LWNvbnRlbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICAgIGJvcmRlci1jb2xvcjogI2M3NTMwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5maXJzdC1kYXkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLm1vbnRoLWRheSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5LWNvbnRlbnRzIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGhlaWdodDogMjlweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDI5cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5LWNvbnRlbnRzIHtcbiAgICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgICB3aWR0aDogMzNweDsgfSB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC53LWRheSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAud2Vlay12aWV3IC5jb250cm9sbC13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5hcHBvaW50bWVudHMgLmNsbmRyLXRhYnMge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYnMgLnRhYiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYnMgLnRhYi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M3NTMwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2M3NTMwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYnMgLm1vbnRoLXRhYiB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZXJyb3ItbWVzc2FnZSBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzLFxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lLFxuLmFwcG9pbnRtZW50cyAubm8tYXZhaWxhYmxlLWFwcG9pbnRtZW50cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGU7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIHBhZGRpbmc6IDEuNTYzcmVtIDEuMjVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzLFxuICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSxcbiAgICAuYXBwb2ludG1lbnRzIC5uby1hdmFpbGFibGUtYXBwb2ludG1lbnRzIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDA7IH0gfVxuICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUsXG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSxcbiAgLmFwcG9pbnRtZW50cyAubm8tYXZhaWxhYmxlLWFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUsXG4gICAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUsXG4gICAgICAuYXBwb2ludG1lbnRzIC5uby1hdmFpbGFibGUtYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSxcbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSxcbiAgLmFwcG9pbnRtZW50cyAubm8tYXZhaWxhYmxlLWFwcG9pbnRtZW50cyBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSxcbiAgICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSksXG4gICAgICAuYXBwb2ludG1lbnRzIC5uby1hdmFpbGFibGUtYXBwb2ludG1lbnRzIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSkge1xuICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuICAgICAgd2lkdGg6IDE2LjYlOyB9IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSk6aG92ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNzUzMDA7IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgZmxleDogMCAwIDEwMCU7IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIHNwYW4ge1xuICAgIGZsZXg6IDAgMCAzMyU7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIHNwYW4ge1xuICAgICAgICBmbGV4OiAwIDAgMjUlOyB9IH1cbiAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMgc3Bhbi5hcHBvaW50bWVudC1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M3NTMwMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNzUzMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4uYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLWJvdHRvbTogMS41NjNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDAuOTM3NXJlbTsgfSB9XG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLmFwcG9pbnRtZW50cyAuZWRpdC1hcHBvaW50bWVudCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5lZGl0LWFwcG9pbnRtZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwdC1leHBpcnkge1xuICBtYXJnaW46IDEuMjVyZW0gMCAwOyB9XG4gIC5hcHBvaW50bWVudHMgLmFwcHQtZXhwaXJ5IHAge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5hcHBvaW50bWVudHMgLm5lZWQtaGVscC1jaGVja291dC1hcHBvaW50bWVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiA1MHB4IDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAubmVlZC1oZWxwLWNoZWNrb3V0LWFwcG9pbnRtZW50IHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7IH0gfVxuICAuYXBwb2ludG1lbnRzIC5uZWVkLWhlbHAtY2hlY2tvdXQtYXBwb2ludG1lbnQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudHMgLm5lZWQtaGVscC1jaGVja291dC1hcHBvaW50bWVudCBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH0gfVxuICAuYXBwb2ludG1lbnRzIC5uZWVkLWhlbHAtY2hlY2tvdXQtYXBwb2ludG1lbnQgYSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW46IDAgMCA1MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5hcHBvaW50bWVudC1idXR0b25zLWJveCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1idXR0b25zLWJveC53aXRoLWFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3ggLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5hcHBvaW50bWVudC1idXR0b25zLWJveCAuYXBwb2ludG1lbnQtY29udGludWUge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3ggLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXgtd2lkdGg6IDM3NnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IC5hcHB0LWV4cGlyeSBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAuYXBwb2ludG1lbnQtcGFnZS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmFwcG9pbnRtZW50LXBhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5hcHBvaW50bWVudC1wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAudmVydGljYWwtYWxpZ24ge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLnN0YXJ0X2xvY2F0aW9uIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBmbGV4OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuc3RhcnRfbG9jYXRpb24ge1xuICAgICAgaGVpZ2h0OiA0NXB4OyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLnNlYXJjaC1zdG9yZSB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiA0MHB4O1xuICBwYWRkaW5nOiAxM3B4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5zZWFyY2gtc3RvcmUge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgbWF4LXdpZHRoOiAxMzRweDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlICNtYXAtYm94IHtcbiAgbWFyZ2luOiAwLjYyNXJlbSAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgI21hcC1ib3gge1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMC42MjVyZW07IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAudG9nZ2xlLW1hcCB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBsaW5lLWhlaWdodDogMzlweDtcbiAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAudG9nZ2xlLW1hcCB7XG4gICAgICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gICAgICBtYXgtd2lkdGg6IDEzOXB4O1xuICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLm1hcC12aWV3IHtcbiAgbWF4LWhlaWdodDogMzYwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLm1hcC12aWV3IHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5sb2NhdGlvbi1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5sb2NhdGlvbi1pdGVtLXdyYXBwZXIge1xuICBwYWRkaW5nOiA1MHB4IDAgNTVweDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5tb3JlLXRpbWVzIC5idXR0b24sXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5ib29rLW5vdyAuYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAubW9yZS10aW1lcyAuYnV0dG9uLFxuICAgIC5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLmJvb2stbm93IC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLm1vcmUtdGltZXM6bm90KC5zdG9yZWQtaGVyZS1idG4pIHtcbiAgcGFkZGluZy1sZWZ0OiA3cHg7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAubW9yZS10aW1lcyAuaG9sbG93IHtcbiAgcGFkZGluZzogMTNweCAxNXB4OyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLnN0b3JlZC1oZXJlLWJ0biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLnN0b3JlZC1oZXJlLWJ0biB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5zdG9yZWQtaGVyZS1idG4gLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuc3RvcmVkLWhlcmUtYnRuIC5idXR0b24ge1xuICAgICAgICBtYXgtd2lkdGg6IDI0MXB4OyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuc3RvcmVkLXRpcmVzIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLmJvb2stbm93IHtcbiAgcGFkZGluZy1yaWdodDogN3B4OyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLnNob3ctc3RvcmUtYm94IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5zaG93LXN0b3JlLWluZm8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9saXN0dmlld0Fycm93LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxMHB4OyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLmhpZ2hsaWdodC1vdXRvZnN0b2NrLXN0b3JlIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuaGlnaGxpZ2h0LW91dG9mc3RvY2stc3RvcmUudHJhbnNpdGlvbi10by1lbmQge1xuICAgIGJvcmRlci13aWR0aDogMDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIHAsXG4uYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyBwLFxuICAgIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5sb2NhdGlvbi1pdGVtLW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5sb2NhdGlvbi1pdGVtLW5hbWUge1xuICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmxvY2F0aW9uLWl0ZW0tbmFtZSAubmlja25hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24taXRlbS1kaXN0YW5jZSB7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24taXRlbS1kaXN0YW5jZSB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWF2YWlsYWJpbGl0eSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbjogMC42MjVyZW0gMCAwOyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1hdmFpbGFiaWxpdHkgLmF2YWlsYWJpbGl0eS1tZXNzYWdlIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtYXZhaWxhYmlsaXR5IC5lYXJsaWVzdC1hdmFpbGFibGUgLnNsb3QtaW5mbyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1hdmFpbGFiaWxpdHkgLmVhcmxpZXN0LWF2YWlsYWJsZSAuc2VhcmNoaW5nLWZvci1hdmFpbGFiaWxpdHkge1xuICAgIGNvbG9yOiAjZjAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1hdmFpbGFiaWxpdHkgLmVhcmxpZXN0LWF2YWlsYWJsZSAuZmxvYXQtY2xlYXItYm90aCB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLm5vLXRyYWlsZXItc2VydmljZSB7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5hcHBvaW50bWVudC1wYWdlIC5yYXRpbmctZGlzdGFuY2UtYm94IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmJhY2stYW5kLXBhZ2luYXRpb24td3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDEuODc1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5iYWNrLWFuZC1wYWdpbmF0aW9uLXdyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luOiAxLjg3NXJlbSAwIC0xLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuYmFjay1hbmQtcGFnaW5hdGlvbi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmJhY2stYW5kLXBhZ2luYXRpb24td3JhcHBlciAuc3RlcC1iYWNrLWxpbmsge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmJhY2stYW5kLXBhZ2luYXRpb24td3JhcHBlciAucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5tYXAtaW5mb2JveCAuc3RvcmUtYmFjay1ib3gge1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5tYXAtaW5mb2JveCAuc3RvcmUtYmFjayB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IC5sb2NhdGlvbi1kaXN0YW5jZSB7XG4gICAgcGFkZGluZzogMjBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IC5sb2NhdGlvbi1kaXN0YW5jZSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCAubW9yZS1pbmZvLWJveCB7XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwIDEuODc1cmVtOyB9XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IC5tb3JlLWluZm8tYm94IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCAubW9yZS1pbmZvLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMCAwIDEuMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggLm1vcmUtaW5mby10aXRsZTo6YWZ0ZXIge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bzsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggLnN1Ym1lbnUge1xuICAgIG1hcmdpbjogMC42MjVyZW0gMCAwIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCAucGhvbmUtbnVtYmVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5ib29raW5nLW5vdC1hdmFpbGFibGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgbWFyZ2luOiAwIDAgMi4xODhyZW07XG4gIHBhZGRpbmc6IDAgMCAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmJvb2tpbmctbm90LWF2YWlsYWJsZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmJvb2tpbmctbm90LWF2YWlsYWJsZSBoMyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LXBhZ2UgLmJvb2tpbmctbm90LWF2YWlsYWJsZSBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24tZmlsdGVycyB7XG4gIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24tZmlsdGVycyB7XG4gICAgICBtYXgtd2lkdGg6IDIzNnB4OyB9IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmxvY2F0aW9uLWZpbHRlcnMgbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxM3B4IDAgMCAxNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24tZmlsdGVycyBzZWxlY3Qge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAuc2VsZWN0LWxvY2F0aW9uLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmFwcG9pbnRtZW50LXBvcHVwLXdyYXAge1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcG9wdXAtd3JhcCB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIC5hcHBvaW50bWVudC1wb3B1cC13cmFwIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIHJpZ2h0OiAxLjEyNXJlbTtcbiAgICB0b3A6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1wb3B1cC13cmFwIC5jbG9zZS1idXR0b24ge1xuICAgICAgICByaWdodDogMS43NXJlbTtcbiAgICAgICAgdG9wOiAxLjQzOHJlbTsgfSB9XG4gIC5hcHBvaW50bWVudC1wb3B1cC13cmFwIGgzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLmFwcG9pbnRtZW50LXBvcHVwLXdyYXAgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTsgfVxuICAuYXBwb2ludG1lbnQtcG9wdXAtd3JhcCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1wb3B1cC13cmFwIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3N0b3JhZ2VNb2RhbCAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLmJyaW5naW5nLXRyYWxlci1idG4ge1xuICAgIG9yZGVyOiAxOyB9XG4gICNzdG9yYWdlTW9kYWwgLmJyaW5naW5nLXdoZWVsLWJ0bixcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLmJyaW5naW5nLXdoZWVsLWJ0biB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG4jc3RvcmFnZU1vZGFsLnRyYWlsZXItYXBwb2ludG1lbnQtbW9kYWwsXG4jdHJhaWxlclRpcmVNb2RhbC50cmFpbGVyLWFwcG9pbnRtZW50LW1vZGFsIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgbWluLWhlaWdodDogdW5zZXQ7IH1cblxuI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudCxcbiN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgcGFkZGluZzogMzBweCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDsgfSB9XG4gICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50LFxuICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnN0ZXAtdGl0bGUsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnN0ZXAtdGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICMwMDA7IH0gfVxuICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5jbG9zZS1idXR0b24sXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5jbG9zZS1idXR0b24ge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLFxuICAgICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjNGM0O1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1bnNldDsgfSB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUudGl0bGUtbGFyZ2UsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnRpdGxlLWxhcmdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnRpdGxlLXNtYWxsLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZS50aXRsZS1zbWFsbCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUuc2Vjb25kLXN0ZXAtbW9kYWwtdGl0bGUsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnNlY29uZC1zdGVwLW1vZGFsLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLmNsb3NlLWJ1dHRvbixcbiAgICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5yZXR1cm4tc3RlcC1idXR0b24sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLmNsb3NlLWJ1dHRvbixcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAucmV0dXJuLXN0ZXAtYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzRjNDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNzdG9yYWdlTW9kYWwgLm1haW4tbW9kYWwtdGl0bGUuc2Vjb25kLXN0ZXAsXG4gICN0cmFpbGVyVGlyZU1vZGFsIC5tYWluLW1vZGFsLXRpdGxlLnNlY29uZC1zdGVwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI3N0b3JhZ2VNb2RhbCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlLFxuI3RyYWlsZXJUaXJlTW9kYWwgLnNlY29uZGFyeS1tb2RhbC10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNzdG9yYWdlTW9kYWwgLnNlY29uZGFyeS1tb2RhbC10aXRsZS5zZWNvbmQtc3RlcCxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlLnNlY29uZC1zdGVwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuI3N0b3JhZ2VNb2RhbCBpbWc6bm90KC50cmFpbGVyLWltYWdlKSxcbiN0cmFpbGVyVGlyZU1vZGFsIGltZzpub3QoLnRyYWlsZXItaW1hZ2UpIHtcbiAgbWF4LXdpZHRoOiA2OHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIGltZzpub3QoLnRyYWlsZXItaW1hZ2UpLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIGltZzpub3QoLnRyYWlsZXItaW1hZ2UpIHtcbiAgICAgIG1heC13aWR0aDogODZweDsgfSB9XG5cbiNzdG9yYWdlTW9kYWwgcCxcbiN0cmFpbGVyVGlyZU1vZGFsIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IDEwcHggMCAyMHB4OyB9XG5cbiNzdG9yYWdlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLFxuI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIC5idXR0b24td3JhcHBlcixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICNzdG9yYWdlTW9kYWwgLmJ1dHRvbi13cmFwcGVyIC5pbmZvLWJ0bixcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyIC5pbmZvLWJ0biB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjc3RvcmFnZU1vZGFsIC5idXR0b24td3JhcHBlciAuaW5mby1idG4sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAuYnV0dG9uLXdyYXBwZXIgLmluZm8tYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgI3N0b3JhZ2VNb2RhbCAuYnV0dG9uLXdyYXBwZXIudHJhaWxlci1idXR0b24sXG4gICN0cmFpbGVyVGlyZU1vZGFsIC5idXR0b24td3JhcHBlci50cmFpbGVyLWJ1dHRvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBtaW4taGVpZ2h0OiAyMzNweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNzdG9yYWdlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLnRyYWlsZXItYnV0dG9uLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLnRyYWlsZXItYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiAyMzNweDsgfSB9XG4gICAgI3N0b3JhZ2VNb2RhbCAuYnV0dG9uLXdyYXBwZXIudHJhaWxlci1idXR0b24udHJhaWxlci1pbmZvLWJ1dHRvbnMsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLnRyYWlsZXItYnV0dG9uLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3N0b3JhZ2VNb2RhbCAuYnV0dG9uLXdyYXBwZXIudHJhaWxlci1idXR0b24udHJhaWxlci1pbmZvLWJ1dHRvbnMsXG4gICAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5idXR0b24td3JhcHBlci50cmFpbGVyLWJ1dHRvbi50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cblxuI3N0b3JhZ2VNb2RhbCAuYXJlLXN0b3JlZC1idG4sXG4jdHJhaWxlclRpcmVNb2RhbCAuYXJlLXN0b3JlZC1idG4ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIC5hcmUtc3RvcmVkLWJ0bixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuYXJlLXN0b3JlZC1idG4ge1xuICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgICAgbWF4LXdpZHRoOiAxNTJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3N0b3JhZ2VNb2RhbCAubm90LXN0b3JlZC1idG4sXG4gICN0cmFpbGVyVGlyZU1vZGFsIC5ub3Qtc3RvcmVkLWJ0biB7XG4gICAgbWF4LXdpZHRoOiAyMjVweDsgfSB9XG5cbiNzdG9yYWdlTW9kYWwgLmJyaW5naW5nLXRyYWxlci1idG4sXG4jc3RvcmFnZU1vZGFsIC5icmluZ2luZy13aGVlbC1idG4sXG4jdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiN0cmFpbGVyVGlyZU1vZGFsIC5icmluZ2luZy13aGVlbC1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTZweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAgICNzdG9yYWdlTW9kYWwgLmJyaW5naW5nLXdoZWVsLWJ0bixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODA4Mjg1O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiA0OHB4O1xuICAgICAgbWF4LXdpZHRoOiAyMzZweDtcbiAgICAgIHBhZGRpbmc6IDdweCAxMHB4OyB9IH1cblxuI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLFxuI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQsXG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAucmV0dXJuLXN0ZXAtYnV0dG9uLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5yZXR1cm4tc3RlcC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAudGl0bGUudGl0bGUtc21hbGwsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC50aXRsZS50aXRsZS1zbWFsbCB7XG4gICAgICBjb2xvcjogI2M3NTMwMDsgfVxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5tb2RhbC1oZWFkZXIsXG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLmJ1dHRvbi13cmFwcGVyLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAubW9kYWwtaGVhZGVyLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLm1vZGFsLWhlYWRlci5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlLFxuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLmJ1dHRvbi13cmFwcGVyLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLm1vZGFsLWhlYWRlci5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5idXR0b24td3JhcHBlci5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAgLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUsXG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAgLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAgLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUuc2Vjb25kLXN0ZXAtYWN0aXZlLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAgLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUuc2Vjb25kLXN0ZXAtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLm5leHQtc3RlcC50cmFpbGVyLWluZm8sXG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5uZXh0LXN0ZXAudHJhaWxlci1pbmZvIC50aXRsZS50aXRsZS1zbWFsbCxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLm5leHQtc3RlcC50cmFpbGVyLWluZm8gLnRpdGxlLnRpdGxlLXNtYWxsIHtcbiAgICAgIGNvbG9yOiAjOTc5Nzk3OyB9XG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLm5leHQtc3RlcC50cmFpbGVyLWluZm8gLnRyYWlsZXItaW5mby1idXR0b25zLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyAudHJhaWxlci1pbmZvLWJ1dHRvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCxcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAudHJhaWxlci1pbmZvLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcC50cmFpbGVyLWluZm8ge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwLnRyYWlsZXItaW5mbyAudHJhaWxlci1pbmZvLWJ1dHRvbnMsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAudHJhaWxlci1pbmZvIC50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAudGl0bGUudGl0bGUtc21hbGwsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC50aXRsZS50aXRsZS1zbWFsbCB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlcixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IHVuc2V0OyB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLnRyYWlsZXItbW9kYWwtYnRuLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAudHJhaWxlci1tb2RhbC1idG4ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy13aGVlbC1idG4sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy10cmFsZXItYnRuLnNlbGVjdGVkLXN0ZXAtb3B0aW9uLFxuICAgICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLmJyaW5naW5nLXdoZWVsLWJ0bi5zZWxlY3RlZC1zdGVwLW9wdGlvbixcbiAgICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuYnJpbmdpbmctdHJhbGVyLWJ0bi5zZWxlY3RlZC1zdGVwLW9wdGlvbixcbiAgICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuYnJpbmdpbmctd2hlZWwtYnRuLnNlbGVjdGVkLXN0ZXAtb3B0aW9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjYzc1MzAwO1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgb3JkZXI6IDI7IH1cbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuc2VsZWN0ZWQtc3RlcC1vcHRpb24sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5zZWxlY3RlZC1zdGVwLW9wdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4jc3RvcmFnZU1vZGFsIC5yZXR1cm4tc3RlcC1idXR0b24sXG4jdHJhaWxlclRpcmVNb2RhbCAucmV0dXJuLXN0ZXAtYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctcmlnaHQ6IDI3cHg7XG4gIHBvc2l0aW9uOiB1bnNldDtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIC5yZXR1cm4tc3RlcC1idXR0b24sXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnJldHVybi1zdGVwLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC5yZXR1cm4tc3RlcC1idXR0b24ubm90LXN0ZXAtb25lLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnJldHVybi1zdGVwLWJ1dHRvbi5ub3Qtc3RlcC1vbmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbiNsaWNlbnNlUGxhdGVNb2RhbCAubW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMjVweDsgfVxuXG4jbGljZW5zZVBsYXRlTW9kYWwgI2xpY2Vuc2VQbGF0ZVN1Ym1pdCB7XG4gIG1heC13aWR0aDogMjUwcHg7IH1cblxuI2xpY2Vuc2VQbGF0ZU1vZGFsICNsaWNlbnNlLXBsYXRlLW51bWJlciB7XG4gIHBhZGRpbmc6IDAgNjVweDsgfVxuXG4jbGljZW5zZVBsYXRlTW9kYWwgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICN0cmFpbGVyVGlyZU1vZGFsLnJldmVhbCB7XG4gICAgd2lkdGg6IDc3NXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtaGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAzMHB4IDMwcHggMDsgfSB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLXRpcmUtaGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLXRpcmUtaGVhZGVyIC5tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci10aXJlLWhlYWRlciAubW9kYWwtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsgfSB9XG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLXRpcmUtaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuYWN0aXZlLXRpdGxlIC5zdGVwLW1lc3NhZ2Uge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmNjkwMDtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDRweCAwIDJweDsgfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnNlY29uZGFyeS1tb2RhbC10aXRsZS5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjODA4MDgwO1xuICBjdXJzb3I6IGF1dG87IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5zdGVwLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5zdGVwLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnNlY29uZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuc2Vjb25kLXRpdGxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuc2Vjb25kLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMzBweCAzMHB4IDA7IH0gfVxuICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnNlY29uZC10aXRsZS5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47IH0gfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IGJ1dHRvbi5jbG9zZS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwIC50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAjdHJhaWxlclRpcmVNb2RhbCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlIC5zdGVwLWFycm93IHtcbiAgICBjb2xvcjogIzgwODA4MDtcbiAgICBwYWRkaW5nOiAwIDEzcHg7IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgI3RyYWlsZXJUaXJlTW9kYWxFeGl0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgI3RyYWlsZXJUaXJlTW9kYWxFeGl0IHtcbiAgICAgIGxlZnQ6IDMwMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwOyB9IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLmJyaW5naW5nLXRyYWxlci1idG4sXG4jdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcixcbiN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXJXaGVlbCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyV2hlZWwge1xuICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXJXaGVlbCB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweDsgfSB9XG4gICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXI6aG92ZXIsXG4gICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXJXaGVlbDpob3ZlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI2ZmNjkwMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXIgaW1nLFxuICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyV2hlZWwgaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogOTBweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlciBpbWcsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyV2hlZWwgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfSB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLWJ0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlcjogMDsgfVxuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1idG46aG92ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNmZjY5MDA7XG4gICAgcGFkZGluZy1yaWdodDogMjhweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICN0cmFpbGVyVGlyZU1vZGFsIC5jaG9vc2UtYWN0aW9uLmN1cnJlbnQgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDM2MHB4KTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXJUeXBlLmN1cnJlbnQgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDI3MHB4KTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCA3NnB4KTsgfSB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyTGVuZ3RoLmN1cnJlbnQgLnNlY29uZC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlckxlbmd0aC5jdXJyZW50IC5idXR0b24td3JhcHBlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxNzBweCk7IH0gfVxuXG4jYXBwb2ludG1lbnRTZWN1cmUgLm1vZGFsLWNvbnRlbnQsXG4jc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5tb2RhbC1jb250ZW50IHtcbiAgcGFkZGluZzogMjBweDsgfVxuXG4jYXBwb2ludG1lbnRTZWN1cmUgLmNsb3NlLWJ1dHRvbixcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQgLmNsb3NlLWJ1dHRvbiB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuI2FwcG9pbnRtZW50U2VjdXJlIC50aXRsZSxcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQgLnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbiNhcHBvaW50bWVudFNlY3VyZSBpbWcsXG4jc2VsZWN0ZU5ld0FwcG9pbnRtZW50IGltZyB7XG4gIG1heC13aWR0aDogNjhweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2FwcG9pbnRtZW50U2VjdXJlIGltZyxcbiAgICAjc2VsZWN0ZU5ld0FwcG9pbnRtZW50IGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDg2cHg7IH0gfVxuXG4jYXBwb2ludG1lbnRTZWN1cmUgcCxcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG5cbiNhcHBvaW50bWVudFNlY3VyZSAuYnV0dG9uLXdyYXBwZXIsXG4jc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5idXR0b24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2FwcG9pbnRtZW50U2VjdXJlIC5idXR0b24td3JhcHBlcixcbiAgICAjc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5idXR0b24td3JhcHBlciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuI2FwcG9pbnRtZW50U2VjdXJlIC5hcmUtc3RvcmVkLWJ0bixcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQgLmFyZS1zdG9yZWQtYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2FwcG9pbnRtZW50U2VjdXJlIC5hcmUtc3RvcmVkLWJ0bixcbiAgICAjc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5hcmUtc3RvcmVkLWJ0biB7XG4gICAgICBtYXJnaW46IDAgMTVweCAwIDA7XG4gICAgICBtYXgtd2lkdGg6IDE1MnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjYXBwb2ludG1lbnRTZWN1cmUgLm5vdC1zdG9yZWQtYnRuLFxuICAjc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5ub3Qtc3RvcmVkLWJ0biB7XG4gICAgbWF4LXdpZHRoOiAyMjVweDsgfSB9XG5cbi5hcHBvaW50bWVudC1jb25maXJtYXRpb24ge1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnRpdGxlLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuc2VjdWRyZWQtdGl0bGUge1xuICAgIHBhZGRpbmc6IDE0cHggMCAxNHB4IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5zZWN1ZHJlZC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5yZXN0YXJ0LWJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmV4cGlyeSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweCAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuZXhwaXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1jb250ZW50IHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1hZGRyZXNzLXdyYXBwZXIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWFkZHJlc3Mtd3JhcHBlciB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAubG9jYXRpb24taGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5zZWxlY3RlZC1hcHBvaW50bWVudC1pbmZvIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWJ1dHRvbnMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuY29uZmlybS1idXR0b24ge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5jb25maXJtLWJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxOTZweDtcbiAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5iYWNrLWJ1dHRvbiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmJhY2stYnV0dG9uIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDE5NnB4O1xuICAgICAgICBvcmRlcjogMDsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWR1cmF0aW9uIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAubG9jYXRpb24taXRlbS1uYW1lLFxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5sb2NhdGlvbi1pdGVtLWFkZHJlc3Mge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmxvY2F0aW9uLWl0ZW0tbmFtZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAubG9jYXRpb24tdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnJlc3RhcnQtYXBwb2ludG1lbnQge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5jaXR5IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC56aXAtY29kZSxcbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuc3RhdGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5uby1wYWRkaW5nLWxlZnQtbGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5uby1wYWRkaW5nLXJpZ2h0LWxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYmxhY2sge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLndoaXRlIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5vcmFuZ2Uge1xuICBjb2xvcjogI2ZmNjkwMCAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmRhcmtlci1ncmF5IHtcbiAgY29sb3I6ICMyNjI2MjYgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5oYXMtc2hhZGRvdyB7XG4gIHRleHQtc2hhZG93OiAwIDAgMTJweCByZ2JhKDAsIDAsIDAsIDAuMykgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5iYWNrZ3JvdW5kLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJhY2tncm91bmQtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYmFja2dyb3VuZC1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYmFja2dyb3VuZC1kYXJrZXItZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjYgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIGg1IGEge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1maWd1cmUgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1maWd1cmUgLmJhbm5lci10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIC5iYW5uZXItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIC5iYW5uZXItc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1maWd1cmUgLmJhbm5lci1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29tcG9uZW50LWZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIGZpZ2NhcHRpb24gLnJvdyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtaW1hZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IHZhcigtLWZvY2FsLXBvaW50LXgpIHZhcigtLWZvY2FsLXBvaW50LXkpOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnZpZGVvLWFydGljbGUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudmlkZW8tYXJ0aWNsZSBpIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtbWFpbi1pbWFnZSAudmlkZW8tYXJ0aWNsZSBpLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC52aWRlby1hcnRpY2xlIGksXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAudmlkZW8tYXJ0aWNsZSBpIHtcbiAgICBmb250LXNpemU6IDYwcHg7IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlLWFydGljbGUtaW1hZ2Uge1xuICBtYXgtaGVpZ2h0OiAxOC43NXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLWV4cGxvcmV0b3BpYyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBwYWRkaW5nOiA1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLWV4cGxvcmV0b3BpYyxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAwOyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtbGluay10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMi4xODc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWxpbmstdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnRvcGljLWxpbmsge1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnRvcGljLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS50b3BpYy1saW5rIC50b3BpYy1saW5rLWltYWdlIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnRvcGljLWxpbmsgaSB7XG4gICAgZm9udC1zaXplOiA0MHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS50b3BpYy1saW5rIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wb3B1bGFyLXJlYWRzIHtcbiAgbWFyZ2luOiA1MHB4IDAgMjBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlcy1pbmZpbml0ZSB7XG4gIG1hcmdpbjogMjBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlcy1pbmZpbml0ZSB7XG4gICAgICBtYXJnaW46IDUwcHggMCAyMHB4OyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucG9wdWxhci1yZWFkcy10b3AsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5yZWxhdGVkLXJlYWRzLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucG9wdWxhci1yZWFkcy10aXRsZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDAuODc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wb3B1bGFyLXJlYWRzLWxpbmsge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmN2Y3Zjc7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1pbmZvIHtcbiAgcGFkZGluZzogMTVweCAxNXB4IDZweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC10YWcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IDM4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtbGluay50ZXh0LWxpbmsge1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1saW5rLnRleHQtbGluay5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1saW5rLnRleHQtbGluazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiID5cIjsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWxpbmsudGV4dC1saW5rLnRleHQtbGluay1jdXN0b206OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGFpbmVyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWxpbmstZnVsbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC5hcnRpY2xlLWluZm8sXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNjI2O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiA1MHB4IDUwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAuYXJ0aWNsZS1pbmZvLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLWluZm8ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC5mZWF0dXJlZC10YWcsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuZmVhdHVyZWQtdGFnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0MjQyO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmb250LXNpemU6IDAuNTYyNXJlbTtcbiAgICBwYWRkaW5nOiA0cHggN3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAuYXJ0aWNsZS10aXRsZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBwYWRkaW5nOiAxNnB4IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAuYXJ0aWNsZS10aXRsZSxcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43NXJlbTsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUgLmFydGljbGUtZGVzY3JpcHRpb24sXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICBtYXgtaGVpZ2h0OiAzNnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUgLmFydGljbGUtZGVzY3JpcHRpb24sXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtZGVzY3JpcHRpb24ge1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU1cHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC5hcnRpY2xlLWxpbmsuYnV0dG9uLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtbGluay5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgIHBhZGRpbmc6IDEycHggMjRweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlcy1sYXlvdXQgLmZlYXR1cmUtYXJ0aWNsZS1pbWFnZSB7XG4gIG1heC1oZWlnaHQ6IDE2cmVtOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtaW5mbyB7XG4gICAgcGFkZGluZzogMjJweCAzMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS10aXRsZSB7XG4gICAgcGFkZGluZzogMjZweCAwIDEwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luOiA1cHggMCAyMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWJyZWFkY3J1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNjI2O1xuICBjb2xvcjogI2ZmZjsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1icmVhZGNydW1iIC5hcnRpY2xlLWJyZWFkY3J1bWJzIHtcbiAgICBtYXJnaW46IDE1cHggMCA1cHg7IH1cbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1icmVhZGNydW1iIC5hcnRpY2xlLWJyZWFkY3J1bWJzIGEsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtYnJlYWRjcnVtYiAuYXJ0aWNsZS1icmVhZGNydW1icyBwIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWJyZWFkY3J1bWIgLnRvcGljLXRpdGxlIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWJyZWFkY3J1bWIgLnRvcGljLXRpdGxlLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICBtYXJnaW46IDAgMCAyNXB4IDEwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1icmVhZGNydW1icyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWJyZWFkY3J1bWJzIGEsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtYnJlYWRjcnVtYnMgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjY4NzVyZW07IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0xLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0yLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0zIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0xIGE6OmFmdGVyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0xIHA6OmFmdGVyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0yIGE6OmFmdGVyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0yIHA6OmFmdGVyIHtcbiAgY29udGVudDogXCIvXCI7XG4gIG1hcmdpbjogMCA2cHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0zIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDA7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBwLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIG9sLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIGg0LFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBwLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCB1bCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgb2wsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIGg0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgb2wsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBvbCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgb2wsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIGgxLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBoMSB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIGgyLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIGgzLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBoMyB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgaDQsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIGg0IHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIC5hcnRpY2xlLXBhZ2UtdGl0bGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIC5hcnRpY2xlLXBhZ2UtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIC5hcnRpY2xlLXBhZ2UtdGl0bGUsXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCAuYXJ0aWNsZS1wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgLmFydGljbGUtbWFpbi1pbWFnZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgLmFydGljbGUtbWFpbi1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIC5hcnRpY2xlLXBhZ2UtY29udGVudCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgLmFydGljbGUtcGFnZS1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgb2wsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIG9sIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgb2wsXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHVsIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgdWwsXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgaW1nLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgLnByb2R1Y3QtaW1hZ2UtYmFkZ2UgaW1nLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCAucHJvZHVjdC1pbWFnZS1iYWRnZSBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5ib3R0b20tYm9yZGVyLTJwLWdyYXkge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q5ZDlkYTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC52aWRlby1hcnRpY2xlLWxpbmsge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS12aWRlbyB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLXVwLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMjBweCAwIDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtdGl0bGUgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbWFyZ2luOiAwIDAgNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy11cC1zdWJ0aXRsZSBwIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy11cC10cmlnZ2VycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtdHJpZ2dlcnMgaSB7XG4gICAgY29sb3I6ICNiMGIxYjM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAyLjYyNXJlbTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtdHJpZ2dlcnMgaS5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy11cC10cmlnZ2VyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLWRvd24tdHJpZ2dlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtdHJpZ2dlciB7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtZG93bi10cmlnZ2VyIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctdG9wOiAxMnB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZXh0ZXJuYWwtc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1leHRlcm5hbC1zZWN0aW9uIC5hcnRpY2xlLWV4dGVybmFsLWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWV4dGVybmFsLXNlY3Rpb24gLmFydGljbGUtZXh0ZXJuYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWV4dGVybmFsLXNlY3Rpb24gLmFydGljbGUtZXh0ZXJuYWwtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWV4dGVybmFsLXNlY3Rpb24gLmFydGljbGUtZXh0ZXJuYWwtc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWV4dGVybmFsLXNlY3Rpb24gLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMge1xuICBwYWRkaW5nOiA1MHB4IDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1maWx0ZXJzIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweCAwIDEwcHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMgcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1maWx0ZXJzIGEge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZmlsdGVycyBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMgLmFjdGl2ZS1saW5rIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMgLnN1YmNhdGVnb3J5LXJlZ2lvbiB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAxMHB4OyB9XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1maWx0ZXJzIC5zdWJjYXRlZ29yeS1yZWdpb24gYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb3VudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY291bnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIHAuYXJ0aWNsZS1jb3VudC1tb2JpbGUge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBwLmFydGljbGUtY291bnQtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEucmVmaW5lbWVudC1maWx0ZXItdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEucmVmaW5lbWVudC1maWx0ZXItdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEucmVmaW5lbWVudC1maWx0ZXItdG9nZ2xlLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS5yZWZpbmVtZW50LWZpbHRlci10b2dnbGUuYWN0aXZlIDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU4MDdcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWZpbHRlcnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1maWx0ZXJzIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IC5jb2x1bW4tY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCAuY29sdW1uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA0cHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgcCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IG9sIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCBwLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgdWwsXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCBvbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZsZXgtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW9wdGlvbmFsLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1vcHRpb25hbC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1wcm9kdWN0Y2FyZHJpZ2h0LFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLXByb2R1Y3RjYXJkbGVmdCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1wcm9kdWN0Y2FyZHNjZW50ZXJlZCB7XG4gIG1hcmdpbjogMS44NzVyZW0gMDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wb3dlcnJldmlld3MtY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMzNweDsgfVxuXG4udmlkZW8tYXJ0aWNsZS1wb3B1cCAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgcmlnaHQ6IDE2cHg7XG4gIHRvcDogLTI4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC52aWRlby1hcnRpY2xlLXBvcHVwIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICB0b3A6IC0yOHB4OyB9IH1cblxuLnZpZGVvLWFydGljbGUtcG9wdXAgI2RpYWxvZy1jb250YWluZXIge1xuICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtaGVhZGxpbmViYW5uZXJmdWxsd2lkdGgge1xuICAgIGhlaWdodDogMzcxcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtaGVhZGxpbmViYW5uZXJmdWxsd2lkdGggLnRpdGxlLXJvdyB7XG4gICAgICBtYXJnaW46IDAgMCAwIDM0NXB4O1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAgICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtaGVhZGxpbmViYW5uZXJmdWxsd2lkdGggLnRpdGxlLXJvdyAuYmFubmVyLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA2NXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG4gICAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1oZWFkbGluZWJhbm5lcmZ1bGx3aWR0aCAudGl0bGUtcm93IC5iYW5uZXItc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWhlYWRsaW5lYmFubmVyZnVsbHdpZHRoIC50aXRsZS1yb3cgLnN1YnRpdGxlLXJvdyB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1oZWFkbGluZWJhbm5lcmZ1bGx3aWR0aCAudGl0bGUtcm93IC5zdWJ0aXRsZS1yb3cgLnN1YnRpdGxlLWNvbHVtbiB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIHtcbiAgICBoZWlnaHQ6IDQwOHB4O1xuICAgIHBhZGRpbmc6IDEyMHB4IDA7IH1cbiAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIC50b3BpYy1saW5rLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDsgfVxuICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3MgLnRvcGljLWNvbHVtbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAyNHB4O1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyAudG9waWMtY29sdW1uIC50b3BpYy1saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIC50b3BpYy1jb2x1bW4gLnRvcGljLWxpbmsgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiA1NnB4O1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIC50b3BpYy1jb2x1bW4gLnRvcGljLWxpbmsgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyMnB4OyB9XG4gICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1wb3B1bGFycmVhZHMgLnBvcHVsYXItcmVhZHMge1xuICAgIG1hcmdpbjogMTAwcHggMCA3MHB4OyB9XG4gICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1wb3B1bGFycmVhZHMgLnBvcHVsYXItcmVhZHMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBoZWlnaHQ6IDIzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7IH1cbiAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLXBvcHVsYXJyZWFkcyAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWxheW91dHMtcG9wdWxhcnJlYWRzIC5hcnRpY2xlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG5cbi5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgbWFyZ2luOiAxLjg3NXJlbSAwIDEuMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMy4xMjVyZW0gMDsgfSB9XG5cbi5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtb3JkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC1vcmRlciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cbiAgLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC1vcmRlciBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC1vcmRlciBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cblxuLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtd3JhcHBlciB7XG4gICAgICBib3JkZXI6IDAuMzEyNXJlbSBzb2xpZCByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuOCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogNXJlbSAwIDIuNXJlbTsgfSB9XG4gIC5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtd3JhcHBlciAuaGFzLXRpcC1jdXN0b20ge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tbGVmdDogMC40Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0wLjEyNXJlbTsgfVxuICAuc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LXdyYXBwZXIgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB3aWR0aDogMS4xMjVyZW07IH1cblxuLmZpbmQtbXktYXBwb2ludG1lbnQge1xuICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmluZC1teS1hcHBvaW50bWVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH0gfVxuXG4uc2Vhc29uLXRpcmUtcG9wdXAge1xuICB3aWR0aDogNjAwcHggIWltcG9ydGFudDsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLmRpYWxvZy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCAuc2Vhc29uLXRpcmUtcG9wdXAtdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDMuNzVyZW0gMS41NjI1cmVtIDEuNTYyNXJlbTsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSAudWktYnV0dG9uLWljb24tcHJpbWFyeTo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSAudWktYnV0dG9uLWljb24tcHJpbWFyeTpob3Zlcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCAuc2Vhc29uLXRpcmUtcG9wdXAtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlO1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAzLjc1cmVtIDEuNTYyNXJlbSAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuc2Vhc29uLXRpcmUtcG9wdXAtd3JhcHBlciB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMy43NXJlbSAxLjU2MjVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIC5jb25maXJtLWNhbmNlbGF0aW9uLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuY29uZmlybS1jYW5jZWxhdGlvbi13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDAuOTM3NXJlbTsgfSB9XG4gICAgLnNlYXNvbi10aXJlLXBvcHVwIC5jb25maXJtLWNhbmNlbGF0aW9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuc2Vhc29uLXRpcmUtcG9wdXAgLmNvbmZpcm0tY2FuY2VsYXRpb24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogaW5oZXJpdDsgfSB9XG4gICAgICAuc2Vhc29uLXRpcmUtcG9wdXAgLmNvbmZpcm0tY2FuY2VsYXRpb24td3JhcHBlciAuYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDsgfVxuICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuY29uZmlybS1jYW5jZWxhdGlvbi13cmFwcGVyIC5rZWVwLWFwcG9pbnRtZW50LWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuY29uZmlybS1jYW5jZWxhdGlvbi13cmFwcGVyIC5rZWVwLWFwcG9pbnRtZW50LWJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIC5hcGlmYWlsZWQtcG9wdXAtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNlYXNvbi10aXJlLXBvcHVwIC5hcGlmYWlsZWQtcG9wdXAtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAwLjkzNzVyZW07IH0gfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQ6ICNiZmMwYzI7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLmlucHV0LWN1c3RvbSxcbiAgLnNlYXNvbi10aXJlLXBvcHVwIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M5YzljOTtcbiAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgIHdpZHRoOiAxLjEyNXJlbTsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMC4yNXJlbSBzb2xpZCAjZmY2OTAwOyB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgIG1heC13aWR0aDogNy41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNlYXNvbi10aXJlLXBvcHVwIGltZyB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXdyYXBwZXIgLmZpZWxkLXdyYXBwZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIC5yYWRpby1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciAuaW5wdXQtY3VzdG9tLFxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzljOWM5O1xuICBoZWlnaHQ6IDEuMTI1cmVtO1xuICB3aWR0aDogMS4xMjVyZW07IH1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDAuMjVyZW0gc29saWQgI2ZmNjkwMDsgfVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIC5jYW5jZWwtYXBwb2ludG1lbnQtd2h5IHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXdyYXBwZXIgLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktc3VibWl0IHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAzLjEyNXJlbTsgfVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZDogI2JmYzBjMjtcbiAgb3BhY2l0eTogMTsgfVxuXG4udG9vbHRpcCAuc2Vhc29uLXRpcmUtcG9wdXAtb3JkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgbWFyZ2luOiAwIDAuNjI1cmVtIDEuMjVyZW07XG4gIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDEuODc1cmVtIDMuNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3gge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMy43NXJlbTsgfSB9XG4gIC5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94IC5mYS1jaGVjay1jaXJjbGUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsZWZ0OiAxLjg3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3ggLmZhLWNoZWNrIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsZWZ0OiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3ggLmZhLWNoZWNrOjpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtcmVzY2hlZHVsZS1tZXNzYWdlLWJveC1rZWVwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgbWFyZ2luOiAwIDAuNjI1cmVtIDEuMjVyZW07XG4gIHBhZGRpbmc6IDEuODc1cmVtIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94LWtlZXAge1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuXG4uYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBtYXJnaW46IDAgMC42MjVyZW0gMS4yNXJlbTtcbiAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW0gMS44NzVyZW0gMy43NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMy43NXJlbTsgfSB9XG4gIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciAuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUsXG4gIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciAuZmEtY2hlY2sge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsZWZ0OiAxLjg3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC5mYS1jaGVjayB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9XG4gICAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC5mYS1jaGVjazo6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBwYWRkaW5nOiAwLjE4NzVyZW07IH1cbiAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC5jb250YWN0LXVzLFxuICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIgLnRhbGstbWVtYmVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIgLnRhbGstbWVtYmVyIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC5waG9uZS1udW1iZXIge1xuICAgIGNvbG9yOiAjODA4Mjg1OyB9XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VjY2Vzcy13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgbWFyZ2luOiAxLjU2MjVyZW0gMCAyLjE4NzVyZW07XG4gIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDEuODc1cmVtIDMuNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhbmNlbC1hcHBvaW50bWVudC1zdWNjZXNzLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMy43NXJlbTsgfSB9XG4gIC5jYW5jZWwtYXBwb2ludG1lbnQtc3VjY2Vzcy13cmFwcGVyIC5mYS1jaGVjayB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbGVmdDogMS44NzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5jYW5jZWwtYXBwb2ludG1lbnQtc3VjY2Vzcy13cmFwcGVyIC5mYS1jaGVjazo6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBwYWRkaW5nOiAwLjE4NzVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBtYXJnaW46IDEuODc1cmVtIDAgMS4yNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWRhc2hib2FyZC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgbWFyZ2luOiAzLjEyNXJlbSAwIDEuMjVyZW07IH0gfVxuICAuYXBwb2ludG1lbnQtZGFzaGJvYXJkLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtb3JkZXItc3VtbWFyeSB7XG4gIG1hcmdpbjogMS4yNXJlbSAwOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtc3RhcnR0aW1lIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1zdGFydHRpbWUtZGF5IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWNvbmZpcm0ge1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1jb25maXJtLXByb3ZpbmNlIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tZGlzdGFuY2Uge1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjMxMjVyZW0gMCAwLjYyNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXNwYWNlIHtcbiAgbWFyZ2luOiAwLjYyNXJlbSAwIDEuMjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1yZXNjaGVkdWxlIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWNhbmNlbCB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIG1hcmdpbi1ib3R0b206IDYuMjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWRhc2hib2FyZC1jYW5jZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1zZWxlY3QtbmV3LWRhdGUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWNhbGVuZGFyLW5hbWUge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1jYWxlbmRhci1hZGRyZXNzIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLWRyb3Age1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWRyb3A6aG92ZXIge1xuICAgIGNvbG9yOiAjZGI1YTAwOyB9XG5cbi5zdG9yZS1kZXRhaWxzLWJveC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gIC5zdG9yZS1kZXRhaWxzLWJveC13cmFwcGVyIC5zdG9yZS1kZXRhaWxzLWJveCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLWJveC13cmFwcGVyIC5zdG9yZS1kZXRhaWxzLWJveCAubW9yZS1pbmZvLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLXBsYWluLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1idXR0b24td3JhcHBlciAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQ6ICNiZmMwYzI7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLWJ1dHRvbi13cmFwcGVyIC5idXR0b24ge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWJ1dHRvbi13cmFwcGVyIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGluaGVyaXQ7IH0gfVxuXG4uYXBwb2ludG1lbnQtY2FsZW5kYXItYnV0dG9uLXdyYXBwZXIgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWtlZXAge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjZmY2OTAwO1xuICBjb2xvcjogIzAwMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmc6IDAuNjg3NXJlbSAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1jYWxlbmRhci1idXR0b24td3JhcHBlciAuYXBwb2ludG1lbnQtY2FsZW5kYXIta2VlcCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH0gfVxuXG4uYXBwb2ludG1lbnQtYWN0aXZlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYXBwb2ludG1lbnQtZGF0ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1kYXRlIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnJldmVhbC5hcHBvaW50bWVudC1jYWxlbmRhci1tb2RhbCB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bzsgfVxuICAucmV2ZWFsLmFwcG9pbnRtZW50LWNhbGVuZGFyLW1vZGFsIC5hcHBvaW50bWVudC1jYWxlbmRhci1rZWVwIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnJldmVhbC5hcHBvaW50bWVudC1jYWxlbmRhci1tb2RhbCAuYXBwb2ludG1lbnQtY2FsZW5kYXIta2VlcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLWJsb2NrIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciB7XG4gIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuaW5mb3JtYXRpb24tYm94IGgzIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucmVjb21tZW5kZWQtYmFnZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94LnJlbWluZGVkLWFwcG9pbnRtZW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5jb3VudHJ5LXJvdyAuaW5wdXQtc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAjaW5zaWRlX2hvbGRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4yLjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgtdmlkZW8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIENvbG9yVmFyaWFibGUsIFF1YWxpZnlpbmdFbGVtZW50LCBWZW5kb3JQcmVmaXhcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyMTk5ZTgsXG4gIHByaW1hcnktYWNjZXNzaWJsZTogI2M3NTMwMCxcbiAgc2Vjb25kYXJ5OiAjNzc3LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2VjNTg0MCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG5cbi8vIFJlbW92ZSB0aGlzIGluIDYuM1xuJC16Zi1tZW51LWljb24taW1wb3J0ZWQ6IGZhbHNlO1xuJC16Zi1mbGV4LWNsYXNzZXMtaW1wb3J0ZWQ6IGZhbHNlO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSWRTZWxlY3RvclxuICAjbWFwX2NhbnZhcyxcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5cbiAgaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5cbiAgYXJ0aWNsZSxcbiAgYXNpZGUsXG4gIGRldGFpbHMsXG4gIGZpZ2NhcHRpb24sXG4gIGZpZ3VyZSxcbiAgZm9vdGVyLFxuICBoZWFkZXIsXG4gIGhncm91cCxcbiAgbWFpbixcbiAgbWVudSxcbiAgbmF2LFxuICBzZWN0aW9uLFxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuXG4gIGF1ZGlvLFxuICBjYW52YXMsXG4gIHByb2dyZXNzLFxuICB2aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5cbiAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5cbiAgW2hpZGRlbl0sXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cblxuICBhOmFjdGl2ZSxcbiAgYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xuXG4gIG1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuXG4gIHN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGNvZGUsXG4gIGtiZCxcbiAgcHJlLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICAvKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICBidXR0b24ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cblxuICBidXR0b24sXG4gIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5cbiAgYnV0dG9uW2Rpc2FibGVkXSxcbiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cblxuICBpbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXG4gICAqL1xuXG4gIC8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cblxuICBsZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5cbiAgb3B0Z3JvdXAge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG5cbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDbG9zZSBCdXR0b25cbi8vICAxNS4gRHJpbGxkb3duXG4vLyAgMTYuIERyb3Bkb3duXG4vLyAgMTcuIERyb3Bkb3duIE1lbnVcbi8vICAxOC4gRmxleCBWaWRlb1xuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBNZXRlclxuLy8gIDI0LiBPZmYtY2FudmFzXG4vLyAgMjUuIE9yYml0XG4vLyAgMjYuIFBhZ2luYXRpb25cbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjguIFJldmVhbFxuLy8gIDI5LiBTbGlkZXJcbi8vICAzMC4gU3dpdGNoXG4vLyAgMzEuIFRhYmxlXG4vLyAgMzIuIFRhYnNcbi8vICAzMy4gVGh1bWJuYWlsXG4vLyAgMzQuIFRpdGxlIEJhclxuLy8gIDM1LiBUb29sdGlwXG4vLyAgMzYuIFRvcCBCYXJcblxuQGltcG9ydCBcInV0aWwvdXRpbFwiO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEzMjApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gICAgcHJpbWFyeTogI2ZmNjkwMCxcbiAgICBwcmltYXJ5LWFjY2Vzc2libGU6ICNjNzUzMDAsXG4gICAgcHJpbWFyeS1kYXJrLWhvdmVyOiAjOTk0MDAwLFxuICAgIHNlY29uZGFyeTogIzAwMCxcbiAgICBkYXJrZ3JleTE6ICMyMDIwMjAsXG4gICAgbWlkZ3JleTogIzgwODI4NSxcbiAgICBsaWdodC1ncmF5OiAjZjJmMmYyLFxuICAgIGJvcmRlci1ncmV5OiAjY2NjLFxuICAgIHZlcnktbGlnaHQtZ3JleTogI2M5YzljOSxcbiAgICBicmlnaHQtZ3JleTogI2U4ZThlOSxcbiAgICBkaXNhYmxlZC1ncmV5OiAjODA4MDgwLFxuICAgIHdoaXRlLWRlZmF1bHQ6ICNmZmYsXG4gICAgd2hpdGUtZ2hvc3Q6I2YyZjJmMyxcbiAgICB3aGl0ZS1zbW9rZTogI2U3ZTdlNyxcbiAgICBzdWNjZXNzOiAjM2FkYjc2LFxuICAgIHdhcm5pbmc6ICNmZmFlMDAsXG4gICAgYWxlcnQ6ICNlYzU4NDAsXG4gICAgZXJyb3I6ICNmMDAsXG4gICAgdW5hdmFpbGFibGU6ICNmZmUxYmUsXG4gICAgbm9iZWw6ICM5Nzk3OTcsXG4gICAgbGlnaHQtZ3JheS1teS1nYXJhZ2U6ICNhZGI1YmQsXG4gICAgdW5hdmFpbGFibGUtdGV4dDogI2RlMWMyMixcbiAgICBncmVlbi1hY2Nlc3NpYmxlOiAjMTU3ZjEwLFxuICAgIHJlZC1hY2Nlc3NpYmxlOiAjYzYxNzUyXG4pO1xuJGJ1dHRvbi1ob3ZlcjogI2ZmYTU2NjtcbiRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjogI2Y2YTU4MztcbiRidXR0b24tZGFyazogIzAwMDtcbiRidXR0b24taG92ZXItZGFyazogIzY2NjtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJGV4dHJhLWxpZ2h0LWdyYXk6ICNlNWU1ZTU7XG4kbGlnaHQtZ3JheS1vdmVyOiAjZDlkOWRhO1xuJGRhcmstZ3JheS1vdmVyOiAjZDhkOGQ4O1xuJGRhcmtlci1ncmF5LW92ZXI6ICM3NTc1NzU7XG4kbGlnaHRlci1ncmF5OiAjZjdmN2Y3O1xuJG1lZGl1bS1ncmF5OiAjY2NjO1xuJHRodW1icy1ncmF5OiAjYjBiMWIzO1xuJGJvcmRlci1saWdodC1ncmF5OiAjYmViZWJlO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRkYXJrLWdyYXktZmVhdHVyZTogIzQyNDI0MjtcbiRkYXJrZXItZ3JheTogIzI2MjYyNjtcbiRtZWRpdW0tZGFyay1ncmF5OiAjOTE5MTkxO1xuJG1lZGl1bS1saWdodC1ncmF5OiAjYzRjNGM0O1xuJG1lZGl1bS1saWdodC1saWdodC1ncmF5OiAjZTRlNGU0O1xuJGNvbXBhcmUtZ3JheTogIzk5OTtcbiRtYXAtYmFja2dyb3VuZC1ncmV5OiAjZTVlM2RmO1xuJGJsYWNrOiAjMDAwO1xuJHdoaXRlOiAjZmZmO1xuJGdyZXktZGlzYWJsZWQ6ICNiZmMwYzI7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuJG9sZC1zaWx2ZXI6ICM4NDg0ODQ7XG4kcHVycGxlOiAjYmYxYThkO1xuJHB1cnBsZS1kYXJrZXI6ICM2MzUzYTM7XG4kYmx1ZS13aGl0ZXI6ICMyMGMzZjM7XG4kb3JhbmdlLXllbGxvdzogI2ZiYjExNjtcbiRncmVlbjogIzAwYTY1MTtcbiRncmVlbi13aGl0ZXI6ICM5ZWNmN2M7XG4kYnJvd246ICM3YTUyMjY7XG4kYnJvd24tZGFya2VyOiAjNDIyODAwO1xuJGdyZXktMDE6ICNhN2E5YWM7XG4kZ3JleS0wMjogI2E0OTljYTtcbiRyZWQ6ICNmMDA7XG4kd2hpdGUtZ3JleTogI2Y1ZjVmNTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gICAgc21hbGw6IDAsXG4gICAgbWVkaXVtOiA3NjhweCxcbiAgICBsYXJnZTogMTAyNHB4LFxuICAgIHhsYXJnZTogMTMyMHB4LFxuICAgIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gICAgc21hbGw6IDMwcHgsXG4gICAgbWVkaXVtOiAyMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1zaXplczogKFxuICAgIHNtYWxsOiAoXG4gICAgICAgIFwiaDFcIjogNDAsXG4gICAgICAgIFwiaDJcIjogMzIsXG4gICAgICAgIFwiaDNcIjogMjYsXG4gICAgICAgIFwiaDRcIjogMjIsXG4gICAgICAgIFwiaDVcIjogMTcsXG4gICAgICAgIFwiaDZcIjogMTQsXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgICAgXCJoMVwiOiA0MSxcbiAgICAgICAgXCJoMlwiOiAzNCxcbiAgICAgICAgXCJoM1wiOiAyNixcbiAgICAgICAgXCJoNFwiOiAyMSxcbiAgICAgICAgXCJoNVwiOiAxNyxcbiAgICAgICAgXCJoNlwiOiAxNCxcbiAgICApLFxuICAgIGxhcmdlOiAoXG4gICAgICAgIFwiaDFcIjogNDIsXG4gICAgICAgIFwiaDJcIjogMzUsXG4gICAgICAgIFwiaDNcIjogMjYsXG4gICAgICAgIFwiaDRcIjogMjIsXG4gICAgICAgIFwiaDVcIjogMTgsXG4gICAgICAgIFwiaDZcIjogMTUsXG4gICAgKSxcbik7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICRibGFjaztcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLXNpemVzOiAoXG4gICAgdGlueTogMC42cmVtLFxuICAgIHNtYWxsOiAwLjc1cmVtLFxuICAgIGRlZmF1bHQ6IDAuOXJlbSxcbiAgICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6IFwiLmJ1dHRvblwiO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW07XG4kY2xvc2VidXR0b24tc2l6ZTogMmVtO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTUuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbi8vIDE2LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgICB0aW55OiAxMDBweCxcbiAgICBzbWFsbDogMjAwcHgsXG4gICAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTcuIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cbi8vIDE4LiBGbGV4IFZpZGVvXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMztcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXNoYWRvdzogMDtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDA7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb246IGluaXRpYWw7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAwIDAgMzhweDtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAyMy4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI0LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtemluZGV4OiAtMTtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiBcIm9mZi1jYW52YXMtY29udGVudFwiO1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI1LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjYuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI4LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuXG4vLyAyOS4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzAuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAzMS4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcblxuLy8gMzIuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gMzMuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4vLyAkdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbi8vICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4vLyAkdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuLy8gJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4vLyAkdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4vLyAkdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM0LiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0aXRsZWJhci1jb2xvcjogJGJsYWNrO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICRibGFjaztcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyAzNS4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzYuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMDtcbiR0b3BiYXItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbTtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gMzcuIEZvbnRzXG4kZ290aGFtLWEtYjogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuXG5AbWl4aW4gZm9udC1nb3RoYW0tYm9sZCB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYS1iO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBtaXhpbiBmb250LWdvdGhhbS1tZWRpdW0ge1xuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWEtYjtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gZm9udC1nb3RoYW0tYm9vayB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYS1iO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBmb250LWdvdGhhbS1saWdodCB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYS1iO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBmbG9vcigoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpKTtcblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JlZCgkY29sb3IpfSwgI3tncmVlbigkY29sb3IpfSwgI3tibHVlKCRjb2xvcil9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlKSB7XG4gICRtYXA6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRtYXA6IG1hcC1yZW1vdmUoJG1hcCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJHNpemUgaW4gJG1hcCB7XG4gICAgJC16Zi1zaXplOiAkc2l6ZSAhZ2xvYmFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgbnVsbGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbbnVsbF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IG51bGwpIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgJGZsZXg6IDEgMSAwcHg7XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbbnVsbF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjZSBiZXR3ZWVuIGNvbHVtbnMsIGFkZGVkIGFzIGEgbGVmdCBhbmQgcmlnaHQgcGFkZGluZy5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogbnVsbCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICB9XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gbnVsbCB7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xuICB9XG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggZ3JpZCBjb2x1bW4uIENvbHVtbnMgd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtZ3JpZC1vcmRlcigkb3JkZXI6IDApIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZmxleC1vcmRlcigpLiBmbGV4LWdyaWQtb3JkZXIoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1vcmRlcigkb3JkZXIpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBjb2x1bW5zIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdy1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZmxleC1hbGlnbigpLiBmbGV4LWdyaWQtcm93LWFsaWduKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHgsICR5KTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbi1hbGlnbigkeTogbnVsbCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LWFsaWduLXNlbGYoKS4gZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmICYge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gICAgLnJvdyAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAkLXpmLXNpemUpO1xuXG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXIpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgLy8gUmVtb3ZlIHRoZXNlIGluIDYuM1xuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuY29sdW1uLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFBsYWNlaG9sZGVySW5FeHRlbmRcbiAgICBAZXh0ZW5kIC5jb2x1bW47XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB8bnVsbH0gJGd1dHRlciBbbnVsbF0gLSBHdXR0ZXIgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIHRoZSBtYXJnaW5zLiBTZXQgdG8gYG51bGxgIHRvIHJlZmVyIHRvIHRoZSByZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncy5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicge1xuICAgICRndXR0ZXI6ICgkLXpmLXplcm8tYnJlYWtwb2ludDogJGd1dHRlcik7XG4gIH1cbiAgbWF4LXdpZHRoOiBub25lO1xuXG4gIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoJHZhbHVlKSAvIDIgKiAtMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENvbnZlcnMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG4gIC8vIFN0b3JlIHRoZSB2YWx1ZXMgb2YgdGhlIG1hcCBhcyBhIGxpc3QsIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSB3aXRoIG50aFxuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuXG4gIC8vIEdoZXR0byBmb3IgbG9vcFxuICAkaTogMTtcbiAgJGZvdW5kOiBmYWxzZTtcbiAgQGVhY2ggJHZhbCBpbiBtYXAta2V5cygkbWFwKSB7XG4gICAgQGlmICRmb3VuZCA9PSBmYWxzZSB7XG4gICAgICBAaWYgKCRrZXkgPT0gJHZhbCkge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9XG4gICAgICAkaTogJGkgKyAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICRpID4gbGVuZ3RoKCRtYXApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAkaSk7XG4gIH1cbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcC4gSWYgdGhlIGNvbmZpZyBtYXAgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLiBJZiB0aGUgY29uZmlnIG1hcCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gSW5wdXQgY29uZmlnIG1hcC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLyBMZWdhY3kgYnJlYWtwb2ludCB2YXJpYWJsZXNcbi8vIFRoZXNlIHdpbGwgYmUgcmVtb3ZlZCBpbiA2LjNcbiRzbWFsbC11cDogbnVsbDtcbiRzbWFsbC1vbmx5OiBudWxsO1xuJG1lZGl1bS11cDogbnVsbDtcbiRtZWRpdW0tb25seTogbnVsbDtcbiRsYXJnZS11cDogbnVsbDtcbiRsYXJnZS1vbmx5OiBudWxsO1xuJHhsYXJnZS11cDogbnVsbDtcbiR4bGFyZ2Utb25seTogbnVsbDtcbiR4eGxhcmdlLXVwOiBudWxsO1xuJHh4bGFyZ2Utb25seTogbnVsbDtcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgc3RyaW5nIG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICB9XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyOiAkZ3V0dGVyKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgJ2xlZnQnOiBmbGV4LXN0YXJ0LFxuICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgJ2NlbnRlcic6IGNlbnRlcixcbiAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuKTtcblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJ1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nXG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLidcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+4oCUPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgb2YgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAyNCxcbiAgICAnaDInOiAyMCxcbiAgICAnaDMnOiAxOSxcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNyxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogNDgsXG4gICAgJ2gyJzogNDAsXG4gICAgJ2gzJzogMzEsXG4gICAgJ2g0JzogMjUsXG4gICAgJ2g1JzogMjAsXG4gICAgJ2g2JzogMTYsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XG5cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzaXplc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAgICN7JGhlYWRlcn0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2l0YXRpb25zXG4gIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIge1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gIH1cblxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIFVzZSB0byByZW1vdmUgdGhlIGJ1bGxldHMgZnJvbSBhbiB1bm9yZGVyZWQgbGlzdFxuICAubm8tYnVsbGV0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBhbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWFjY2Vzc2libGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMsIGlmIHRoZSBiYWNrZ3JvdW5kIGlzIGxpZ2h0LlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBmb3JlZ3JvdW5kKCRiYWNrZ3JvdW5kLCAkYnV0dG9uLWNvbG9yLWFsdCwgJGJ1dHRvbi1jb2xvcik7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC01MCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cywgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDElO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ1NlbGVjdG9yXG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1hbHBoYSBbMC4xXSAtIFRyYW5zcGFyZW5jeSBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtYWxwaGE6IDAuMVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWFscGhhKTtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLCAkYm9keS1mb250LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+KAkyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNsYXNoIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzbGFzaDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJy8nLCAnXFxcXCcpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgY29udGVudDogJHNsYXNoO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kYnV0dG9uZ3JvdXAtc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JGJ1dHRvbmdyb3VwLXNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIE1lcmdlYWJsZVNlbGVjdG9yXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICRjYWxsb3V0LWZvbnQtY29sb3I7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICAjeyR4fTogJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsO1xuICAjeyR5fTogJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDtcbiAgZm9udC1zaXplOiAkY2xvc2VidXR0b24tc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBsaW5lIGhlaWdodCB0byBtYWtlIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJhbGwgaXRlbSBlYXNpZXIgdG8gY2FsY3VsYXRlXG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICA+IGxpICA+IGEge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuQG1peGluIG1lbnUtc2ltcGxlIHtcbiAgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogZ2V0LXNpZGUoJG1lbnUtaXRlbS1wYWRkaW5nLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkcGFkZGluZyBbYXV0b10gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbkBtaXhpbiBtZW51LW5lc3RlZCgkbWFyZ2luOiAkbWVudS1tYXJnaW4tbmVzdGVkKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG59XG5cbi8vLyBBZGRzIHN1cHBvcnQgZm9yIGljb25zIHRvIE1lbnUgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW3NpZGVdIC0gUG9zaXRpb25pbmcgZm9yIGljb25zLiBDYW4gYmUgYHNpZGVgIChsZWZ0LCBvciByaWdodCBvbiBSVEwpIG9yIGB0b3BgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCB0aGUgc2hhcmVkIENTUyBiZXR3ZWVuIHNpZGUtIGFuZCB0b3AtYWxpZ25lZCBpY29ucyBmcm9tIGJlaW5nIHByaW50ZWQuIFNldCB0aGlzIHRvIGBmYWxzZWAgaWYgeW91J3JlIGNhbGxpbmcgdGhlIG1peGluIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG5AbWl4aW4gbWVudS1pY29ucygkcG9zaXRpb246IHNpZGUsICRiYXNlOiB0cnVlKSB7XG4gIEBpZiAkYmFzZSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICArIHNwYW4ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IHNpZGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG4gICAgQGluY2x1ZGUgbWVudS1pY29ucztcblxuICAgIC8vIE9yaWVudGF0aW9uXG4gICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG5cbiAgICAgID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIGljb25zXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zKHRvcCwgJGJhc2U6IGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgICAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cblxuICAubWVudS10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gIH1cblxuICAvLyBBbGlnbiBjZW50ZXJcbiAgLm1lbnUtY2VudGVyZWQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgID4gLm1lbnUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwbGllZCB0byBuZXN0ZWQgPHVsPnNcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgei1pbmRleDogMTA7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbkBtaXhpbiBsZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNlbGVjdG9yRGVwdGhcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtdmlkZW9cbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgNDozIGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSAxNjo5IGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSBwZXJjZW50YWdlIGhlaWdodCB0aGF0IGNhbiBiZSB1c2VkIGFzIHBhZGRpbmcgaW4gYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIGBwYWRkaW5nLWJvdHRvbWAgcGFyYW1ldGVyIG9mIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG5AZnVuY3Rpb24gZmxleC12aWRlbygkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBDcmVhdGVzIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gWyRmbGV4dmlkZW8tcmF0aW9dIC0gUmF0aW8gdG8gdXNlIGZvciB0aGUgY29udGFpbmVyLCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRmbGV4dmlkZW8tcmF0aW8pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRyYXRpbyk7XG4gIG1hcmdpbi1ib3R0b206ICRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSBmbGV4LXZpZGVvO1xuXG4gICAgJi53aWRlc2NyZWVuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbik7XG4gICAgfVxuXG4gICAgJi52aW1lbyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG9mIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtc2l6ZTogMjUwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy16aW5kZXg6IC0xICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgbWVudSBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBib2R5LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdG8gcGxhY2UgdW5kZXIgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGlzIHNoYWRvdyBvdmVybGFwcyB0aGUgb2ZmLWNhbnZhcyBtZW51cy5cbi8vLyBAdHlwZSBTaGFkb3dcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcbiAgLy8gRXh0cmEgcHJvcGVydGllcyBuZWVkZWQgb24gPGh0bWw+IGFuZCA8Ym9keT4gdG8gbWFrZSBvZmYtY2FudmFzIHdvcmtcbiAgaHRtbCxcbiAgYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87XG4gIH1cblxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIENvbnRhaW5lciBmb3IgcGFnZSBjb250ZW50XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQsXG4gIC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjFweDsgLy8gUHJldmVudHMgbWFyZ2luIGNvbGxhcHNpbmcsIHdoaWNoIHdvdWxkIHJldmVhbCB0aGUgYm94IHNoYWRvdyBvZiB0aGUgd3JhcHBlclxuXG4gICAgQGlmIGhhcy12YWx1ZSgkbWFpbmNvbnRlbnQtc2hhZG93KSB7XG4gICAgICBib3gtc2hhZG93OiAkbWFpbmNvbnRlbnQtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIENsaWNrLXRvLWV4aXQgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLWV4aXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIG1lbnUuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZDtcbiAgei1pbmRleDogJG9mZmNhbnZhcy16aW5kZXg7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJHNpemU6ICRvZmZjYW52YXMtc2l6ZSxcbiAgJGZpeGVkOiBmYWxzZVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGVmdDogLSRzaXplO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICByaWdodDogLSRzaXplO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gIH1cblxuICAvLyBHZW5lcmF0ZXMgYW4gb3BlbiBzdGF0ZSBjbGFzcyB0aGF0IG1hdGNoZXMgdGhlIHdpZHRoIG9mIHRoZSBtZW51XG4gIEBhdC1yb290IHtcbiAgICAuaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHBvc2l0aW9uIFtsZWZ0XSAtIFBvc2l0aW9uIG9mIHRoZSBvZmYtY2FudmFzIG1lbnUgYmVpbmcgcmV2ZWFsZWQuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4gICRwb3NpdGlvbjogbGVmdFxuKSB7XG4gICN7JHBvc2l0aW9ufTogMDtcbiAgei1pbmRleDogYXV0bztcblxuICBAaWYgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuXG4gICYgfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAkb2ZmY2FudmFzLXNpemU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAmLnBvc2l0aW9uLWxlZnQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCk7IH1cbiAgICAmLnBvc2l0aW9uLXJpZ2h0ICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQpOyB9XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBtZW51IG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IGZvcmVncm91bmQoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXM7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQge1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIHtcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyB7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgRHVwbGljYXRlUHJvcGVydHlcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwLjI1cmVtO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAyLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzRyZW1dIC0gV2lkdGggb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtd2lkdGggWzEuNXJlbV0gLSBXaWR0aCBvZiB0aGUgc3dpdGNoIHBhZGRsZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICR3aWR0aDogNHJlbSxcbiAgJGhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS13aWR0aDogMS41cmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG4gICRwYWRkbGUtaGVpZ2h0OiAkaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtbGVmdC1hY3RpdmU6ICR3aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWxlZnQtYWN0aXZlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksIDNyZW0sICRzd2l0Y2gtaGVpZ2h0LXRpbnksIDFyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksIDMuNXJlbSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsIDEuMjVyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksIDVyZW0sICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAycmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3IsIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG5cbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRyIHtcbiAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuXG4gICAgLy9EYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9EYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGxpZ2h0bmVzcyBvZiBgJGNvbG9yYCwgYW5kIGlmIGl0IHBhc3NlcyB0aGUgYCR0aHJlc2hvbGRgIG9mIGxpZ2h0bmVzcywgaXQgcmV0dXJucyB0aGUgYCR5ZXNgIGNvbG9yLiBPdGhlcndpc2UsIGl0IHJldHVybnMgdGhlIGAkbm9gIGNvbG9yLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBkeW5hbWljYWxseSBvdXRwdXQgYSBmb3JlZ3JvdW5kIGNvbG9yIGJhc2VkIG9uIGEgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsaWdodG5lc3Mgb2YuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHllcyBbJGJsYWNrXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBsaWdodC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkbm8gWyR3aGl0ZV0gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgZGFyay5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzYwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IFRoZSAkeWVzIGNvbG9yIG9yICRubyBjb2xvci5cbkBmdW5jdGlvbiBmb3JlZ3JvdW5kKCRjb2xvciwgJHllczogJGJsYWNrLCAkbm86ICR3aGl0ZSwgJHRocmVzaG9sZDogNjAlKSB7XG4gIEBpZiAkY29sb3IgPT0gdHJhbnNwYXJlbnQge1xuICAgICRjb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxuICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJHllcztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkbm87XG4gIH1cbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGxpZ2h0ZXIgaWYgaXQncyBsaWdodCwgb3IgZGFya2VyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIHZhcmlhYmxlIGludG8gdGhlIGxlZ2FjeSBjb2xvciB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBhY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkdGFiLW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICA+IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJi50b3A6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxuXG4gICYubGVmdDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgdG9wOiA1MCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgJi5yaWdodDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCBsZWZ0KSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbWFwOiBjYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbGVmdF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGxlZnQsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4ucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4ucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbi5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuLmZsZXgtdmlkZW8gaWZyYW1lLFxuLmZsZXgtdmlkZW8gb2JqZWN0LFxuLmZsZXgtdmlkZW8gZW1iZWQsXG4uZmxleC12aWRlbyB2aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4uZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuIiwiLyogQ2hyb21lIGhhY2s6IFNWRyBpcyByZW5kZXJlZCBtb3JlIHNtb290aCBpbiBXaW5kb3p6ZS4gMTAwJSBtYWdpYywgdW5jb21tZW50IGlmIHlvdSBuZWVkIGl0LiAqL1xuLyogTm90ZSwgdGhhdCB3aWxsIGJyZWFrIGhpbnRpbmchIEluIG90aGVyIE9TLWVzIGZvbnQgd2lsbCBiZSBub3QgYXMgc2hhcnAgYXMgaXQgY291bGQgYmUgKi9cbi8qXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnQvZm9udGVsbG8uc3ZnPzYyNzUxNTAzI2ZvbnRlbGxvJykgZm9ybWF0KCdzdmcnKTtcbiAgfVxufVxuKi9cbltjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuXG4gICAgLyogeW91IGNhbiBiZSBtb3JlIGNvbWZvcnRhYmxlIHdpdGggaW5jcmVhc2VkIGljb25zIHNpemUgKi9cbiAgICAvKiBmb250LXNpemU6IDEyMCU7ICovXG5cbiAgICAvKiBGb250IHNtb290aGluZy4gVGhhdCB3YXMgdGFrZW4gZnJvbSBUV0JTICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgLyogb3BhY2l0eTogLjg7ICovXG5cbiAgICAvKiBGb3Igc2FmZXR5IC0gcmVzZXQgcGFyZW50IHN0eWxlcywgdGhhdCBjYW4gYnJlYWsgZ2x5cGggY29kZXMqL1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAvKiBmaXggYnV0dG9ucyBoZWlnaHQsIGZvciB0d2l0dGVyIGJvb3RzdHJhcCAqL1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG5cbiAgICAvKiBBbmltYXRpb24gY2VudGVyIGNvbXBlbnNhdGlvbiAtIG1hcmdpbnMgc2hvdWxkIGJlIHN5bW1ldHJpYyAqL1xuICAgIC8qIHJlbW92ZSBpZiBub3QgbmVlZGVkICovXG4gICAgbWFyZ2luLWxlZnQ6IDAuMmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yZW07XG4gICAgc3BlYWs6IG5ldmVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgd2lkdGg6IDFlbTtcblxuICAgIC8qIFVuY29tbWVudCBmb3IgM0QgZWZmZWN0ICovXG4gICAgLyogdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4zKTsgKi9cbn1cblxuLmljb24tYWxlcnQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODAwXCI7IH0gLyogJ+6ggCcgKi9cbi5pY29uLWNhcnQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODAxXCI7IH0gLyogJ+6ggScgKi9cbi5pY29uLWN1c3RvbWVyY2FyZXBsYW46OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODAyXCI7IH0gLyogJ+6ggicgKi9cbi5pY29uLWxpdmVjaGF0OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwM1wiOyB9IC8qICfuoIMnICovXG4uaWNvbi1sb2NhdGlvbjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDRcIjsgfSAvKiAn7qCEJyAqL1xuLmljb24tc2VhcmNoOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwNVwiOyB9IC8qICfuoIUnICovXG4uaWNvbi1zZXZlcmV3ZWF0aGVyZGVzaWduYXRpb246OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODA2XCI7IH0gLyogJ+6ghicgKi9cbi5pY29uLWNhbmNlbDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDdcIjsgfSAvKiAn7qCHJyAqL1xuLmljb24td2hlZWx3YXJyYW50eTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDhcIjsgfSAvKiAn7qCIJyAqL1xuLmljb24tbXlhY2NvdW50OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwOVwiOyB9IC8qICfuoIknICovXG4uaWNvbi1jb250YWN0OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwYVwiOyB9IC8qICfuoIonICovXG4uaWNvbi1wbHVzOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwYlwiOyB9IC8qICfuoIsnICovXG4uaWNvbi1taW51czo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MGNcIjsgfSAvKiAn7qCMJyAqL1xuLmljb24tc3Rhcjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MGRcIjsgfSAvKiAn7qCNJyAqL1xuLmljb24tdXAtb3Blbjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MGVcIjsgfSAvKiAn7qCOJyAqL1xuLmljb24tZG93bi1vcGVuOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwZlwiOyB9IC8qICfuoI8nICovXG4uaWNvbi1hY2Nlc3NpYmlsaXR5OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxMFwiOyB9IC8qICfuoJAnICovXG4uaWNvbi1jaXJjbGUtY2hlY2tlZDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTFcIjsgfSAvKiAn7qCRJyAqL1xuLmljb24tcHJpbnQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODEyXCI7IH0gLyogJ+6gkicgKi9cbi5pY29uLWxlZnQtb3Blbjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTNcIjsgfSAvKiAn7qCTJyAqL1xuLmljb24tcmlnaHQtb3Blbjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTRcIjsgfSAvKiAn7qCUJyAqL1xuLmljb24tdGh1bWJzLWRvd246OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODE1XCI7IH0gLyogJ+6glScgKi9cbi5pY29uLXRpcmU6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODE2XCI7IH0gLyogJ+6glicgKi9cbi5pY29uLWNhbGVuZGFyOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxN1wiOyB9IC8qICfuoJcnICovXG4uaWNvbi1waG9uZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MThcIjsgfSAvKiAn7qCYJyAqL1xuLmljb24tbG9jazo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTlcIjsgfSAvKiAn7qCZJyAqL1xuLmljb24tdGVzdGVkLWJ5LWthbDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjBcIjsgfSAvKiAn7qCgJyAqL1xuLmljb24tdGh1bWJzLXVwOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyMVwiOyB9IC8qICfuoKEnICovXG4uaWNvbi1zdGFyLWVtcHR5OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyMlwiOyB9IC8qICfuoKInICovXG4uaWNvbi1wbGF5OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyM1wiOyB9IC8qICfuoKMnICovXG4uaWNvbi13aGVlbDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjRcIjsgfSAvKiAn7qCkJyAqL1xuLmljb24tbWFpbnRlbmFuY2U6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODI1XCI7IH0gLyogJ+6gpScgKi9cbi5pY29uLXNlYXNvbmFsLWFsbDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjZcIjsgfSAvKiAn7qCmJyAqL1xuLmljb24tZ2VhcnM6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODI3XCI7IH0gLyogJ+6gpycgKi9cbi5pY29uLWJvb2s6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODI4XCI7IH0gLyogJ+6gqCcgKi9cbi5pY29uLWZpbHRlcjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjlcIjsgfSAvKiAn7qCpJyAqL1xuLmljb24tY2FsZW5kYXItaWNvbjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MmNcIjsgfSAvKiAn7qCsJyAqL1xuLmljb24tc25vd2ZsYWtlOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyZFwiOyB9IC8qICfuoK0nICovXG4uaWNvbi1idXlub3dwYXlsYXRlcjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MmVcIjsgfSAvKiAn7qCuJyAqL1xuLmljb24tYW5nbGUtbGVmdDo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDRcIjsgfSAvKiAn74SEJyAqL1xuLmljb24tYW5nbGUtcmlnaHQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA1XCI7IH0gLyogJ++EhScgKi9cbi5pY29uLWFuZ2xlLXVwOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwNlwiOyB9IC8qICfvhIYnICovXG4uaWNvbi1hbmdsZS1kb3duOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwN1wiOyB9IC8qICfvhIcnICovXG4uaWNvbi1jaXJjbGU6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTExXCI7IH0gLyogJ++EkScgKi9cbi5pY29uLWNpcmNsZS10aGluOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkYlwiOyB9IC8qIFwi74ebXCIgKi9cbi5pY29uLXN0YXItaGFsZi1hbHQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTIzXCI7IH0gLyogJ++EoycgKi9cbi5pY29uLXdpZmk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWViXCI7IH0gLyogJ++HqycgKi9cbi5pY29uLWJ1czo6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDdcIjsgfSAvKiAn74iHJyAqL1xuLmljb24tZXhjaGFuZ2U6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODJmXCI7IH0gLyogJ+6grycgKi9cbi5pY29uLXByaWNlLW1hdGNoLWd1YXJhbnRlZS1saW5lOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTg2MFwiO30gLyogJ+6hoCcgKi9cbi5pY29uLXRpY2s6OmJlZm9yZSB7Y29udGVudDogXCJcXGU4MzFcIjt9IC8qICfuoLInICovXG4uaWNvbi1jdXN0b21lci1jYXJlLXBsYW4tbGluZTo6YmVmb3JlIHtjb250ZW50OiBcIlxcZTgzMlwiO30gLyogJ+6gsycgKi9cbi5pY29uLWJyYWtlcy1xdWFsaXR5LXBhcnRzOjpiZWZvcmUge2NvbnRlbnQ6IFwiXFxlODMzXCI7fSAvKiAn7qC0JyAqL1xuLmljb24tYnJha2VzLW5vLXN1cnByaXNlczo6YmVmb3JlIHtjb250ZW50OiBcIlxcZTgzNFwiO30gLyogJ+6gtScgKi9cbi5pY29uLW1haWw6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODFhXCI7IH0gLyogJ+6gmicgKi9cbi5pY29uLXJlc2VuZDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MWJcIjsgfSAvKiAn7qCbJyAqL1xuLmljb24tY2hhdDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MWNcIjsgfSAvKiAn7qCcJyAqL1xuLmljb24tbmV3LXRhYjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MzZcIjsgfSAvKiAn7qC5JyAqL1xuIiwiQGNoYXJzZXQgJ1VURi04JztcblxuLyogSWNvbnMgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICBzcmM6IHVybChcIi4vZm9udHMvc2xpY2suZW90XCIpO1xuICAgIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi9mb250cy9zbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbn1cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cbiAgICB3aWR0aDogMjBweDtcbn1cblxuLnNsaWNrLXByZXY6aG92ZXIsXG4uc2xpY2stcHJldjpmb2N1cyxcbi5zbGljay1uZXh0OmhvdmVyLFxuLnNsaWNrLW5leHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2xpY2stcHJldjpob3Zlcjo6YmVmb3JlLFxuLnNsaWNrLXByZXY6Zm9jdXM6OmJlZm9yZSxcbi5zbGljay1uZXh0OmhvdmVyOjpiZWZvcmUsXG4uc2xpY2stbmV4dDpmb2N1czo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDo6YmVmb3JlLFxuLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbn1cblxuLnNsaWNrLXByZXY6OmJlZm9yZSxcbi5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG5cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgb3BhY2l0eTogMC43NTtcbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtMjVweDtcbn1cblxuLnNsaWNrLXByZXY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLihpBcIjtcbn1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGklwiO1xufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xufVxuXG5bZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bztcbn1cblxuLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLihpJcIjtcbn1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiO1xufVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTogLTI1cHg7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zbGljay1kb3RzIGxpIHtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHdpZHRoOiAyMHB4O1xufVxuXG4uc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcblxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiA1cHg7XG5cbiAgICB3aWR0aDogMjBweDtcbn1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLFxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2xpY2stZG90cyBsaSBidXR0b246aG92ZXI6OmJlZm9yZSxcbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uc2xpY2stZG90cyBsaSBidXR0b246OmJlZm9yZSB7XG4gICAgY29sb3I6ICRibGFjaztcblxuICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBmb250LXNpemU6IDZweDtcblxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICBvcGFjaXR5OiAwLjI1O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDA7XG5cbiAgICB3aWR0aDogMjBweDtcbn1cblxuLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIG9wYWNpdHk6IDAuNzU7XG59XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNsaWNrLWRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xuXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcblxuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcblxuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBsaSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJib2R5LFxuaHRtbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5ib2R5IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMDtcbn1cblxub2wsXG51bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmZ1bGxibGVlZCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxODAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mdWxsYmxlZWQtbW9iaWxlIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLnJvdyB7XG4gICAgJi5hdHJvb3Qge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VsLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgLm5vcGFkZGluZ3NtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uby1qcyB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgI21haW5OYXZXcmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG59XG5cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi52aXNpYmlsaXR5LWhpZGRlbiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiLy9UeXBvZ3JhcGh5XG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBsaW5lLWhlaWdodDogMWVtO1xufVxuXG5hIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xufVxuXG4ubGFyZ2UtaGVhZGxpbmUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiA2NnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNjZweDtcbiAgICB9XG59XG5cbi5pbnRyby1jb3B5IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIH1cbn1cblxuLnNtYWxsLWludHJvLWNvcHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG4ubGlnaHQtaW50cm8tY29weSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICB9XG59XG5cblxuLmZvb3Rlci1saW5rcyB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxufVxuXG4uaW5saW5lLWxpbmstYWx0ZXJuYXRlIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktZGFyay1ob3Zlcik7XG4gICAgfVxufVxuXG4uYXJyb3ctbGluayB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb250ZW50OiBcIiA+XCI7XG4gICAgfVxufVxuXG5wLFxuLnBhcmFncmFwaC1jb3B5IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuLnNtYWxsLWNvcHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB9XG59XG5cbi50aW55LWNvcHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbn1cblxuLnRpbnktaGVhZGluZ3Mge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnBhZ2UtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgNDBweDtcbiAgICB9XG59XG5cbi5wZHAtbWFpbiB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogNTBweCAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50aXAtc3ltYm9sIHtcbiAgICAkcmFkaXVzOiByZW0tY2FsYygxNyk7XG4gICAgJHNpbWJvbC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShyZW0tY2FsYygtNCkpO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiP1wiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAkc2ltYm9sLXNpemU7XG4gICAgICAgIGhlaWdodDogJHJhZGl1cztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2ltYm9sLXNpemU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB3aWR0aDogJHJhZGl1cztcbiAgICB9XG59XG4iLCIvL0J1dHRvbnNcblxuLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAxNXB4IDE4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICYuYnV0dG9uLWRhcmsge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWRhcms7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICB9XG5cbiAgICAmLmJ1dHRvbi1kYXJrOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1ob3Zlci1kYXJrO1xuICAgIH1cblxuICAgICYuaG9sbG93IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnV0dG9uLWRhcmsuaG9sbG93IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgJi5jbG9zZS1ob2xsb3ctYnRuIHtcbiAgICAgICAgLmFjdGl2ZS1idG4tdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwN1wiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGl2ZS1idG4tdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idG4tdGV4dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICAmLmhvbGxvdyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMTMxMzE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ1dHRvbi1kYXJrLnNlY29uZGFyeS5ob2xsb3cge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgcGFkZGluZzogMTNweCAxNXB4O1xuICAgIH1cblxuICAgICYubWVkaXVtIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE4cHg7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIH1cblxuICAgICYuZnVsbC13aWR0aCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYuaGVsbG9iYXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hbHRlcm5hdGUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gdmlldyBvbiB2ZWhpY2xlIGJ1dHRvblxuLnYtdmlldy1vbi12ZWhpY2xlIHtcbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmstYWJvdmUtcHJvZHVjdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgfVxufVxuXG4vLyBCYWRnZXNcbi50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG5cbiAgICBwLnRlc3RlZC1ieWthbC10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmljb24tdGVzdGVkLWJ5LWthbCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxufVxuXG4udGVzdGVkLWJ5a2FsLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5pY29uLXRlc3RlZC1ieS1rYWwge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudGVzdGVkLWJ5a2FsLXRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1iYWRnZSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcblxuICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW46IDdweCAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAgICAgICAmLnByb2R1Y3QtaW1hZ2UtYmFkZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggNXB4IDRweDtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wdF9wcm9kdWN0LWRldGFpbHMsXG4ucHRfcHJvZHVjdC1jb21wYXJlIHtcbiAgICAucHJvZHVjdC13aW50ZXItdXNlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICByaWdodDogaW5pdGlhbDtcbiAgICB9XG59XG5cbi5wdF9wcm9kdWN0LWNvbXBhcmUge1xuICAgIC5wcm9kdWN0LXdpbnRlci11c2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgfVxufVxuXG4ucHJvZHVjdC13aW50ZXItdXNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB0b3A6IDNweDtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgfVxufVxuXG4ub3ZlcnZpZXcge1xuICAgIGkuaWNvbi1zbm93Zmxha2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTNweDtcbiAgICB9XG59XG5cbi8vIExvYWRlclxuLmxvYWRlciB7XG4gICAgYW5pbWF0aW9uOiByb3RhdGUgMC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgYW5pbWF0aW9uOiByb3RhdGUgMC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgYm9yZGVyOiA4cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogM2VtO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogM2VtO1xuXG4gICAgJi5zdG9yZS1kZXRhaWxzLWxvYWRlciB7XG4gICAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICB9XG59XG5cbi5lcnJvci10ZXh0LWJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB1bmF2YWlsYWJsZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCA5cHg7XG5cbiAgICBwLnRleHQge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB1bmF2YWlsYWJsZS10ZXh0KTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3RvciAubG9hZGVyIHtcbiAgICB6LWluZGV4OiAtMTtcbn1cblxuI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5zZWxlY3RvciAubG9hZGVyIHtcbiAgICB6LWluZGV4OiA5OTtcbn1cblxuI3BzbW9kYWwgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3RvciAubG9hZGVyIHtcbiAgICB6LWluZGV4OiA5OTtcbn1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuLy8gRmx1aWQgV2lkdGggVmlkZW9cbi52aWRlb1dyYXBwZXIge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvLyAxNjo5XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vLyBDYXRlZ29yeSBpbmRpY2F0b3Jcbi5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgIC5jYXRlZ29yeSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LTMtc2Vhc29uLFxuICAgIC5jYXQtYWxsLXNlYXNvbiB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmJiMTE2O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdC1wZXJmb3JtYW5jZSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNjM1M2EzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdC1hbGwtd2VhdGhlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYmYxYThkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdC13aW50ZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzIwYzNmMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtdG91cmluZyB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDBhNjUxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdC1zcG9ydC10cnVjayB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjN2M4NmMyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdC1hbGwtdGVycmFpbiB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjN2E1MjI2O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdC1tdWQtdGVycmFpbiB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNDIyODAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdC1jb21tZXJjaWFsIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNhN2E5YWM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LXVsdHJhLWhpZ2gtcGVyZm9ybWFuY2Uge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2E0OTljYTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBnZW5lcmFsIHN0eWxlcyBmb3IgYWNjb3JkaW9uIHdpdGggcGx1cy9taW51cyBpY29uc1xuLnBsdXMtbWludXMtYWNjb3JkaW9uIHtcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWQ5ZGE7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBiXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGU4MGNcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICB9XG5cbiAgICAuc3VibWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgfVxufVxuXG5cbmEuaW5hY3RpdmUge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuXG4vLyBTZXBhcmF0b3IgbGluZSAoaW4gdGhlIG1pZGRsZSBvZiBhIGNvbHVtbikgYmV0d2VlbiB0d28gc2VjdGlvbnNcbi5saW5lLXNlY3Rpb25zLXNlcGFyYXRvciB7XG4gICAgbWFyZ2luOiA1MHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTI4LCAxMzAsIDEzMywgMC4zKTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBNb2RhbCBzdHlsZXNcbi5nbG9iYWxNb2RhbEhlYWRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGV0YXVsdCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDcycHg7XG4gICAgbWluLWhlaWdodDogNzJweDtcbiAgICBwYWRkaW5nOiAwIDYwcHggMCAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmluYW5jaW5nTW9kYWwge1xuICAgIC5nbG9iYWxNb2RhbEhlYWRlciB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXG4gICAgICAgICAgICBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdsb2JhbE1vZGFsQ29udGVudCB7XG4gICAgcGFkZGluZzogMzBweDtcblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbCgxNik7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZpbmFuY2luZ01vZGFsIHtcbiAgICAuZ2xvYmFsTW9kYWxDb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMzBweCA2MnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZpbmFuY2luZ01vZGFsQnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBtaW4td2lkdGg6IDE3MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNiLWN0YSB7XG4gICAgICAgICYuYnV0dG9uLWhvbGxvdy1ibGFjayB7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMCA4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxOHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdW5zZXQ7XG4gICAgfVxufVxuXG4vLyBQcm9kdWN0IHRpbGUgLSBwcmljaW5nIGFuZCBzaXplXG4vLyBUaG9zZSBzdHlsZXMgYXJlIHVzZWQgZm9yIGdyaWQvY29tcGFyZSBwYWdlL1JlcGxhY2UgcHJvZHVjdHMgUG9wLXVwXG4ucHJvZHVjdC10aWxlIHtcbiAgICAucHJvZHVjdC1zaXplLFxuICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgJi50cmFpbGVyLXRpbGUtaW5mbyB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYudHJhaWxlci1wcmljaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG5cbiAgICAgICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1zaXplIHtcbiAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF0dHItY29sdW1uIHtcbiAgICAgICAgICAgIC5hdHRyaWJ1dGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xuXG4gICAgICAgIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLXNhbGVzIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMnB4IDAgMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblxuICAgICAgICAgICAgICAgIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2l6ZS1sYWJlbCxcbiAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogIzdhN2M4MDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNjUlO1xufVxuXG4vLyBNYWluIExpdmUgQ2hhdCBCdWJibGUgSWNvblxuLm1haW5OYXZMaXZlQ2hhdENUQS5vcGVuTGl2ZUNoYXRCdXR0b24ge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGJvdHRvbTogY2FsYygzMCUgLSAxN3B4KTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuICAgIHotaW5kZXg6IDk5OTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICB9XG59XG5cbi5oZWFkZXItbmF2Lm1vYmlsZS1jaGF0LWJ0biB7XG4gICAgaGVpZ2h0OiAwO1xuXG4gICAgLmhlYWRlckNhcnRXcmFwcGVyLFxuICAgIC5oZWFkZXJTZWFyY2hXcmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIExpdmUgQ2hhdFxuLm9wZW5MaXZlQ2hhdEJ1dHRvbiB7XG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG59XG5cbi8vIENTQyBBZ2VudCBNZXNzYWdlXG4uY3NjLWFnZW50bWVzc2FnZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIEFjY29yZGlvbiBjb250ZW50IGFzc2V0c1xuLmFjY29yZGlvbiB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5LW92ZXI7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjEpO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLnRvZ2dsZS1pdGVtIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5LW92ZXI7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIzKSAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1bW1hcnkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cblxuICAgICAgICBzdW1tYXJ5OjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgfiAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB+IHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIi1cIjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQsXG4ucHRfcHJvZHVjdC1zZWFyY2gtbm9yZXN1bHQsXG4ucHRfcHJvZHVjdC1jb21wYXJlLFxuLnB0X3Byb2R1Y3QtZGV0YWlscyxcbi5wdF9jYXJ0LFxuLnB0X2NoZWNrb3V0LFxuLnB0X29yZGVyLWNvbmZpcm1hdGlvbiB7XG4gICAgI21haW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB9XG59XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQge1xuICAgICNtYWluIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1yZXN1bHRzLXJlc291cmNlLWNlbnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wdF9hY2NvdW50IHtcbiAgICAucmVzZXQtcGFzc3dvcmQtcGFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cbn1cbiIsIlt0eXBlPVwidGV4dFwiXSxcblt0eXBlPVwicGFzc3dvcmRcIl0sXG5bdHlwZT1cImRhdGVcIl0sXG5bdHlwZT1cImRhdGV0aW1lXCJdLFxuW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcblt0eXBlPVwibW9udGhcIl0sXG5bdHlwZT1cIndlZWtcIl0sXG5bdHlwZT1cImVtYWlsXCJdLFxuW3R5cGU9XCJudW1iZXJcIl0sXG5bdHlwZT1cInNlYXJjaFwiXSxcblt0eXBlPVwidGVsXCJdLFxuW3R5cGU9XCJ0aW1lXCJdLFxuW3R5cGU9XCJ1cmxcIl0sXG5bdHlwZT1cImNvbG9yXCJdLFxudGV4dGFyZWEge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbn1cblxuaW5wdXQ6Oi1tcy1jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvc2VsZWN0LWljb24ucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9zZWxlY3QtaWNvbi5wbmdcIik7XG4gICAgfVxufVxuXG4uc29ydC1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFyZW0gY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMzVweCAwIDEwcHg7XG59XG5cbmxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07XG59XG5cbnRleHRhcmVhIHtcbiAgICByZXNpemU6IG5vbmU7XG59XG5cbi5kaWFsb2ctcmVxdWlyZWQge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ucmVxdWlyZWQtaW5kaWNhdG9yIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbn1cblxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgJi5lcnJvciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuICAgIH1cbn1cblxuLy9kaXYuZXJyb3IsXG5zcGFuLmVycm9yLFxuLmVycm9yLW1lc3NhZ2UsXG4uY291cG9uRXJyb3IsXG4ubmFtZS1sZW5ndGgtZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBwYWRkaW5nOiA3cHggMCAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZXJyb3ItZm9ybSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbjogMTBweCAwO1xufVxuXG4uZm9ybS1yb3cge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG59XG5cbi5mb3JtLWNhcHRpb24uZXJyb3ItbWVzc2FnZSB7XG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuLy8gQ3VzdG9tIGNoZWNrYm94IGFuZCByYWRpbyBpbnB1dHNcbi5jaGVja2JveC1mb3JtLFxuLnJhZGlvLWZvcm0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5maWVsZC13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIG1hcmdpbjogMnB4IDAuMzEyNXJlbSAwIDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4uY2hlY2tib3gtZm9ybSB7XG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgJjpjaGVja2VkICsgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQ6ZGlzYWJsZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZDlkOTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5wdXQtY3VzdG9tLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgd2lkdGg6IDE3cHg7XG4gICAgfVxufVxuXG4ucmFkaW8tZm9ybSB7XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgJjpjaGVja2VkICsgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNkOWQ5ZDk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICB9XG59XG5cbi8vQ3VzdG9tIHN0eWxlIGZvciBDb21tZXJjaWFsIEZsZWV0IFZlaGljbGVzIGNoZWNrYm94IGJ1dHRvbnNcbi5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIge1xuICAgIC5pbnB1dC1jdXN0b20sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAmOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zbGljay1zbGlkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5zbGljay1zbGlkZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zbGljay1saXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cblxuLnNsaWNrLWxpc3QsXG4uc2xpY2stYXJyb3cge1xuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG5cbiAgICBpbWcuc2xpY2stbG9hZGluZyB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG5cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLnJldmVhbCB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLy9Mb2NhdGlvbiBTZWFyY2ggU3VnZ2VzdGlvbnNcbi5wYWMtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIycHg7XG4gICAgfVxuXG4gICAgLnBhYy1pdGVtIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICAgICAgLnBhYy1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vQmxvZyBDYXJkXG5cbi5ib3R0b20tc3BhY2VkLWNvbHVtcyB7XG4gICAgPiBkaXYuY29sdW1ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuXG4uYmxvZy1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAzMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogYXV0bztcblxuICAgIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmJsb2ctY2FyZC1pbmZvIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIxcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0LjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGlueS1oZWFkaW5ncyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2ctY2FyZC1jdGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjFweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9nLWNhcmQtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAuYmxvZy1jYXJkLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgIC5ibG9nLWNhcmQtY3RhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAuYmxvZy1jYXJkLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICBib3R0b206IC00NXB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgfSAgIFxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgIFxuICAgIH1cbn1cblxuXG4vL0hlbGxvIEJhclxuLmhlbGxvLWJhciB7XG4gICAgYmFja2dyb3VuZDogJGRhcmtlci1ncmF5O1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAxMHB4IDQ1cHggMTBweCAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmEtdGltZXMge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdG9wOiAyM3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmN1c3RvbS1tZW51LW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDM7XG59XG5cbi5oZWFkZXItYmFubmVyLFxuLmhlYWRlci1uYXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA0O1xufVxuXG4vL0hlYWRlciBOYXZcbi5oZWFkZXItbmF2IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNDtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbk5hdkFjdGlvbnNXcmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgICNoZWFkZXJOYXZMb2NhdGlvbkNUQSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgYm90dG9tOiAzcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG51bC5oZWFkZXJOYXZFeHRlcm5hbExpbmtzLFxudWwjaGVhZGVyTmF2QWN0aW9ucyB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBtaWRkbGUpO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA2OHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaS5pY29uLWxvY2F0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBtaWRkbGUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmUwZTA7XG5cbiAgICAgICAgICAgIGkuaWNvbi1sb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vTWFpbiBOYXZcblxuI21haW5OYXZXcmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKG51bGwsIG1pZGRsZSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbWFpbk5hdiB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBtaWRkbGUpO1xuXG4gICAgICAgICAgICA+bGkgYS5sMU1lbnVJdGVtIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID5saS5pcy1hY3RpdmUgYS5sMU1lbnVJdGVtIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICA+bGlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgICAgIGEubDFNZW51SXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+bGkgYS5sMU1lbnVJdGVtIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXIgI21haW5OYXYgPiBsaSxcbiAgICAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICB1bCxcbiAgICAgICAgbGksXG4gICAgICAgIGxpIGEge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSxcbiAgICAudG9wLWJhciAjbWFpbk5hdiA+IGxpIC5tb2JpbGUtbWVudS1pdGVtLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyICNtYWluTmF2IGxpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgJi5pcy1zdWJtZW51LWl0ZW0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDY3cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5tb2JpbGUtc3VibWVudS10cmlnZ2VyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmpzLWRyaWxsZG93bi1iYWNrID4gYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNjdweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2JpbGUtbWVudS13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAyNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICB1bCxcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMSxcbiAgICAgICAgICAgICAgICBoMixcbiAgICAgICAgICAgICAgICBoMyxcbiAgICAgICAgICAgICAgICBoNCxcbiAgICAgICAgICAgICAgICBoNSxcbiAgICAgICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIzcHggNDVweCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxpLFxuICAgICAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIGEgc3BhbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9iaWxlLXN1Ym1lbnUtdHJpZ2dlciB7XG4gICAgICAgIGhlaWdodDogNjdweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICB1bCNtYWluTmF2IC5tb2JpbGUtbWVudS13cmFwcGVyIHtcbiAgICAgICAgaDUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsI21haW5OYXYge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbn1cblxuI21haW5NZW51V3JhcHBlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbnVsLm1haW5OYXZBY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1pbi13aWR0aDogMjEzcHg7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgPmxpIHtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAkYnV0dG9uLWRhcmspO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDUgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICAuaGVhZGVyLWN0YS1idXR0b24ge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5tb2JpbGUtaGVhZGVyLWN0YSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgICAgICB3aWR0aDogODAlO1xuICAgIH1cbn1cblxuLmhlYWRlci1tYWluLW5hdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDI4cHggMDtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDk5O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnJvdy5hdHJvb3Qge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5uby1qcyB7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG5cbiAgICAmLXN0aWNrZWQge1xuICAgICAgICAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDkwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1heC13aWR0aDogMTI1cHg7XG4gICAgfVxufVxuXG5cbiNsb2NhdGlvbkNoYW5nZSB7XG4gICAgQGluY2x1ZGUgZmxleDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI2xvY2F0aW9uQ2hhbmdlVHJpZ2dlcldyYXBwZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbWlkZGxlKTtcblxuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG59XG5cbiNsb2NhdGlvbkNoYW5nZUZvcm1XcmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG4gICAgd2lkdGg6IDA7XG59XG5cbiNsb2NhdGlvbkNoYW5nZUlucHV0IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmc6IDAgMjVweCAwIDA7XG5cbiAgICAmOjotbXMtY2xlYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuI2xvY2F0aW9uQ2hhbmdlRm9ybUNsb3NlIHtcbiAgICBjb2xvcjogI2RmZTBlMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbn1cblxuLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNtb2JpbGVNZW51TG9nb1dyYXBwZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDE4cHggMCAwIDMwcHg7XG59XG5cbiNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG5cbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSBhLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgICBmaWxsOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgIC5tb2JpbGVOYXYtc3ZnIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2JpbGVOYXYtcmVjdCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgLm1vYmlsZU5hdi1yZWN0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0M2RlZykgdHJhbnNsYXRlKDExcHgsIC0yMXB4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0M2RlZykgdHJhbnNsYXRlKDExcHgsIC0yMXB4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0M2RlZykgdHJhbnNsYXRlKDExcHgsIC0yMXB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vYmlsZU5hdi1yZWN0Om50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vYmlsZU5hdi1yZWN0Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC0zMHB4LCAxcHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC0zMHB4LCAxcHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC0zMHB4LCAxcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4jbW9iaWxlTmF2QWN0aW9ucyB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDVweCAzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhI21vYmlsZUxvY2F0aW9uQ2hhbmdlRm9ybUNsb3NlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZGZlMGUwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5tb2JpbGVOYXZFeHRlcm5hbExpbmtzIHtcbiAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLXRvcDogJGJvcmRlci1saWdodC1ncmF5IDFweCBzb2xpZDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIH1cbn1cblxuI21vYmlsZUxvY2F0aW9uQ2hhbmdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNtb2JpbGVMb2NhdGlvbkNoYW5nZUlucHV0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgNDVweCAwIDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbiNtb2JpbGVMb2NhdGlvbkNoYW5nZUZvcm1XcmFwcGVyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbn1cblxuXG4vL21pbmljYXJ0XG4ubWluaS1jYXJ0LWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5taW5pY2FydC1xdWFudGl0eSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRvcDogLTlweDtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAtNHB4O1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWluaWNhcnQtcXVhbnRpdHktaW5uZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tZWdhLW1lbnUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogOTk5O1xuXG4gICAgICAgIC5saW5rcy10eXBlIHtcbiAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICBoMyxcbiAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgaDUsXG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGE6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktZGFyay1ob3Zlcik7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGksXG4gICAgICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuXG4gICAgICAgICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5lZGl0b3JpYWwtdHlwZSB7XG4gICAgICAgICAgICBoMSxcbiAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgaDMsXG4gICAgICAgICAgICBoNCxcbiAgICAgICAgICAgIGg1LFxuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHg7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1kYXJrLWhvdmVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250ZW50LWN1c3RvbS1idG4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lZ2Ege1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgICAgIGxlZnQ6IDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxODAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICAgICAgICByaWdodDogMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGdyaWQtcm93LXdpZHRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzVweDtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1hZ2UtdHlwZSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGEubDFNZW51SXRlbSB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuXG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICB9XG59XG5cbi5oZWFkZXItbWFpbi1uYXYge1xuICAgIC5pcy1kcmlsbGRvd24gLm1lZ2EtbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDRcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgY29udGVudDogXCJcXGYxMDZcIjtcbiAgICAgICAgdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBpbml0aWFsO1xuICAgIH1cbn1cblxuI21vYmlsZVNlYXJjaFdyYXBwZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5O1xuXG4gICAgLmhlYWRlci1zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgLmhlYWRlci1zZWFyY2gge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4uaGVhZGVyLXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG5cbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBmaWVsZHNldCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhY2hGb3JtSW5wdXQge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYWNoRm9ybUlucHV0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyNXB4IDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2hGb3JtQ2xvc2Uge1xuICAgICAgICAgICAgY29sb3I6ICNkZmUwZTA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVhZGVyU2VhcmNoV3JhcHBlciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKG51bGwsIG1pZGRsZSk7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGZlMGUwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2hGb3JtVHJpZ2dlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgICAgICBpLmljb24tc2VhcmNoOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaEZvcm1DbG9zZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItc2VhcmNoIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItc2VhcmNoIC5zZWFyY2hGb3JtVHJpZ2dlciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obGVmdCwgbWlkZGxlKTtcbiAgICB9XG5cbiAgICAuc2VhcmNoRm9ybVRyaWdnZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBtaWRkbGUpO1xuICAgIH1cblxuICAgIC5oZWFkZXItc2VhcmNoIGZpZWxkc2V0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5zZWFjaEZvcm1CdXR0b24ge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDVweDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYWNoRm9ybUlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHggMCAxMHB4O1xuXG4gICAgICAgICY6Oi1tcy1jbGVhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaEZvcm1DbG9zZSB7XG4gICAgICAgIGNvbG9yOiAjZGZlMGUwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi5zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMTVweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNTg1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICB0b3A6IDY0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICB0b3A6IDY3cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIHRvcDogNzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1zZWFyY2ggJiB7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICAuaGl0Z3JvdXAge1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIH1cblxuICAgIC5nZW5lcmF0ZWQtaGl0Z3JvdXAge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICYucG9wdWxhci1zZWFyY2hlcyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpcmVjdC1wYWdlLWxpbmsge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1wcm9kdWN0LXdyYXBwZXIge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCA0MHB4O1xuICAgICAgICB3aWR0aDogMzQwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1zdWdnZXN0aW9uLXdyYXBwZXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgNDBweDtcbiAgICAgICAgd2lkdGg6IDI0NXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNGQ0ZDQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBhLmhpdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1zdWdnZXN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1zdWdnZXN0aW9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihudWxsLCBtaWRkbGUpO1xuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9vdGVyLXNvY2lhbC1tZWRpYS13cmFwcGVyIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuXG4gICAgfVxufVxuXG4uZm9vdGVyLWNvcHktd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBtaW4taGVpZ2h0OiA5NnB4O1xuXG4gICAgLnJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obnVsbCwgbWlkZGxlKTtcblxuICAgICAgICBtaW4taGVpZ2h0OiA5NnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGhlaWdodDogOTZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2Zvb3RlckxvZ29Db250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDhweDtcbiAgICBtYXgtd2lkdGg6IDEwOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbiNmb290ZXJDb3B5Q29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbiNmb290ZXJMaXZlQ2hhdENUQSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG59XG5cbi5mb290ZXItd3JhcHBlciB7XG4gICAgQGV4dGVuZCAuZnVsbGJsZWVkOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgcGFkZGluZzogNTVweCAwIDI1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZzogNDVweCAwIDM1cHg7XG4gICAgfVxuXG4gICAgLmZvb3Rlci1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG51bC5mb290ZXItbGlua3Mge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2hvdy1zZWxmLXNlcnZpY2Uge1xuICAgIC5zaG93LWVudHJ5LXBvaW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uc2hvdy1lbnRyeS1wb2ludCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvb3Rlci1lbWFpbC13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIHBhZGRpbmc6IDM1cHggMDtcblxuICAgIGZvcm0gZmllbGRzZXQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBtaWRkbGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA3MHB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItZW1haWwtaW5wdXQtd3JhcHBlcixcbiAgICAuZm9vdGVyLWVtYWlsLWxhYmVsLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgbnVsbCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1lbWFpbC1sYWJlbC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihsZWZ0LCBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3Bhbi5lcnJvciB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHRvcDogLTE4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uZXdzbGV0dGVyLW1lc3NhZ2Uge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGkge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cbn1cblxuI3N1YnNjcmliZS1lbWFpbCB7XG4gICAgbWF4LXdpZHRoOiAzMDVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgd2lkdGg6IDMxNXB4O1xuICAgIH1cbn1cblxuI2hvbWVwYWdlQWxlcnRCYXIge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBwYWRkaW5nOiAwIDUwcHggMCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGkuaWNvbi1hbGVydCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIG1pbi13aWR0aDogNDJweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIG1hcmdpbjogMjVweCBhdXRvO1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICB9XG5cbiAgICAjaG9tZXBhZ2VBbGVydEJhckNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogMzglO1xuICAgIH1cbn1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIHtcbiAgICAubWFpbi1sZWZ0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodC1jb2x1bW4td3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxlZnQtY29sdW1uIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgcGFkZGluZzogMzZweCAzMnB4IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1NXB4IDMycHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiA5MHB4IDYwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0Mik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDIyXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiAwLjFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5sZWZ0LWNvbHVtbi1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodC1jb2x1bW4tZmlyc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgcGFkZGluZzogODVweCAzMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMzJweCA5MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogODVweCA4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nLnJpZ2h0LWNvbHVtbi1maXJzdC1pY29ucyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMTZweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0LWNvbHVtbi1zZWNvbmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0LWNvbHVtbi1zZWNvbmQtYSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMzJweCAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDEwcHggNDBweCA3MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0LWNvbHVtbi1zZWNvbmQtYiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzJweCA0NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogNzVweCA0NXB4IDQ1cHggMDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucm93LmNvbGxhcHNlLXJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnZlcnRpY2FsLWFsaWduIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbn1cblxuLmhvcml6b250YWwtYWxpZ24ge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmluZm8tdGlsZS13cmFwcGVyLXNwYWNlYXJvdW5kIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obnVsbCwgbWlkZGxlKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIH1cbn1cblxuLmluZm8tdGlsZS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaG92ZXJlZCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgPmRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhvbXBhZ2UtaW5mby10aWxlIHtcbiAgICBib3JkZXI6IDEwcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMTVweCAzOHB4IDE1cHggMTRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDIwcHggMTVweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBtaWRkbGUpO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGxlZnQsIG1pZGRsZSk7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGkge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICYuc2hvd2J1dHRvbiB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9iaWxlLWluZm8tdGlsZS1DVEEge1xuICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4jaGVhZGxpbmVzV3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE3OHB4IGF1dG87XG4gICAgcGFkZGluZzogNC4yNXJlbSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0MXB4IGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMxNnB4IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDA7XG4gICAgfVxuXG4gICAgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3RhLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgaDIuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4ucmV2ZWFsIHtcbiAgICAmLnJldmVhbG5pbmUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmJvcmRlcmVkLXRvcCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG59XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi5zY3JvbGwtb3ZlcmxheSB7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZXJyb3ItcGFnZS1jb250YWluZXIge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgLmZ1bGxibGVlZCB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuXG4gICAgLnJvdyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogNC4yNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMi44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiA0NHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4wNDM1ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNDM3NXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQuMDYyNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuODEyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMTBweCAyOHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icm93c2VyLWVycm9yIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG59XG5cbi5wcml2YWN5cG9saWN5LXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMCAxLjg3NXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgfVxuXG4gICAgLnByaXZhY3lwb2xpY3ktdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbCB7XG4gICAgcCxcbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LWZhbWlseTogXCJnb3RoYW1cIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDIwcHggMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMnB4IDAgMjJweCAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJi5yZXZlYWwge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjdweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gR0RQUiBpbmZvIGJhclxuLmdkcHItaW5mby1iYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICBib3R0b206IDA7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgbGVmdDogMDtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdkcHItaW5mby1mbGV4IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy9PcmRlciBzdW1tYXJ5XG4ub3JkZXItc3VtbWFyeS1wcm9kdWN0cy10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4uaWNvbi1jYWxlbmRhci1pY29uLFxuLmljb24tcHJpbnQge1xuICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG5cbi8vIFByb3ZpbmNlIG1vZGFsIG1lc3NhZ2VcbiNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBtYXgtaGVpZ2h0OiA2NXZoO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgd2lkdGg6IDc1MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIG1hcmdpbjogNSU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDc1dmg7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgIH1cblxuICAgICoge1xuICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWI7XG4gICAgfVxuXG4gICAgLnByb3ZpbmNlLW1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIC5tZXNzYWdlLWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIHRvcDogMC41cmVtO1xuICAgIH1cblxuICAgIC50aXRsZS1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtc2VjdGlvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxufVxuIiwiLnB0X3BzcmVzdWx0cyB7XG4gICAgLmhlYWRlci1tYWluLW5hdjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsLWluZm8td3JhcHBlciB7XG4gICAgICAgIC5zbWFsbC0xMi5jb2x1bW5zLnBzcmVzdWx0cy10aXRsZS1ib3JkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5zcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDIycHg7XG5cbiAgICAmLnF1ZXN0aW9ubWFyay13aGl0ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuI0dTUE5vUmVzdWx0cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BzbW9kYWwsXG4jd2hlZWwtdHlwZS1tb2RhbCB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgIH1cblxuICAgIC5wcm9kdWN0U2VsZWN0b3Ige1xuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEsXG4gICAgICAgICZbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJi50cmFpbGVyLXRpcmUtaGludCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RlcC5jdXJyZW50IHtcbiAgICAgICAgICAgIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAmLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfdmVoaWNsZVwiXSxcbiAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3ZlaGljbGVcIl0ge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICZbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSxcbiAgICAgICAgICAgICZbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtY29udGVudCB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuc2VsZWN0b3Jfb3B0aW9ucyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnNlbGVjdG9yIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0b3Jfc3RlcHMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZpbmRUaXJlU2l6ZU1vZGFsSGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGV0YXVsdCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDcycHg7XG4gICAgbWluLWhlaWdodDogNzJweDtcbiAgICBwYWRkaW5nOiAwIDYwcHggMCAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmluZFRpcmVTaXplTW9kYWxDb250ZW50IHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIC5wdF9zdG9yZWZyb250IHtcbiAgICAgICAgLmhlYWRlci1tYWluLW5hdixcbiAgICAgICAgLmluZm8tdGlsZS13cmFwcGVyLFxuICAgICAgICAuaW5mby10aWxlLXdyYXBwZXItc3BhY2Vhcm91bmQsXG4gICAgICAgIC5mb290ZXItd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIsXG4jbmV3U2VhcmNoTW9kYWwge1xuICAgIHBhZGRpbmc6IDM1cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgICNQU092ZXJsYXkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAubWFpbi1zZWxlY3Rvci10YWIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcy1yaWdodCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsZWN0b3IuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgcGFkZGluZzogMTgwcHggMDtcblxuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgIC5wcy1sZWZ0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwJTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcy1yaWdodCB7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtd3JhcHBlci1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnNpZGVTZWxlY3RvciB7XG4gICAgICAgID5hOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwZFwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tc2VsZWN0b3ItdGFiIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICAgIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm5vLXRhYnMge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDcwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDkwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFkZC1yZWFyLXNpemUsXG4gICAgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgICAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5hZGQtcmVhci1zaXplIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJvb3RsZXZlbHBzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JiaXQtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgLm9yYml0LXNsaWRlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlZGlyZWN0IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICBpLmljb24tYW5nbGUtbGVmdDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3Jfb3B0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2luYXRlZF9yZXN1bHRzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW5zLTEge1xuICAgICAgICAgICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbHVtbnMtMiB7XG4gICAgICAgICAgICAgICAgLnJlc3VsdHNDb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW5zLTMge1xuICAgICAgICAgICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW5zLTQge1xuICAgICAgICAgICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY29sdW1ucy01IHtcbiAgICAgICAgICAgICAgICAucmVzdWx0c0NvbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVzdWx0c0NvbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA2cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+LnJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG59XG5cbi53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTcpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndoZWVsdHlwZS1vcHRpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLndoZWVsdHlwZS1vcHRpb24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDIwcHggMjBweCAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTgycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTBweCA4cHggMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCA2cHggMTVweCAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzcHggMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndoZWVsc0ZvcldpbnRlckNvbmRpdGlvbnNNb2RhbFRyaWdnZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbn1cblxuI1BTT3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmLnZpc2libGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxufVxuXG4udHJhaWxlci1iYW5uZXItc2VsZWN0b3Ige1xuICAgICNQU092ZXJsYXkge1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgIH1cbn1cblxuaDIubW9iaWxlLW1vZGFsLXRpdGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI3BzTW9iaWxlTW9kYWwsXG4jcHNNb2JpbGUge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPmxpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuXG4gICAgICAgICAgICAmLndoZWVsc0ZvcldpbnRlckNvbmRpdGlvbnNNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUubmVzdGVkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAucHMtbGVmdCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byA0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2Nyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHMtcmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MTBweDtcbiAgICB9XG5cbiAgICAmLmlucGFnZSB7XG4gICAgICAgIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zZWxlY3RvciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLXRhYiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGRpdjpub3QoLnNlbGVjdG9yLWRlc2NyaXB0aW9uKSxcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgd2lkdGg6IDU2JTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tc2VsZWN0b3ItdGFiIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLXRhYnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubG9va2luZy1mb3Itb3RoZXItdGlyZXMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG5cbiAgICAgICAgJi50cmFpbGVyLXBhZ2UtcmVkaXJlY3Qge1xuICAgICAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3RTZWxlY3RvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICYuc3RhZ2dlcmVkLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgJltkYXRhLWZyb250cmVhcj1cImZyb250XCJdIC5hZGQtcmVhci1zaXplLWN0YSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmW2RhdGEtZnJvbnRyZWFyPVwicmVhclwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMjBweDtcblxuICAgICAgICAgICAgJltkYXRhLWNhdGVnb3J5aWQ9XCJ0aXJlc1wiXSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgICAgICAuYWRkLXJlYXItc2l6ZSxcbiAgICAgICAgICAgICAgICAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5mcm9udC1yZWFyLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdGFnZ2VyZWQtYWN0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAuZnJvbnQtcmVhci1tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3JfY2xvc2Uge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mcm9udC1yZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMnB4O1xuXG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPmRpdiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RhZ2dlcmVkLWFjdGl2ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgID5kaXYuYWN0aXZlIGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mcm9udC1yZWFyLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIC5yZWFyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdFNlbGVjdG9yIHtcbiAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfc2l6ZVwiXSxcbiAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0ge1xuICAgICAgICAgICAgLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLm1vYmlsZS1vbmx5IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIC5hZGQtcmVhci1zaXplIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTBweDtcblxuICAgICAgICAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWwoMTgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICYud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCA2cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucGFnZWRpcmVjdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3Jfc3RlcHMge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmW2RhdGEtY3VycmVudC1rZXk9VkVISUNMRV9OQU1FXSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jaG9zZW4gYSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIC5zdGVwbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNob3NlbiB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwbGluayB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmlubGluZS1xdWVzdGlvbi1tYXJrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcblxuICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubmV3c2VhcmNoLXRpcmVzZWxlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHggMCAyMHB4O1xuICAgIH1cbn1cblxuLnBkcC1tYWluIHtcbiAgICAucHNyZXN1bHRzLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMS44NzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAgIH1cblxuICAgICYuc21hbGwtdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMS44NzVyZW07XG5cbiAgICAgICAgICAgIC5wc3Jlc3VsdHMtdGl0bGUtYm9yZGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDIucHNyZXN1bHRzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMThweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdGlvbi1pbmZvcm1hdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuc2VsLWluZm8td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItaW1hZ2UtY29sIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcy1yZXN1bHRzLWltYWdlLXRpcCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogLTE4cHg7XG4gICAgICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWluaW1pemVkLXZlaGljbGUtdml6dWFsaXplciB7XG4gICAgICAgIC5zZWwtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbC1pbmZvLnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYubGVmdC1hcnJvdyB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbml0LXNlbGVjdG9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmluZm8tbW9kYWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGVmdC1pbmZvIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlbC10aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTZweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm5vbWluaGVpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEuNSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2LjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggZG90dGVkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXBhcmF0b3Ige1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHQtaW5mbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRpcmUtdHlwZS1jb250ZW50IHtcbiAgICAjcHJvZHVjdEdyaWRVcmwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5sZWZ0LWljb24td3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52Y2VudGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAudGlyZS10eXBlcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuXG4gICAgLnRpcmUtdHlwZXMucGFja2FnZXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cblxuICAgIC50aXJlcy1ndWlkZWQtcGF0aCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgcGFkZGluZzogNDBweCAyMHB4IDMwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ3VpZGVkLXNlY3Rpb24taGVhZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICArIC50aXJlLXR5cGVzIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuXG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taWQtbGluZS1jb3B5IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgIG1hcmdpbjogMjVweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXJlLXR5cGVzLXNlY3Rpb24taGVhZCB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5LWNvbHVtbi13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLmNhdC10eXBlcy1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIH1cblxuICAgIC5yZXN1bHRfYnRuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yX2NoZWNrYm94IHtcbiAgICAgICAgYm9yZGVyOiA1cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDhweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgcGFkZGluZzogMTVweCA3MHB4IDE1cHggMzBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMTNweDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTEzcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBsZWZ0OiAtMjAwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiAtM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgLmhhcy10aXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtdGlwIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmEge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgICAgICAgICBsZWZ0OiAtOHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3ItYWxsLXdlYXRoZXIge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2JmMWE4ZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3Itd2ludGVyIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMGMzZjM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLTMtc2Vhc29uLFxuICAgICAgICAmLmNhdGNvbG9yLWFsbC1zZWFzb24ge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZiYjExNjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3ItcGVyZm9ybWFuY2Uge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzYzNTNhMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3ItdG91cmluZyB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDBhNjUxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1tdWQtdGVycmFpbiB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNDIyODAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1zcG9ydC10cnVjayB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOWVjZjdjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1hbGwtdGVycmFpbiB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjN2E1MjI2O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1jb21tZXJjaWFsIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNhN2E5YWM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLXVsdHJhLWhpZ2gtcGVyZm9ybWFuY2Uge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2E0OTljYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlbGVjdG9yX2NoZWNrYm94LnNlbGVjdGVkIHtcbiAgICAuZmEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi50b29sdGlwLm9lbS10aXAge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWF4LXdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMjMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLy8gYnkgZGVmYXVsdCBhcHBlYXJzIGJlbG93IChib3R0b20pXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICB9XG5cbiAgICAmLnRvcCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5yaWdodCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sZWZ0IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRvb2x0aXAuY2F0dHlwZS10aXAge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1heC13aWR0aDogMzgwcHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC8vIGJ5IGRlZmF1bHQgYXBwZWFycyBiZWxvdyAoYm90dG9tKVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudG9wIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxlZnQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udG9vbHRpcC5kaXNhYmxlZC1lbWFpbC10aXAge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBtYXgtd2lkdGg6IDI0NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAyNDZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAvLyBieSBkZWZhdWx0IGFwcGVhcnMgYmVsb3cgKGJvdHRvbSlcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMnB4O1xuICAgIH1cblxuICAgIC5vcmFuZ2UtcGhvbmUsXG4gICAgLnBhbGUtZ3JleS10ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAub3JhbmdlLXBob25lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgfVxuXG4gICAgLnBhbGUtZ3JleS10ZXh0IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgfVxufVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLmdzcEFuc3dlciB7XG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4ucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgcGFkZGluZzogOTBweCAwO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAucm93ID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI29lbWFya2luZ01vZGFsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICAub2VtYXJraW5nTW9kYWxDdGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbiNmaXRtZW50TW9kYWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDlweCAxNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgIH1cblxuICAgIC5maXRtZW50TW9kYWxDdGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi5yZXZlYWwudmNlbnRlciB7XG4gICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4iLCIjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIge1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICAgICAgICAmLnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NzRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IHtcbiAgICAuY2hvaWNlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNob2ljZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgbWluLWhlaWdodDogMTgycHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDM0N3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAuY2hlY2staWNvbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS12YWx1ZT1cIlllc1wiXSB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS12YWx1ZT1cIk5vXCJdIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrLWljb24ge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZGVkZWRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDEwcHggMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTlweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDE1cHggMDtcbiAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0U2VsZWN0b3Ige1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLXRhYiB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMjhweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTg3cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTM3cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpcmVfbW91bnQge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgY29sb3I6ICRtZWRpdW0tZGFyay1ncmF5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hvaWNlIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuVkVISUNMRV9UWVBFXzEge1xuICAgICAgICAuY2hvaWNlIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2Nob2ljZU1vZGFsIHtcbiAgICAmLnJldmVhbCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ2N3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIE5vdGU6IG1heWJlIHdlIGNhbiByZW1vdmUgdGhlIGluY2x1ZGUgZm9yIHBhZ2luYXRpb24gZnJvbSBmb3VuZGF0aW9uIGlmIHdlIHdpbGwgbm90IHVzZSBpdFxuXG4ucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwIDAgNTBweDtcblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMTJweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDlweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VycmVudC1wYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICB9XG59XG5cbi5zdG9yZXMtcGFnaW5hdGlvbiB7XG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBQcm9kdWN0IHRpbGVzIGZyb20gcmVzdWx0cy9ncmlkIHBhZ2Vcbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIHtcbiAgICAuZ3JpZC10aWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubmV3LXJvdzpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oanVzdGlmeSk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5wcm9kdWN0LWxpbmstYWJvdmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmstYWJvdmUtcHJvZHVjdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1hY2Nlc3NpYmxlLWhvdmVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6bm90KC5wcm9kdWN0LXRpbGUtYWN0aXZlKTpub3QoLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRhcmtlci1ncmF5LW92ZXI7XG5cbiAgICAgICAgICAgIC5yZWNvbW1lbmRlZC1iYWdkZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXktb3ZlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtY29tcGFyZSBsYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguaXNNYXN0ZXJQcm9kdWN0KSB7XG4gICAgICAgICAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgICAgICAgICAvLyBjdXN0b20gYnJlYWtwb2ludCBiZWNhdXNlIGFsc28gZm9yIDEwMjUgd2UgaGF2ZSBpc3N1ZXMgd2l0aCBwcmljZSBzaXplXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvbW8tYmFkZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgN3B4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1iYWRnZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA2cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgICAgICAuYnJhbmQtbmFtZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52LXZpZXctb24tdmVoaWNsZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2NXB4O1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgLnJlYmF0ZSB+IC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkZC1hbGwtdG8tY2FydCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJvcmRlci1ncmV5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XG5cbiAgICAgICAgLm1hcmtldGluZy10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubWFya2V0aW5nLWluZm8tc2VjdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG5cbiAgICAgICAgLnRodW1iLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIxNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMTVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE5NXB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTk1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICAgICAgbWluLWhlaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgLmJyYW5kLW5hbWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhdGVnb3J5IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0ZWdvcmllcy1ib3gge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweDtcbiAgICB9XG5cbiAgICAubm90LWF2YWlsYWJsZS1tc2cge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5hdmFpbGFiaWxpdHktbXNnIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF2YWlsYWJpbGl0eS1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtc2l6ZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pc01hc3RlclByb2R1Y3Qge1xuICAgICAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hc3Rlci1wcm9kdWN0LXByaWNlLFxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXctb24tdmVoaWNsZSB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFByb2R1Y3Qgc2V0XG4gICAgLnNpemUtcHJpY2UtcXR5LWJveCB7XG4gICAgICAgIG1hcmdpbjogYXV0byAwIDA7XG5cbiAgICAgICAgLnByb2R1Y3Qtc2l6ZSxcbiAgICAgICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgICAgICAuYm94LXNwYWNpbmc6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlX19hY3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGVfX2FkZC10by1jYXJ0IHtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIGhlaWdodDogNjBweDtcblxuICAgICAgICAuYWRkLXRvLWNhcnQge1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29tcGFyZS1pdGVtcy1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5LW92ZXI7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDM7XG59XG5cbi5jb21wYXJlLWl0ZW1zIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyNDBweDtcblxuICAgIC5jb21wYXJlLWl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgICBtYXJnaW46IDMwcHggNTBweCAzMHB4IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTQ1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBhcmUtaXRlbS1uYW1lIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wYXJlLWl0ZW0tbnVtYmVyIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDExMHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wYXJlLWl0ZW0tcmVtb3ZlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC5jb21wYXJlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMjVweDtcbiAgICAgICAgcGFkZGluZzogMTVweCAyOHB4O1xuICAgIH1cblxuICAgIC5jb21wYXJlLWFjdGlvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4NHB4O1xuICAgIH1cbn1cblxuLml0YWxpYy10ZXh0IHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5maW5hbmNlLWluZm8ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTVweCk7XG4gICAgbWFyZ2luOiAyNXB4IDA7XG4gICAgcGFkZGluZzogMC41ZW07XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQge1xuICAgICAgICAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1jb21wYXJlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5jb21wYXJlLWxhYmVsLFxuICAgICAgICAgICAgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29tcGFyZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCArIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MTFcIjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxZGJcIjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlucHV0LWN1c3RvbSxcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC10aWxlLWFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWNvbXBhcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgICAgIC5jb21wYXJlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtdGlsZS1hY3RpdmUsXG4gICAgICAgIC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyIHtcbiAgICAgICAgICAgIC5yZWNvbW1lbmRlZC1iYWdkZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbXBhcmUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFya2VyLWdyYXktb3ZlcjtcblxuICAgICAgICAgICAgLmNvbXBhcmUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnN0YXJ0LW5ldy1zZWFyY2gtd3JhcHBlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGVuZDtcblxuICAgICAgICAubG9hZGVyIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0YXJ0LW5ldy1zZWFyY2gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweCAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgfVxuXG4gICAgLm1hdGNoZWQtcHJvZHVjdHMge1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgIH1cblxuICAgIC8vIHNlYXJjaCByZXN1bHRzIHRhYnNcbiAgICAudGFicy1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC5zZWFyY2gtcmVzdWx0cy10YWJzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAudGFicy10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAtNnB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMtcGFuZWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNvcnQtYnkge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtcmVzdWx0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zb3J0LWJ5IHtcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICNyZWZpbmVtZW50cy1jb250ZW50LXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMnB4IDRweCA1cHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkaXNhYmxlZC1ncmV5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNyZWZpbmVtZW50cy1jb250ZW50LXRyaWdnZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5yZWZpbmVtZW50cy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5yZWZpbmVtZW50cyB7XG4gICAgICAgIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuICAgICAgICBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tY2lyY2xlLXRoaW4sXG4gICAgICAgIC5pY29uLWNpcmNsZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlZmluZW1lbnRzLWNvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNDRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAzN3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgICAgIG1hcmdpbjogLTVweCAwIDEwcHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGNcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBiXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmlzLXN1Ym1lbnUtaXRlbSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4IDFweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpLnNlbGVjdGVkIGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC8vIE5lZWQgSGVscCBhbmQgUmVzb3VyY2UgQ2VudHJlXG4gICAgLmluZm8tYm94IHtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmtncmV5MSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTRweDtcblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGl2ZSBDaGF0IGJveFxuICAgIC5saXZlLWNoYXQtYm94IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBib3JkZXItZ3JleSk7XG4gICAgICAgIG1hcmdpbjogNTBweCAwIDQwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM3NXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDE0cHggMDtcbiAgICAgICAgd2lkdGg6IDIxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiA1MHB4IDIwcHggNDBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDMxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4MHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMycHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGl2ZS1jaGF0LW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5uZWVkLWhlbHAtYm94IHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tbGl2ZWNoYXQge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGFnZXMgdGFiXG4gICAgLnNlYXJjaC1yZXN1bHRzLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb2xkZXItY29udGVudC1saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDUwcHg7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucmVhZG1vcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXNvdXJjZS1jZW50ZXIge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2hhbmdlIGxvY2F0aW9uXG4gICAgLmNoYW5nZS1sb2NhdGlvbi1ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI25ld1NlYXJjaE1vZGFsIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5zZWxlY3Rvci1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFkZC1yZWFyLXNpemUsXG4gICAgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgICAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5jbG9zZV9idXR0b24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IHtcbiAgICAgICAgLm1hdGNoZWQtcHJvZHVjdHMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVmaW5lbWVudHMtd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0NXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCB7XG4gICAgICAgIC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNvcnQtYnkge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNyZWZpbmVtZW50cy1jb250ZW50LXdyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAucmVmaW5lbWVudHMge1xuICAgICAgICAgICAgLnJlZmluZW1lbnRzLWNvbnRlbnQsXG4gICAgICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50LFxuICAgICAgICAgICAgLmNsZWFyLWZpbHRlcnMge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMCAxMnB4IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2xlYXItZmlsdGVycyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWZpbmVtZW50LXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG5cbiAgICAgICAgICAgICYuc2l6ZXMtdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucGRwLW1haW4ge1xuICAgIC8vIEVuZCBTbGlkZXJcblxuICAgIC8vIFByb2R1Y3QgT3ZlcnZpZXdcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgLnByb2R1Y3QtYmFkZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC5icmFuZC1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAucGRwLXRvcC1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtc2V0LWxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAucHJvZHVjdC1zZXQtaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgLnF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNzVweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc2V0LWRldGFpbHMge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDMwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweCAwIDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogOHB4IDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkLWFsbC10by1jYXJ0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNldC1hdHRyLXRpdGxlcyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG5cbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cblxuICAgICAgICAudmFsdWUtZnJvbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweCAxMnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlLXJlYXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDEycHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLm1hbnVmYWN0dXJlci1udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIH1cblxuICAgIC5tdWx0aXBsZS1tYW51ZmFjdHVyZXItbnVtYmVycyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudGl0bGUtbWFpbi1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxOHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmV2aWV3LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm92ZXJ2aWV3LFxuICAgIC5wcm9kdWN0LWRlc2NyaXB0aW9uLFxuICAgIC50ZXN0LXJlc3VsdHMsXG4gICAgLnByb2R1Y3Qtc2l6ZXMsXG4gICAgLnJhdGluZy1ib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB9XG5cbiAgICAjcHJvZHVjdERlc2NyaXB0aW9uLFxuICAgICN0ZXN0UmVzdWx0cyxcbiAgICAjcmFpdGluZ1Jldmlld3MsXG4gICAgI3Byb2R1Y3RTaXplcyB7XG4gICAgICAgIHNjcm9sbC1tYXJnaW4tdG9wOiAxMjBweDtcbiAgICB9XG5cbiAgICAvLyBTbGlkZXJcbiAgICAucHJvZHVjdC1pbWFnZS1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXRodW1ibmFpbHMge1xuICAgICAgICBtYXJnaW46IDEwcHggMTBweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDY2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRvcC1wYWRkaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXNsaWRlciB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICAgICYuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGh1bWIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLW5leHQsXG4gICAgICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNsaWNrLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kaXNhYmxlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICByaWdodDogLTE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMjNweDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MTRcIjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgbGVmdDogLTE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODEzXCI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwZVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICAmLnNsaWNrLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIC5wcm9kdWN0dGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1jYXJvdXNlbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI3MnB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzE3cHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODVweCk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgJi5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52aWRlb1dyYXBwZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vdmVydmlldyB7XG4gICAgICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcblxuICAgICAgICAgICAgICAgICYudHJhaWxlci10aXJlLWF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY2F0ZWdvcnktYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXJldmlldyB7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByaWNlIFF0eSBhbmQgQWRkIHRvIGNhcnQgc2VjdGlvbnNcbiAgICAucHJpY2UtcmlnaHQtYm94IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDQwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2Utd3JhcCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLXJpZ2h0LWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnZlbnRvcnkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmludmVudG9yeSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3RvdGFsUHJpY2VTZWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcblxuICAgICAgICAgICAgICAgIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCAwIDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtbGFiZWwsXG4gICAgICAgIC5xdWFudGl0eSAucXVhbnRpdHktdG90YWwsXG4gICAgICAgIC5xdWFudGl0eSBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLXNhbGVzIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcblxuICAgICAgICAgICAgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXG4gICAgICAgICAgICAgICAgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcm9kdWN0IGRlc2NyaXB0aW9uXG4gICAgLnByb2R1Y3QtZGVzY3JpcHRpb24ge1xuICAgICAgICAubG9uZy1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDgwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzVweCAwIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJlLXBsYW4ge1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEthbCdzIHRlc3QgcmVzdWx0c1xuICAgIC50ZXN0LXJlc3VsdHMge1xuICAgICAgICAuZHJpdmVyLW5vdGVzLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kcml2ZXItbm90ZXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cblxuICAgICAgICAuZHJpdmVyLW5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXN0aW5nLXZpZGVvLWJveCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnF1ZXN0aW9ucyB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW5saW5lLXF1ZXN0aW9uLW1hcmsge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2Vhc29uLXRpdGxlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hdHRyaWJ1dGUtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2Vhc3NvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDclO1xuXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFiZWwtdGl0bGUge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFiZWwtdGl0bGUtYm9sZCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJhaXRpbmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuICAgICAgICAgICAgW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2l6ZXMgJiBTcGVjc1xuICAgIC5wcm9kdWN0LXNpemVzIHtcbiAgICAgICAgLm1vZGVsLXNwZWNzIHtcbiAgICAgICAgICAgIC5tb2RlbC1ib3gge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2RlbC1zaXplIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZpZXctYWxsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDdweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOXB4IDEycHg7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5maW5pc2hfYXR0cmlidXRlIC52YWx1ZTpub3QoLnZhbHVlLXJlYXIpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmFsdWUtcmVhciB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxvYWQtcmFuZ2UtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vc3R5bGUgaWYgcHJvZHVjdCBpcyBzZXJ2aWNlIHR5cGVcbiAgICAuc2VydmljZS1pbmZvLXdyYXBwZXIge1xuICAgICAgICAubGVmdC1pbmZvIHtcbiAgICAgICAgICAgIC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJpZ2h0LWluZm8ge1xuICAgICAgICAgICAgLm5ld3NlYXJjaC10aXJlc2VsZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAuaW5pdC1zZWxlY3RvciB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWluZm8tY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXJlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlbC1pbmZvIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNpemVzICYgU3BlY3MgLSBtYXN0ZXIgcHJvZHVjdFxuLnByb2R1Y3Qtc2l6ZS10YWJzIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtZ3JvdzogaW5pdGlhbDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi50cmFpbGVyLWxvYWQtcmFuZ2UtdGFicyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC50YWJzLXRpdGxlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjIlO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDFyZW07XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwZVwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubG9hZC1yYW5nZS1hbmNob3Ige1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtIDFyZW07XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICA+IGE6Zm9jdXMsXG4gICAgICAgID4gYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgIGEsXG4gICAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCB7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLnRhYnMtcGFuZWwge1xuICAgICAgICBwYWRkaW5nOiAyLjc1cmVtIDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudHJhaWxlci1sb2FkLXJhbmdlLW9wdGlvbnMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXNpemUtdGFicyB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGFicy10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpcmUtc2l6ZS1vcHRpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHJhaWxlci10aXJlLXNpemUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaW1hZ2UtdG9vbHRpcCB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDVweCAwIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiA1cHggMCAwIDIwcHg7XG4gICAgfVxuXG4gICAgLmhhcy10aXAge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxufVxuXG4udG9vbHRpcC5pbWctdGlwIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBib3gtc2hhZG93OiAwIDAgNTVweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1heC13aWR0aDogMjYwcHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGgxIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDdweCAxNXB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgIH1cblxuICAgICYudG9wIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBNYXN0ZXIgUERQXG4ucGRwLW1hc3RlciB7XG4gICAgLnByb2R1Y3Qtc2l6ZWYsXG4gICAgLnByb2R1Y3Qtd2hlZWxzaXplZiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIGJyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC5wZHAtbWFpbiB7XG4gICAgICAgIC8vIFByb2R1Y3QgT3ZlcnZpZXdcbiAgICAgICAgLmJhZGdlcy1ib3gge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1iYWRnZSxcbiAgICAgICAgLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b3AtaW5mby1wcm9kdWN0LWJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgLy8gUERQIG5hdmlnYXRpb24gLSBqdXN0IGZvciBsYXJnZVxuICAgIC5wZHAtbmF2IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgd2lkdGg6IDIwJTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wZHAtbWFpbiB7XG4gICAgICAgIC5wcm9kdWN0LXNpemVzIHtcbiAgICAgICAgICAgIC5hdHRyLWNvbHVtbiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ1JTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jb21wYXJlLXBhZ2Uge1xuICAgIC8vIGhvcml6b250YWwgc2Nyb2xsIGZvciBtZWRpdW1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIC5zY3JvbGwtc2VjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG5cbiAgICAgICAgICAgICYubm8tbWFyZ2luIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZS1ib3JkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50d28tY29sdW1ucyB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgLnRpdGxlLWJvcmRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIC50aXRsZS1ib3JkZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aHJlZS1jb2x1bW5zIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAudGl0bGUtYm9yZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgLnRpdGxlLWJvcmRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNtYWxsLWRldmljZS1tZXNzYWdlIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbWFyZ2luOiAxMDBweCAwIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gICAgfVxuXG4gICAgYS5iYWNrIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICBtYXJnaW46IDAgMCA1MHB4O1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1jb2x1bW4ge1xuICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUsXG4gICAgICAgICAgICAudGVzdC1zY29yZSAuc2Vhc29uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvbXBhcmUtdGFibGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcblxuICAgICAgICAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGN1c3RvbSBncmlkIGZvciBjb21wYXJlIHBhZ2VcbiAgICAudHdvLWNvbHVtbnMge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRocmVlLWNvbHVtbnMge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNDA1NzVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNDA1NzVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4xODY1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByb2R1Y3QgVGlsZXMgY29udGFpbmVyXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgJXJlbW92ZVByb2R1Y3RJY29uIHsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgICAgICAgICAgICAgIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICArIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAlcmVtb3ZlUHJvZHVjdEljb247XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kICVyZW1vdmVQcm9kdWN0SWNvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVjb21tZW5kZWQtYmFnZGUsXG4gICAgICAgIC5wcm9tby1iYWRnZSxcbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyxcbiAgICAgICAgLmF2YWlsYWJpbGl0eS1tc2csXG4gICAgICAgIC5wcm9kdWN0LXNpemUsXG4gICAgICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2UsXG4gICAgICAgIC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYmFkZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDI1cHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmJyYW5kLW5hbWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYW1lLWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLXF0eS1ib3gge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG5cbiAgICAgICAgICAgIC5wcmljZS1zYWxlcyxcbiAgICAgICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMgKyAucmViYXRlIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmludmVudG9yeSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnF1YW50aXR5IHtcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgaW5wdXQucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLy8gQ2F0ZWdvcnkgc2VjdGlvblxuICAgIC5jYXRlZ29yaWVzIHtcbiAgICAgICAgLmNhdGVnb3J5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgY29sb3I6ICRjb21wYXJlLWdyYXk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdW1tYXJ5IHNlY3Rpb24gYW5kIFRpcmUgU3BlY3Mgc2VjdGlvblxuICAgIC5zdW1tYXJ5LFxuICAgIC50aXJlLXNwZWNzIHtcbiAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDEycHg7XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOXB4IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBLYWwncyBUZXN0IFNjb3Jlc1xuICAgIC50ZXN0LXNjb3JlIHtcbiAgICAgICAgLnNlY3Rpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmF0dHJpYnV0ZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwtdGl0bGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDc1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhaXRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB3aWR0aDogNzVweDs7XG4gICAgICAgIH1cblxuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbiAgICAgICAgW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFzb24tdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbWFsbC1kZXZpY2UtbWVzc2FnZSB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBtYXJnaW46IDEwMHB4IDAgMDtcblxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICAgIH1cblxuICAgIGEuYmFjayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY29sdW1uIHtcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLXRpdGxlLFxuICAgICAgICAgICAgLnRlc3Qtc2NvcmUgLnNlYXNvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTllbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNjb21wYXJlLXRhYmxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG5cbiAgICAgICAgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXdpbnRlci11c2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjdXN0b20gZ3JpZCBmb3IgY29tcGFyZSBwYWdlXG4gICAgLnR3by1jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aHJlZS1jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi4xODY1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjQwNTc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjQwNTc1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMTg2NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcm9kdWN0IFRpbGVzIGNvbnRhaW5lclxuICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICVyZW1vdmVQcm9kdWN0SWNvbiB7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICAgICAgICAgICAgICAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgKyAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgJXJlbW92ZVByb2R1Y3RJY29uO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAlcmVtb3ZlUHJvZHVjdEljb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAgICAgICAucHJvbW8tYmFkZ2UsXG4gICAgICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMsXG4gICAgICAgIC5hdmFpbGFiaWxpdHktbXNnLFxuICAgICAgICAucHJvZHVjdC1zaXplLFxuICAgICAgICAudGVzdGVkLWJ5a2FsLWJhZGdlLFxuICAgICAgICAuYWRpdGlvbmFsLWRldGFpbHMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWJhZGdlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyNXB4O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC5icmFuZC1uYW1lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmFtZS1saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gUmV2aWV3c1xuICAgICAgICAucHJvZHVjdC1yZXZpZXcge1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2FfczI4X3JhdGluZyxcbiAgICAgICAgICAgIC5zYV9zMjhfcG9pbnRzX3JhdGluZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2FfczI4X2xlZnRCcmFja2V0cyxcbiAgICAgICAgICAgIC5zYV9zMjhfcHJvZHVjdFJldmlld0NvdW50LFxuICAgICAgICAgICAgLnNhX3MyOF9tYXN0ZXJDYXRlZ29yeVBhZ2VUZXh0LFxuICAgICAgICAgICAgLnNhX3MyOF9jaGlsZENhdGVnb3J5UGFnZVRleHQsXG4gICAgICAgICAgICAuc2FfczI4X3JpZ2h0QnJhY2tldHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zYV9zMjhfcG9pbnRzX3JhdGluZyB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtcXR5LWJveCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcblxuICAgICAgICAgICAgLnByaWNlLXNhbGVzLFxuICAgICAgICAgICAgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyArIC5yZWJhdGUge1xuICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAuaW52ZW50b3J5IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIH1cblxuICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBpbnB1dC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYWRkLXRvLWNhcnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAvLyBDYXRlZ29yeSBzZWN0aW9uXG4gICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN1bW1hcnkgc2VjdGlvbiBhbmQgVGlyZSBTcGVjcyBzZWN0aW9uXG4gICAgLnN1bW1hcnksXG4gICAgLnRpcmUtc3BlY3Mge1xuICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMTJweDtcblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEthbCdzIFRlc3QgU2NvcmVzXG4gICAgLnRlc3Qtc2NvcmUge1xuICAgICAgICAuc2VjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXR0cmlidXRlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYWJlbC10aXRsZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzVweCk7XG4gICAgICAgIH1cblxuICAgICAgICAucmFpdGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG4gICAgICAgIFtjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2Vhc29uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcm9kdWN0IHNldFxuICAgIC5wcm9kdWN0LXNldCB7XG4gICAgICAgIC8vIFByb2R1Y3QgdGlsZXMgc2VjdGlvblxuICAgICAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgLnByb2R1Y3Qtc2l6ZSB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaXplLXByaWNlLXF0eS1ib3gge1xuICAgICAgICAgICAgLmJveC1zcGFjaW5nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXNpemUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxOCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlUXR5Q29tcGFyZUZvcm0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDgyJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9tb3Rpb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1zZXQtaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXNldC1kZXRhaWxzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDY1JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MyU7XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcmljZS1zYWxlcyxcbiAgICAgICAgICAgICAgICAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMnB4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkZC1zdWItcHJvZHVjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAzNSU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdW1tYXJ5IGFuZCBUaXJlIFNwZWNzIHNlY3Rpb25zXG4gICAgICAgIC5zZXQtYXR0ci10aXRsZXMge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEycHggMTJweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNldC1hdHRyaWJ1dGUtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDE4JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VtbWFyeSxcbiAgICAgICAgLnRpcmUtc3BlY3Mge1xuICAgICAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgPiAudmFsdWUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTglO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM0JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aXJlLXNwZWNzIHtcbiAgICAgICAgICAgIC52YWx1ZS1yZWFyIHtcbiAgICAgICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmluaXNoX2F0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY2JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudmFsdWU6bm90KC52YWx1ZS1yZWFyKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmZpbmFuY2luZy1ibG9ja3Mge1xuICAgICYuYWN0aXZlLXBsYW4ge1xuICAgICAgICAuY2ItY29sdW1uLWNoaWxkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLWNvbHVtbi1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOTBweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwLmZpbmFuY2luZy1tb250aC10ZXh0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzBweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xuXG4gICAgICAgICAgICArcC5maW5hbmNpbmctc21hbGwtaW5mbyB7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctaW5mbyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNDVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAuZmluYW5jaW5nLXNtYWxsLWluZm8ge1xuICAgICAgICAgICAgYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCBhdXRvIDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0ZXBzLXRvLXRha2Uge1xuICAgICAgICAuY2ItY29sdW1uLWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjogN3B4IHNvbGlkICMxZTFlMWU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MzhweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICAgICBoMixcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwLmZpbmFuY2luZy1zbWFsbC1pbmZvIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzcHgpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjExNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCAxOHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cblxuLmF0cm9vdCB7XG4gICAgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMSksXG4gICAgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMikge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZmYzOTAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmYzOTAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDM3JTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxhc3QtbW9udGhseS1jb2x1bW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjI7XG4gICAgfVxuXG4gICAgLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYi1jb2x1bW4tY2hpbGQge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOTBweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctbW9udGgtdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwcHgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctaW5mby0xLFxuICAgICAgICBwLmZpbmFuY2luZy1pbmZvLTIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctaW5mby0xIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAuZmluYW5jaW5nLWluZm8tMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAuZmluYW5jaW5nLXNtYWxsLWluZm8ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgcC5maW5hbmNpbmctaW5mby0xLFxuICAgICAgICAgICAgICAgIHAuZmluYW5jaW5nLWluZm8tMiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwLnRlcm1zLWNvbmRpdGlvbnMge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNiLWNvbHVtbi1jaGlsZC1jb3B5LnNpbmdsZS1jb2x1bW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHAudGVybXMtY29uZGl0aW9ucyB7IFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmluYW5jaW5nLWFwcGx5LW5vdy1jdGEge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBhIHtcbiAgICAgICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICB9XG5cbiAgICAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cbiIsIiNyZXN1bHRzLWluZm8tZnJvbS1nc3Age1xuICAgIG1hcmdpbjogMjVweCAwIDUwcHg7XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cblxuICAgICNjaGFuZ2UtcmVzcG9uc2VzLWN0YSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICAgICYuY2F0Y29sb3ItYWxsLXdlYXRoZXIgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgIH1cblxuICAgICYuY2F0Y29sb3Itd2ludGVyIGg0IHNwYW4ge1xuICAgICAgICBjb2xvcjogJGJsdWUtd2hpdGVyO1xuICAgIH1cblxuICAgICYuY2F0Y29sb3ItMy1zZWFzb24gaDQgc3BhbixcbiAgICAmLmNhdGNvbG9yLWFsbC1zZWFzb24gaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlLXllbGxvdztcbiAgICB9XG5cbiAgICAmLmNhdGNvbG9yLXBlcmZvcm1hbmNlIGg0IHNwYW4ge1xuICAgICAgICBjb2xvcjogJHB1cnBsZS1kYXJrZXI7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci10b3VyaW5nIGg0IHNwYW4ge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cblxuICAgICYuY2F0Y29sb3ItbXVkLXRlcnJhaW4gaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkYnJvd24tZGFya2VyO1xuICAgIH1cblxuICAgICYuY2F0Y29sb3Itc3BvcnQtdHJ1Y2sgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW4td2hpdGVyO1xuICAgIH1cblxuICAgICYuY2F0Y29sb3ItYWxsLXRlcnJhaW4gaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkYnJvd247XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci1jb21tZXJjaWFsIGg0IHNwYW4ge1xuICAgICAgICBjb2xvcjogJGdyZXktMDE7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci11bHRyYS1oaWdoLXBlcmZvcm1hbmNlIGg0IHNwYW4ge1xuICAgICAgICBjb2xvcjogJGdyZXktMDI7XG4gICAgfVxufVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIC5hdHJvb3Qge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNnc3BNb2JpbGVDbG9zZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgcGFkZGluZzogMS41ZW0gMCAwLjc1ZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwLXF1ZXN0aW9uLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSksIDAuODUpO1xuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tbnVtYmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMWVtO1xuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgICAgIG1hcmdpbjogMCAxZW0gMCAtMy41ZW07XG4gICAgICAgIG1pbi13aWR0aDogMmVtO1xuICAgICAgICB3aWR0aDogMmVtO1xuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmtncmV5MSkgdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlLnBuZ1wiKSAtNDJweCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE5NHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkYXJrZ3JleTEpLCAwLjg1KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9rYWx0aXJlL3F1ZXN0aW9uLWhlYWRlci1pbWFnZUAyeC5wbmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjZweCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4JTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4zNzVlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjM3NWVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjk3NzVlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjk3NzVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjQwOTVlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMS40MDk1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5mYS10aW1lcyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0b3A6IDUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IHtcbiAgICAgICAgLmdzcEFuc3dlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjIuNXB4KTtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjIuNXB4KTtcbiAgICAgICAgICAgIGhlaWdodDogOC41ZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjJlbSAwLjkzNzVyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMjIuNXB4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjYyNXJlbSAxLjJlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMzMlIC0gMjBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDIwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMi41ZW07XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDIwJSAtIDIwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgc3BhbiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0OXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpLCAwLjQpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMS42ODc1cmVtO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRvcDogMS42ODc1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMy40Mzc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuNjg3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAzLjEyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMuNDM3NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSB7XG4gICAgICAgIC5nc3BBbnN3ZXIge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDJlbSAwIDAuNzVlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSksIDAuNyk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcHRpb24tYmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ3cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzLjc1ZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA5LjM3NWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIsXG4gICAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMge1xuICAgICAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIHtcbiAgICAgICAgLmdzcEFuc3dlciB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNC4xODc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDEuODc1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0LjE4NzVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDEuODc1cmVtO1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTQuMTg3NXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMS44NzVyZW07XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTIuMTNyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTUyNGVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzN3B4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciBzcGFuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiA0LjM3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNS42MjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMS42ODc1cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjAzNzVyZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwLjcyNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdG9wOiAwLjUyNXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMy4wMzc1cmVtO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyB7XG4gICAgICAgIC5nc3AtcXVlc3Rpb24tbnVtYmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMy43NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdzcEFuc3dlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAxLjg3NXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEzLjgxMjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNDM3NXJlbTtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogOC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAuODEyNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTlyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjI1ZW07XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMi41ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGg0LFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkLFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb24ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogLTQycHggNXB4IDA7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KSwgMC4yKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2VsZWN0ZWQgLm9wdGlvbixcbiAgICAub3B0aW9uOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIHtcbiAgICAuZ3NwLXF1ZXN0aW9uLWFuc3dlcnMgdWwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgLmdzcEFuc3dlciB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICAgICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZzo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIsXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubm9yZXN1bHRzLXBhZ2Uge1xuICAgIHAsXG4gICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgIC5zZWFyY2gtcGhyYXNlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgfVxuXG4gICAgLm5vcmVzdWx0cy1tZXNzYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICB9XG5cbiAgICAubmV3LXNlYXJjaCxcbiAgICAucmVsYXRlZC1zZWFyY2gsXG4gICAgLnJlc291cmNlLWNlbnRlciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgfVxuXG4gICAgLm5ldy1zZWFyY2gge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgN3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tc2VhcmNoIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlbGF0ZWQtc2VhcmNoIHtcbiAgICAgICAgLnJlZmluZW1lbnQtaGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VzdG9tZXItc2VydmljZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAsXG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5vcmVzdWx0cy1zZWxlY3RvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjg3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24uaG9sbG93IHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC5ub3Jlc3VsdHMtcGFnZSB7XG4gICAgICAgIC5ub3Jlc3VsdHMtbWVzc2FnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmtncmV5MSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA0NXB4IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlQDJ4LnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDU1MHB4IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAubm9yZXN1bHRzLXBhZ2Uge1xuICAgICAgICAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1MCUgY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnZpc3VhbGl6ZXItd3JhcHBlciB7XG4gICAgYm9yZGVyOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbn1cblxuLnZpc3VhbGl6ZXItY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLnZpc3VhbGl6ZXItaW1hZ2Uge1xuICAgICAgICAgICAgYm90dG9tOiA0LjE3NXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52aXN1YWxpemVyLXRvb2xzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWluaW1pemUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIH1cblxuICAgIC5icmFuZC1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLmZpbmlzaCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNjI1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbiAgICAuZmluaXNoLFxuICAgIC5hdHRyaWJ1dGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBlbSB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwZVwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIH1cblxuICAgIC52aXN1YWxpemVyLXRpcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWxhdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbi52aXN1YWxpemVyLWNhcm91c2VsIHtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDMuNXJlbSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jYXJvdXNlbC13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxNHJlbTtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLnYtY2Fyb3VzZWwtaXRlbSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgaGVpZ2h0OiAxNHJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGltZyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAuY3VycmVuY3ktY29kZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxufVxuXG4udmlzdWFsaXplci1jb2xvcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMS4yNXJlbSAwIDAuNjI1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbjogNXB4IDJweDtcbiAgICAgICAgbWluLXdpZHRoOiAxcmVtO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICB3aWR0aDogMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjExMVwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luOiAtMC41cmVtIDAgMCAtMC41cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3YtdmlzdWFsaXplci1sYXJnZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52aXN1YWxpemVyLXRvb2xzIHtcbiAgICAgICAgLm1pbmltaXplIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmV4cGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgfVxufVxuXG4uY2Fyb3VzZWwtYnRuIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDRyZW07XG4gICAgd2lkdGg6IDJyZW07XG5cbiAgICAmLnNsaWNrLWRpc2FibGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIH1cblxuICAgICYuY2Fyb3VzZWwtbmV4dCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgIH1cbn1cblxuI3YtcGRwLXRvcGxldmVsY29tcG9uZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAjdi12ZWhpY2xlLWltYWdlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE3LjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAucmVsYXRpdmUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jdi12aXN1YWxpemVyLWRlZmF1bHQtdmVoaWNsZS1zbWFsbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy8gTG9naW4gcGFnZSBzdHlsZXNcblxuLmxvZ2luLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBib3JkZXI6IDVweCBzb2xpZCByZ2JhKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSksIDAuOCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjgxM3JlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDQuMDYzcmVtO1xuICAgIH1cblxuICAgIC5wdF9jYXJ0ICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5ib3JkZXJlZC1lbmQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4zNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhc3N3b3JkLXJlc2V0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9naW4tcmVtZW1iZXJtZSB7XG4gICAgICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMS44NzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVycm9yLWZvcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTtcbiAgICB9XG5cbiAgICAubG9naW4tY3JlYXRlLWFjY291bnQgcCB7XG4gICAgICAgIG1hcmdpbjogMC4xODc1cmVtIDAgMS43NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2dpbi1wYWdlLXRpdGxlLFxuJWxvZ2luLXBhZ2UtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICBtYXJnaW46IDMwcHggMCAyLjkzNzVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgMi45Mzc1cmVtO1xuICAgIH1cbn1cblxuLy8gTW9kYWwgZGlhbG9nIHN0eWxpbmdcblxuLnVpLXdpZGdldC1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSwgMC45KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDtcbn1cblxuLnVpLXdpZGdldCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gICAgei1pbmRleDogMTAxO1xuXG4gICAgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kaWFsb2ctY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IDEuMDYyNXJlbSAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjY4NzVyZW0gMS44NzVyZW0gMi42ODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjE4NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktZGlhbG9nLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAzNXB4O1xuICAgICAgICB0b3A6IDEycHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHJpZ2h0OiA0N3B4O1xuICAgICAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWJ1dHRvbi1pY29uLW9ubHkge1xuICAgICAgICAudWktYnV0dG9uLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS1idXR0b24taWNvbi1wcmltYXJ5IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwZFwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZGI1YTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWRpYWxvZy1idXR0b25wYW5lIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW0gMS41ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm5vLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25wYW5lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYnV0dG9uLW1vZGFsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMThweDtcbiAgICB9XG59XG5cbi8vIFNob3cvSGlkZSBQYXNzd29yZCBidXR0b24gXG5cbi5wYXNzd29yZC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5maWVsZC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLnBhc3N3b3JkLWljb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMjBweDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2V5ZS1zaG93LXBhc3N3b3JkLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICB9XG5cbiAgICAmLnBhc3N3b3JkLXNob3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZXllLWhpZGUtcGFzc3dvcmQuc3ZnXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBSZXNldCBwYXNzd29yZCBkaWFsb2cgc3R5bGVzXG5cbi5mb3Jnb3QtcGFzc3dvcmQge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xufVxuXG4ucGFzc3dvcmQtcmVzZXQtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IDQycmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLXJvdyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjM3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4ucHRfYWNjb3VudCB7XG4gICAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuIiwiLnJlZ2lzdGVyLXBhZ2UtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0byAyLjVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuICAgICYuaGFzLXN1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cbn1cblxuLnJlZ2lzdGVyLWJyZWFkY3J1bWIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5yZWdpc3Rlci1mb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0Ljg3NXJlbTtcblxuICAgIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5pbmZvLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGRlbi1jYXB0aW9uIHtcbiAgICAgICAgLmZvcm0tY2FwdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5ld3NsZXR0ZXItdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wYWNrYWdlcy1zZWxlY3Rpb24ge1xuICAgIG1hcmdpbjogNDBweCAwIDE1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cblxuICAgIC5jaXJjbGUtaW5kaWNhdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA5MHB4O1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAucGstZWRpdC13aGVlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0ZXAtbnVtYmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC4zMTI1cmVtIDAgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgLnN0ZXAtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBjb2xvcjogI2Q5ZDlkYTtcblxuICAgICAgICAgICAgLnN0ZXAtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDlkOWRhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VsZWN0b3ItcGFja2FnZXMge1xuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWlkLWxpbmUtY29weSB7XG4gICAgICAgIG1hcmdpbjogMi41cmVtIDAgMi4zNzVyZW07XG4gICAgfVxuICAgIFxuXG4gICAgLm9lLXNpemUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWwtc3VidGl0bGUgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMThweDtcblxuICAgICAgICAgICAgJjpub3QoLnNlbC1zdWJ0aXRsZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYub2Utc2l6ZS1vcmFuZ2Uge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24taG92ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWhvdmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb25hbC1zaXplcy1oZWFkZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMTg3NXJlbTtcbiAgICAgICAgXG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93LXNlbGYtc2VydmljZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgfVxuXG4gICAgLm9lLXNpemUtY29udGFpbmVyIHtcbiAgICAgICAgLnNlY3Rpb24tdGl0ZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJ0aXRsZS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC55b3VyLXZlaGljbGUtaW5mbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUtdG9vbHRpcCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblxuICAgICAgICAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub2Utc2l6ZS1idG4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlY3Rpb24tcXVlc3Rpb24tY29weSBwIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblxuICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbi5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmcge1xuICAgIEBleHRlbmQgLnNlY3Rpb24tcXVlc3Rpb24tY29weTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzEyNXJlbTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbn1cblxuLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZy1tYWluIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxufVxuXG4ucGFja2FnZXMtc3RhZ2dlcmVkIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgXG4gICAgLnBhY2thZ2Utc3RhZ2dlcmVkLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciB7XG4gICAgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IDcwcHggMCAxMDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMjVweCAwIDEzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDEsXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAxLjRyZW0gMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZXMtdGFicy1uYXYtd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZXMtdGFicy1uYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSBhIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXI6OmFmdGVyLFxuICAgICAgICAgICAgJi5hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZXNNYWluQ29udGVudFdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDQ1cHggMCAxMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiA3NXB4IDAgMTE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlcy1sYW5kaW5nLWhlYWQge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLnNtYWxsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlcy1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGJvcmRlcjogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDdweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZXMtaXRlbS1pbWcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDM1LjMzMiU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlcy1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2NC42NyU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAxOHB4O1xuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA4cHggMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDExcHggMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlcy1pdGVtLXR5cGUtcm93IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAucmViYXRlcy1pdGVtLXR5cGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZXMtaXRlbS10eXBlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEzcHg7XG5cbiAgICAgICAgJi5ibGFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIi5icmFuZHMtbGFuZGluZy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyYW5kcy1wYWdlLXRpdGxlIHtcbiAgICAgICAgQGV4dGVuZCAlbG9naW4tcGFnZS10aXRsZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyYW5kcyxcbiAgICAuZmVhdHVyZWQtYnJhbmRzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjE4NzVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJhbmRzLXNsb3QgZGl2IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogMS44cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJhbmRzIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgIH1cblxuICAgIC5icmFuZHMtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDhyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZmVhdHVyZWQtYnJhbmRzLWl0ZW0ge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDcuMTg3NXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjNyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0LjA2MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icmFuZC1iYW5uZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgICBwYWRkaW5nOiA0cmVtIDAgM3JlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgIHBhZGRpbmc6IDguNzVyZW0gMCA4LjI1cmVtO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgxLFxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjdweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icmFuZC1iYW5uZXItd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjMxMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMy43NXJlbTtcbiAgICB9XG5cbiAgICAuYnJhbmQtYmFubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzklIDIwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4LjEyNXJlbSAwIDguMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icmFuZC1tZW51LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjMxMjVyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMzJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjMxMjVyZW07XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0ZWQsXG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icmFuZC1wYWdlLXRpdGxlIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4xMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmFib3V0LWJyYW5kLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbixcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIH1cblxuICAgIC5hYm91dC1icmFuZC10b3Age1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIH1cbn1cblxuLmJyYW5kLXBhZ2UtcHJvZHVjdHMge1xuICAgIC5ncmlkLXRpbGUge1xuICAgICAgICBAZXh0ZW5kIC5sYXJnZS0zOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gICAgfVxuXG4gICAgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAgIC5wcm9kdWN0LWNvbXBhcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxufVxuIiwiLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIge1xuICAgIC5jb250YWN0LXVzLW1hcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3R1cy1iYW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgICAgICAgcGFkZGluZzogNHJlbSAwIDNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiA4Ljc1cmVtIDAgOC4yNXJlbTtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFjdHVzLWJhbm5lci10ZXh0LWJsb2NrIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2N3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZHMtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtYmxvY2sge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmNvbnRhY3Qtb3BlbmluZ2RheXMge1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuY29udGFjdC1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOGU4ZTk7XG4gICAgfVxuXG4gICAgLmNvbnRhY3R1cy1oZWxwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICB9XG5cbiAgICAuY29udGFjdC1hbGlnbi1jb21wbGVtZW50IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYS1iICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgfVxuXG4gICAgLmNvbnRhY3R1cy1iYW5uZXItd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMy43NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0dXMtYmFubmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNS42MjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOC4xMjVyZW0gMCA4LjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3R1cy1wYWdlLXRpdGxlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0dXMtaGVscC1jYXJkcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICAgICAgLmNhcmRzLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYmxvY2sge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4yZW07XG4gICAgICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkcy1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cblxuICAgICAgICAuYXNzaXN0YW5jZS1ibG9jayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgICAuYXNzaXN0YW5jZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFzc2lzdGFuY2UtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogI2Y2MDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRhY3R1cy1hZGRyZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFkZHJlc3MtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgIH1cblxuICAgIC5hZGRyZXNzLWxvY2F0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYWRkcmVzcy1kaXJlY3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICAuYWRkcmVzcy13b3JraW5naG91cnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbn1cbiIsIkBtZWRpYSBwcmludCB7XG4gICAgYVtocmVmXTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24ge1xuICAgICAgICBtYXJnaW46IDVtbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmhlYWRlci1iYW5uZXIsXG4gICAgICAgIC5oZWFkZXItbmF2LFxuICAgICAgICAucHJpbnQtbGluayxcbiAgICAgICAgLmxvZ2luLWNyZWF0ZS1hY2NvdW50LFxuICAgICAgICAubmVlZC1oZWxwLWNoZWNrb3V0LFxuICAgICAgICAuZm9vdGVyLXdyYXBwZXIsXG4gICAgICAgIC5mb290ZXItY29weS13cmFwcGVyLFxuICAgICAgICAudG9wLWJhci1yaWdodCxcbiAgICAgICAgLmFkZC10by1jYWxlbmRhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF0cm9vdCxcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGVja2VkLWljb24ge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmZjY5MDAgaW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItbWFpbi1uYXYge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgICAgICAgICAgIC5oZWFkZXItbG9nby1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE1bW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItaW5mb3JtYXRpb24ge1xuICAgICAgICAgICAgICAgIC5vcmRlci1kYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgICAucHJvZHVjdG5hbWUtY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDMzLjY2NjY3JTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMy42NjY2NyU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByb2R1Y3R2YWx1ZXMtY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDY2LjMzMzMzJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2Ni4zMzMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1yb3csXG4gICAgICAgICAgICAuc2VydmljZS1yb3cge1xuICAgICAgICAgICAgICAgIC5vcmRlcmRldGFpbHMtcHJvZHVjdG5hbWUge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMuNjY2NjclO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzLjY2NjY3JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAub3JkZXJkZXRhaWxzLXByb2R1Y3R2YWx1ZXMge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNjYuMzMzMzMlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY2LjMzMzMzJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGluZS1pdGVtLXByaWNlLFxuICAgICAgICAgICAgICAgIC5saW5lLWl0ZW0tcXVhbnRpdHksXG4gICAgICAgICAgICAgICAgLmxpbmUtaXRlbS10b3RhbCB7XG4gICAgICAgICAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1bW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMm1tIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wZXJzb25hbC1wYXltZW50LWluZm8ge1xuICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgICYuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbWFsbC0xMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBheW1lbnQtdmVyaWZpY2F0aW9uIC5zZWN0aW9uLWJveCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc3BlY2lmaWMtbWVzc2FnZXMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmVlZC1jaGFuZ2VzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjaW5zaWRlX2hvbGRlcixcbiAgICAubWFpbk5hdkxpdmVDaGF0Q1RBIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIucGFnZS1pYW0tc3RvcmUtbG9jYXRvciB7XG4gICAgLnBhYy1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4ucHRfc3RvcmUtbG9jYXRvciB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiA1MHB4IDAgMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2ZpbHRlcnMtY29udGVudC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB2ZWhpY2xlIHR5cGVzIGljb25zXG4gICAgLnZlaGljbGUtdHlwZXMtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDE2IDApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDQwIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlaGljbGUtdHlwZXMtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC52ZWhpY2xlLXJhZGlvLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnZlaGljbGUtdHlwZXMtdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgLnZlaGljbGUtdHlwZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBlcnNvbmFsLXZlaGljbGUtbGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9wZXJzb25hbC5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tbWVyY2lhbC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvY29tbWVyY2lhbC5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAuZmxlZXQtdmVoaWNsZS1sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL2ZsZWV0LnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wZXJzb25hbC12ZWhpY2xlLWxhYmVsLFxuICAgICAgICAuY29tbWVyY2lhbC12ZWhpY2xlLWxhYmVsLFxuICAgICAgICAuZmxlZXQtdmVoaWNsZS1sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wIDI4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpoYXMoaW5wdXQ6Y2hlY2tlZCkge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBlcnNvbmFsLXZlaGljbGUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvcGVyc29uYWwtc2VsZWN0ZWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29tbWVyY2lhbC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL2NvbW1lcmNpYWwtc2VsZWN0ZWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgLmZsZWV0LXZlaGljbGUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvZmxlZXQtc2VsZWN0ZWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJyaWdodC1ncmV5KTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52ZWhpY2xlLXR5cGUtaWNvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnZlaGljbGUtdHlwZS10b29sdGlwIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDMpO1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg2MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24taXRlbS1zdW1tYXJ5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbn1cblxuLnN0b3JlLWxvY2F0b3ItcGFnZS13cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiA2ODVweDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICBtaW4taGVpZ2h0OiA4MjBweDtcbiAgICB9XG59XG5cbi5zdG9yZS1sb2NhdG9yLXBhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuXG4gICAgLmxpc3QtdmlldyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9ucy1saXN0IHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAxNik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA0MCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMTYgMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgNDAgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgN3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMS41cHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGFydF9sb2NhdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMzUpO1xuXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLWZpZWxkLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5pY29uLXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaWNvbi1jYW5jZWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9yZS1maWx0ZXJzIHtcbiAgICAgICAgLmJyZWFkY3J1bWJzLWZpbHRlcnMgLmJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxM3B4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY2xlYXItZmlsdGVycyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5icmVhZGNydW1iLWZpbHRlciB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgMjAgNSA1KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jbGVhci1icmVhZGNydW1iLWZpbHRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygyKTtcbiAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2xlYXItZmlsdGVycyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5icmVhZGNydW1icy13cmFwcGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxNik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCA0MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVycy13cmFwcGVyIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgLmZpbHRlcnMtYnV0dG9uOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlcnMtYnV0dG9uLFxuICAgICAgICAuZmlsdGVycy10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlcnMtYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwZlwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2ZpbHRlcnMtY29udGVudC13cmFwIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDE0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMTYpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAxNiAwIDQwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTYpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2xlYXItZmlsdGVycy1idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHZlcnktbGlnaHQtZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWx0ZXJzLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVycy1vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjc4cHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICB9XG5cbiAgICAuc3RvcmUtZmlsdGVyIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSxcbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAwIDAgMjQpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjFkYlwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjExMVwiO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCArIGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHZlcnktbGlnaHQtZ3JleSk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZpbHRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9ucy1ib3gge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAubG9jYXRpb24taXRlbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg5KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE2KTtcblxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4xMjVyZW0gY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWxpZ2h0LWxpZ2h0LWdyYXk7XG5cbiAgICAgICAgICAgICAgICAucHItc25pcHBldC1zdGFycy5wci1zbmlwcGV0LXN0YXJzLXBuZyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tbGlnaHQtbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wci1zbmlwcGV0LXJhdGluZy1kZWNpbWFsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3RvcmUtZGV0YWlscy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNiLWN0YSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2Nyb2xsLWxvYWRlciB7XG4gICAgICAgICAgICBib3R0b206IC03MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2NhdGlvbi1pdGVtLWlubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob25lLW51bWJlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvY2F0aW9uLWl0ZW0tZGlzdGFuY2Uge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24taXRlbS1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTApO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5pY2tuYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXAtdmlldyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuZXJyb3ItY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA0MHB4IDE1cHggMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2FkZXIge1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cblxuICAgICAgICAuZ3BzLXRvZ2dsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2RkZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnB0X3N0b3JlLWxvY2F0b3Ige1xuICAgICNmaWx0ZXJzLWNvbnRlbnQtd3JhcC5leHBhbmRlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAubWFwLXZpZXcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC52aWV3LW1hcC1idG4ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICAgICAgLmFjdGl2ZS1idG4tdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgLmJ0bi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbnMtYm94IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG4jbWFwLWJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hcC1iYWNrZ3JvdW5kLWdyZXk7XG4gICAgbWluLWhlaWdodDogMzIwcHg7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSB7XG4gICAgICAgICNtYXAtYm94IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIH1cblxuICAgICAgICAubWFwLXZpZXcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubGlzdC12aWV3IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNzhweDtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLWZpbHRlci1ib3gge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaC1jb250YWluZXIge1xuICAgICAgICAgICAgLnN0YXJ0X2xvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHRfc3RvcmUtbG9jYXRvciB7XG4gICAgICAgICNmaWx0ZXJzLWNvbnRlbnQtd3JhcC5leHBhbmRlZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDI3OHB4KTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvY2F0aW9ucy1ib3gge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLnRvZGF5cy1ob3Vycy10b2dnbGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAuc3RvcmUtaG91cnMtZXhwYW5kZWQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgIC5zdG9yZS1zY2hlZHVsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWhvdXJzLWNvbGxhcHNlZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOCk7XG5cbiAgICAgICAgKiB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwZlwiO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgLnN0b3JlLWhvdXJzLWNvbGxhcHNlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGVcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdG9yZS1ob3Vycy1leHBhbmRlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRvZGF5cy1ob3Vycy1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5zdG9yZSB7XG4gICAgJi1jbG9zZWQge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCByZWQtYWNjZXNzaWJsZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgICYtb3BlbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGdyZWVuLWFjY2Vzc2libGUpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi5zdG9yZS1ob3Vycy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgfVxufVxuXG5cbi5zdG9yZS1zY2hlZHVsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBzdGFydDtcblxuICAgIC5zdG9yZS1kYXkge1xuICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgfVxufVxuIiwiLmFsbC1zdG9yZXMge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjJweDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG5cbiAgICAgICAgICAgICZbYXJpYS1oaWRkZW49ZmFsc2VdIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNpdHktbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBtYXJnaW46IDVweCAwIC0ycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIC5zdG9yZS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLm1lbnUgLmNpdHktYm94IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi5zdG9yZS1kZXRhaWxzLXBhZ2Uge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMjAgMjApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIC5tYXAtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDEwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLnJvdy1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdG9yZS1ob3VycyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5tZW51Lm5lc3RlZCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIC5tYXAtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgI21hcCxcbiAgICAgICAgI3N0cmVldHZpZXcge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAucm93LXNlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3JlLWhvdXJzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucGx1cy1taW51cy1hY2NvcmRpb24gLm1lbnUubmVzdGVkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJi5zdG9yZS1hZGRyZXNzIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgIH1cblxuICAgIC5zdG9yZS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICAubmlja25hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcge1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIH1cblxuICAgIC5saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9yZS1jb250YWN0LWluZm8ge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWhvdXJzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuXG4gICAgLmJvbGQtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgfVxuXG4gICAgLmFib3V0LWxvY2F0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9yZS1hbWVuaXRpZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub2ZmZXJlZC1zZXJ2aWNlLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgICAgYTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIGE6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3JlLXNlcnZpY2VzLWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgNDAgNDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtdGl0bGUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMzUgMCAyMCk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RvcmUtc2VydmljZXMtbGlzdCB7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgY29sdW1uLWNvdW50OiA0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcC1jb250YWluZXIge1xuICAgICAgICB1bCBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDExMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAmLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYS51aS10YWJzLWFuY2hvciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlLW1haW4tc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMThweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnJldmlldy10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDMwIDAgMjApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3RvcmUtbG9jYXRpb24taW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cblxuICAgIC5zdG9yZS1kaXN0YW5jZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cbn1cblxuLnN0b3JlLWxvY2F0b3ItcGFnZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdG9yZS1kZXRhaWxzLXNpZGViYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMjBweCk7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgbWFyZ2luLXRvcDogMzIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogLTQwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuNHMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICB9XG5cbiAgICAmLm9wZW4ge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYXAtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgLmdtbm9wcmludCxcbiAgICAgICAgLmdtLWNvbnRyb2wtYWN0aXZlLFxuICAgICAgICAuZ20taXYtYWRkcmVzcyxcbiAgICAgICAgLmdwcy10b2dnbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN0b3JlLWRldGFpbHMtbW9kZSB7XG4gICAgLnN3aXRjaC10by1zdHJlZXQtdmlldyxcbiAgICAuc3dpdGNoLXRvLW1hcC12aWV3IHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1IDAgMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0cmVldC12aWV3LXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIFxuICAgICAgICAjc3RyZWV0dmlldyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtc21hbGwtdmlldyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGJvdHRvbTogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUgMTUgNjApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxMCAzNSk7XG4gICAgICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubWFwLXZpZXcsXG4gICAgICAgIC5zdHJlZXQtdmlldyB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgLmdtbm9wcmludCxcbiAgICAgICAgICAgIC5nbS1jb250cm9sLWFjdGl2ZSxcbiAgICAgICAgICAgIC5nbS1pdi1hZGRyZXNzLFxuICAgICAgICAgICAgLmdwcy10b2dnbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjc3RyZWV0dmlldyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYXAtYWNjb3JkaW9uIHtcbiAgICBib3R0b206IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uY3RhLWJ1dHRvbnMge1xuICAgIC5saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG59XG5cbi5pY29uLWFuZ2xlLWxlZnQ6OmJlZm9yZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uYWNjZXNzaWJpbGl0eS10YWJsZSB7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDFweDtcblxuICAgIHRkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5hY2NvdW50LXN1YnRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG5cbiAgICAubGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgfVxufVxuXG4uYWNjb3VudC1zZWN0aW9uLWhlYWRpbmcge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMjVweCAwO1xuXG4gICAgJi50b3AtaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgKyAuYmFjayB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xLjNyZW07XG4gICAgfVxufVxuXG4ubW9kaWZ5LWFwcG9pbnRtZW50LWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXgtd2lkdGg6IDIwOHB4O1xuXG4gICAgLm1vZGlmeS1hY2NvdW50IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uYWNjb3VudC1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIH1cblxuICAgIC5uYXYtd3JhcHBlci5jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMjVweCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm15LWdhcmFnZS1wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAub3JkZXItaGlzdG9yeS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcblxuICAgICAgICBhOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwNTNcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1iYXNpczogMjUlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuYnV0dG9uLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi1saW5rLFxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaGlzdG9yeS1mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgIC5oZXJlLXRvLWhlbHAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tYm94IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXJTdW1tYXJ5TGl2ZUNoYXQsXG4gICAgICAgIC5waG9uZS1udW1iZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSAsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1pY29uIHtcbiAgICAgICAgICAgIC5jYXJkLWljb24ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RpZnktYXBwb2ludG1lbnQtaW1wb3J0YW50IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAubW9kaWZ5LWFwcG9pbnRtZW50LWluZm8ge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW0gMC4xcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uby1vcmRlcnMtc2VsZWN0b3JzIHtcbiAgICAgICAgbWFyZ2luOiAwIC0xMHB4O1xuXG4gICAgICAgIC5zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubm8tb3JkZXItc2VsZWN0b3ItdGFiIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3Rvci1pbWFnZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3Rvci10YWItdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjY291bnQtYmxvY2stYm9yZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXG4gICAgJi5wZXJzb25hbC1pbmZvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYub3JkZXItYmxvY2sge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJyaWdodC1ncmV5KTtcbiAgICB9XG5cbiAgICAuYWNjb3VudC1pbmZvLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubGFiZWwtd3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgLnRvcC1sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvdW50LWluZm8ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgfVxuXG4gICAgLnBzLXJlc3VsdHMtaW1hZ2UtdGlwIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICBcbiAgICB9XG5cbiAgICAuZW1haWwtYWRkcmVzcy1pbmZvIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjY291bnQtZW1haWwtdG9vbHRpcCB7XG4gICAgLnRvb2x0aXAtcGhvbmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxufVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAmLmFjY291bnQtcGFnZSAubW9iaWxlLWFjY291bnQtbGFiZWwgLmFjY291bnQtcGFnZSxcbiAgICAgICAgJi5vcmRlci1wYWdlIC5tb2JpbGUtYWNjb3VudC1sYWJlbCAub3JkZXItcGFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LWl0ZW1zLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LnZlcnRpY2FsID4gbGkubWVudS1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICYuaGlnaGxpZ2h0ZWQgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYm9yZGVyLWdyZXkpO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDMwcHg7XG5cbiAgICAgICAgICAgIC50b2dnbGUtaWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5oaWdobGlnaHRlZCB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAgICAgLnRvZ2dsZS1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5hY2NvdW50LXBhZ2Uge1xuICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgICAgICAgICAgJi5hY2NvdW50LXBhZ2Uge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9yZGVyLXBhZ2Uge1xuICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgICAgICAgICAgJi5vcmRlci1wYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jYXJmYXgtaGlzdG9yeS1wYWdlIHtcbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICAgICAgICAgICYuY2FyZmF4LWhpc3RvcnktcGFnZSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vYmlsZS1hY2NvdW50LW1lbnUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuXG4gICAgbGkgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwIDAuNjI1cmVtO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgLmFjdGl2ZS1zdWJtZW51IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgfVxufVxuXG4ubWVudS5tb2JpbGUtYWNjb3VudC1saXN0IHtcbiAgICBtYXJnaW46IDAuNzVyZW0gMC4zMTI1cmVtIDA7XG59XG5cbi5tZW51IGxpIC5tb2JpbGUtYWNjb3VudC1sYWJlbCB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgY29udGVudDogXCJcXGYwZGNcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICB0b3A6IDAuMjVyZW07XG4gICAgfVxufVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgICAmLm5vLWJvdC1tYXJnaW4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgXG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hY2NvdW50LWJsb2NrLWdyZXkge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW0gMC4xcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW0gMC41cmVtO1xuICAgIH1cblxuICAgIC5vcGVuTGl2ZUNoYXRCdXR0b24ge1xuICAgICAgICBiIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBiIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IFxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxLjc1cmVtIDAgMC4yNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoLnBob25lLWxpbmspIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJvdHRvbS1zcGFjZS1tb2JpbGUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIH1cbn1cblxuLmJ1dHRvbi1saW5rIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMS4yNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4ucHRfYWNjb3VudCxcbi5wdF9vcmRlciB7XG4gICAgLnBob25lLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIG1hcmdpbjogMDtcblxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBDb21tb24gc3R5bGVzIGZvciBPcmRlciBoaXN0b3J5IGFuZCBPcmRlciBkZXRhaWxzIHBhZ2VzXG4ub3JkZXJkZXRhaWxzIC5vcmRlci1zaGlwbWVudHMsXG4ub3JkZXItaGlzdG9yeS1saXN0IHtcbiAgICAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE9yZGVyIGhpc3Rvcnlcbi5vcmRlci1oaXN0b3J5LWxpc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuZmEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZhLWNhbGVuZGFyLW8ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuMzEyNXJlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uLW9yZGVyLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaGlzdG9yeS1pdGVtcyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2x1bW5zIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItdG90YWxzIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5vcmRlci12YWx1ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRvdGFsLXZhbHVlLXJvdyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyLXRvdGFscy1yb3csXG4gICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItaW5mbyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci1pbmZvLXJvdyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGluZS1pdGVtcyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LXJvdyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm9yZGVyZGV0YWlscy1wcm9kdWN0dmFsdWVzLFxuICAgICAgICAgICAgICAgIC5vcmRlcmRldGFpbHMtcHJvZHVjdG5hbWUge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWluZm8sXG4gICAgICAgIC5vcmRlci10b3RhbHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlLWNvbHVtbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1oaXN0b3J5LWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS42MjVyZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICAgICAmLnBhaWQtb25saW5lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5vcmRlci1oZWFkZXItaW5mbyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbHVtbnMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItbG9jYXRpb24ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItaW5mb3JtYXRpb24tY2xpZW50LFxuICAgICAgICAub3JkZXItbG9jYXRpb24ge1xuICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhbmNlbGxlZC1vcmRlcixcbiAgICAgICAgLm1vZGlmaWVkLW9yZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAubW9kaWZpZWQtb3JkZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhbmNlbGxlZC1vcmRlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaGlzdG9yeS10YWJsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuXG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDEuMzc1cmVtO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTYlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1ibG9jayB7XG4gICAgICAgIC5vcmRlci10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvbGQtc2lsdmVyO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItdG90YWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1kYXJrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyLW51bWJlci1zdGF0dXMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci12ZWhpY2xlLW5hbWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi51bmtub3duIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICBcbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDcwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDEwcHggMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDIzcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXItYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9hZC1tb3JlLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucHJvZHVjdHZhbHVlcy1jb2x1bW4ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2JpbGUtdGl0bGVzIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImdvdGhhbS1ib2xkXCIsIEFyaWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE9yZGVyIERldGFpbHMgcGFnZVxuLm9yZGVyZGV0YWlscyB7XG4gICAgLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjYyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1udW1iZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvdW50LWJsb2NrLWdyZXkge1xuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5hY2NvdW50LWJsb2NrLWJvcmRlciB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY291bnQtc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgfVxuXG4gICAgLm1pbmktYWRkcmVzcy1sb2NhdGlvbixcbiAgICAuYWNjb3VudC1pbmZvLFxuICAgIC5hcHBvaW50bWVudC1pbmZvIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgJi5lbWFpbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC10aW1lIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgfVxuXG4gICAgLmxpbmUtc2VjdGlvbnMtc2VwYXJhdG9yIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hY2NvdW50LWluZm8tbGluayB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xufVxuXG4uYWNjb3VudC1pbmZvLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBPcmRlciBTdW1tYXJ5IHNlY3Rpb25cbi5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW0gMDtcbiAgICB9XG5cbiAgICAub3JkZXItc3VtbWFyeS10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNTYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1kZXRhaWwtc3VtbWFyeSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVoaWNsZS1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAub3JkZXItdG90YWxzLXRhYmxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgLmFtb3VudC10b3RhbC1wYWlkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2YyZjJmMztcblxuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItdG90YWwge1xuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYm9sZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm9yZGVyLXRvdGFsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hbW91bnQtdG90YWwtcGFpZCxcbiAgICAgICAgICAgICYuYW1vdW50LXN0b3JlLXRvdGFsIHtcbiAgICAgICAgICAgICAgICAmLmJvbGQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN1cnJlbmN5LWNvZGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDkpO1xuICAgIH1cbn1cblxuLmFjY291bnQtaW5mby1yb3cge1xuICAgIC5hY2NvdW50LWluZm8td3JhcHBlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJyaWdodC1ncmV5KTtcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICAgIC5hY2NvdW50LWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXQtZm9ybSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lZGl0LWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgICAgIC5yZXF1aXJlZC1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXNzd29yZC1kb3RzIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTJweDtcblxuICAgICAgICAuaWNvbi1jaXJjbGU6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheS1mZWF0dXJlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc2V0LXBhc3N3b3JkLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAuZWRpdC10b2dnbGUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgLmludC1waG9uZS10ZXN0aW5nIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgfVxufVxuXG4vLyBWZXJpZmljYXRpb24gY29kZSBtb2RhbFxuLnZlcmlmaWNhdGlvbi1tb2RhbCB7XG4gICAgcGFkZGluZzogMjVweDtcbiAgICB3aWR0aDogNTAwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgLnZlcmlmaWNhdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAuaWNvbi12ZXJpZnktbWV0aG9kOjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cblxuICAgIC52ZXJpZmljYXRpb24tbWV0aG9kIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgcGFkZGluZzogM3B4IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgfVxuXG4gICAgLnZlcmlmaWNhdGlvbi10ZXh0LW1lc3NhZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmN1c3RvbWVyLWNvbnRhY3Qge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC52ZXJpZmljYXRpb24tYWN0aW9ucyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG5cbiAgICAgICAgJi5kaXNhYmxlLXJlc2VuZCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlcmlmeS1jb2RlLWJ0biB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxOHB4O1xuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXNlbmQtY29kZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLnZlcmlmaWNhdGlvbi1jb2RlLXNlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC52ZXJpZmljYXRpb24tZXJyb3Ige1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmljb24tcmVzZW5kOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnZlcmlmeS1jb2RlLWZvcm0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbn1cblxuLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAuc2VuZC12ZXJpZmljYXRpb24tY29kZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMTBweDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV4dHJhLWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRleHRyYS1saWdodC1ncmF5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbSB7XG4gICAgICAgIC5wcm9kdWN0LWJyYW5kLFxuICAgICAgICAucHJvZHVjdC1uYW1lLFxuICAgICAgICAubGluZS1pdGVtLXByaWNlLFxuICAgICAgICAuaXRlbS1xdWFudGl0eSxcbiAgICAgICAgLnByaWNlLXRvdGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZyb250LWJhY2stc2V0LWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIH1cblxuICAgICAgICAuY3VycmVuY3ktY29kZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDkpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxvZ2luLW1vZGFsIHtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDE2MHB4OyAvLyBPdmVyIHdyaXRlIHRoZSBtaW4taGVpZ2h0IGZyb20gX3JldmVhbC5zY3NzXG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGhlaWdodDogMTc1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE3NXB4OyAvLyBPdmVyIHdyaXRlIHRoZSBtaW4taGVpZ2h0IGZyb20gX3JldmVhbC5zY3NzXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpO1xuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5sb2dpbi1tb2RhbC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAubm8tdGhhbmtzIHtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCA2MHB4O1xuICAgIH1cbn1cbiIsIi5wdF9teWdhcmFnZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIC5jb2x1bW5zLm1vYmlsZS1wYWRkaW5nLXJpZ2h0LTZweCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1ucy5tb2JpbGUtcGFkZGluZy1sZWZ0LTZweCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53aWR0aC01MC1wZXJjZW50IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAuZG90dGVkLWJvcmRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDMuNXB4IGRvdHRlZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIC5hcnJvdyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIC50b3Atc2VjdGlvbixcbiAgICAudG9wLXNlY3Rpb24tYXJjaGl2ZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgcCxcbiAgICAgICAgICAgIC5jYXItYWRkLW5ldyxcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYXItYWRkLW5ldyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIxLjZweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLXNlY3Rpb24tYXJjaGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1YnRpdGxlLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLWFkZC1uZXcge1xuICAgICAgICBidXR0b24uY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTFweCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnMtY29udGFpbmVyLFxuICAgIC5jYXJzLWNvbnRhaW5lci1hcmNoaXZlZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDMwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNiLWN0YSB7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci12aXN1YWxzIHtcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5jYXItaW5mb3JtYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDE0cHggMTRweCAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbGVmdDogLTIxcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSA3cHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1pbWFnZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogNzBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItbmFtZSxcbiAgICAuY2FyLXZpbixcbiAgICAuY2FyLXBsYXRlLWFkZCxcbiAgICAuY2FyLXBsYXRlLWVkaXQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTQuNHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1wbGF0ZS1lZGl0LFxuICAgIC5jYXItbmFtZSxcbiAgICAuY2FyLXZpbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAuY2FyLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTYuOHB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLXRpcmUtd2hlZWwgPiBkaXYge1xuICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLXRpcmUtd2hlZWwsXG4gICAgLmNhci1pbmZvLWJvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jYXItaW5mby1ib3R0b20ge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICAgICAgcm93LWdhcDogMTdweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1uby1vcmRlci1oaXN0b3J5IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgfVxuXG4gICAgLmNhci1hcHBvaW50bWVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIH1cblxuICAgIC5jYXItYXBwb2ludG1lbnQtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICAuY2FyLWFwcG9pbnRtZW50LWluZm8ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LW1hcCxcbiAgICAubW9kaWZ5LWFwcG9pbnRtZW50IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LW1hcCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIC5tb2RpZnktYXBwb2ludG1lbnQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICAuY2FyLWJ1eS1hY3Rpb25zIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIG1hcmdpbi10b3A6IDZweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1idXktYWN0aW9uLFxuICAgIC5zZXJ2aWNlcy1jdGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrLFxuICAgICAgICAmLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZXMtY3RhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1hY2Nlc3NpYmxlLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jbGFzcyB7XG4gICAgICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlnaGxpZ2h0LWV4aXN0aW5nLWNhciB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjVzIGxpbmVhcjtcblxuICAgICAgICAmLnRyYW5zaXRpb24tdG8tZW5kIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b2dnbGUtYXJjaGl2ZWQtY2FycyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJjaGl2ZWQtY2FycyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZXJ2aWNlLWFjdGlvbnMtbW9kYWwge1xuICAgIHRvcDogNTAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogOTUlO1xuICAgIH1cblxuICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogOHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG5cbiAgICAuY2FyLWJ1eS1hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgIH1cblxuICAgIC5jYXItYnV5LWFjdGlvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1vZGFsLWNsb3NlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDE1cHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50ZXh0LWFsaWduLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmZsZXgtb3JkZXItMSB7XG4gICAgb3JkZXI6IC0xO1xufVxuXG4uZ2FyYWdlLW1vZGFsLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG5bZm9ybS1jdHJsXSB7XG4gICAgLnZpbi1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZbZm9ybS1jdHJsPVwiY2FyZmF4XCJdLFxuICAgICZbZm9ybS1jdHJsPVwiZWRpdFZlaGljbGVEYXRhXCJdIHtcbiAgICAgICAgLnZpbi1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5nYXJhZ2UtbW9kYWwge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJiN2ZXJpZnktdmVoaWNsZS1tb2RhbCB7XG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLm1vZGFsLWNsb3NlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTVweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnZlaGljbGVzLXNlY3Rpb24ge1xuICAgICAgICBnYXA6IDIwcHg7XG5cbiAgICAgICAgLmNhci1jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYW1lLXlvdXItdmVoaWNsZS1maWVsZHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbiksXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZpZWxkLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9ucy13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICYuYWxpZ24tdG8tcmlnaHQge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXh0cmEtbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRleHRyYS1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpdC13aWR0aCB7XG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiA2cHggMCAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgfVxuXG4gICAgLnBsYXRlLW5vLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrLFxuICAgIC5jYi1jdGEuYnV0dG9uLWZ1bGwtd2hpdGUge1xuICAgICAgICBwYWRkaW5nOiA4cHggNjBweDtcbiAgICB9XG59XG5cbi52ZWhpY2xlLWV4aXN0cy1tb2RhbCB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLnBsYXRlLW51bWJlci1tb2RhbCB7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG59XG5cbi5wbGF0ZS1udW1iZXItbW9kYWwsXG4uY2FyLWVkaXQtbW9kYWwsXG4udmVoaWNsZS1pbmZvLW1vZGFsLFxuI3ZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICAuZ2FyYWdlLXZlaGljbGUtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgcGFkZGluZzogMCAzNnB4IDIwcHggMDtcbiAgICB9XG59XG5cbiN2ZXJpZnktdmVoaWNsZS1tb2RhbCB7XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLmNhci1lZGl0LW1vZGFsIHtcbiAgICBwIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgfVxufVxuXG4uYWRkLXBsYXRlLW5vIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNC40cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4iLCIucHRfb3JkZXIge1xuICAgIC5kLWZsZXgge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgIH1cblxuICAgIC5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuZmxleC13cmFwIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5mbGV4LWNvbHVtbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLnN3aXRjaGVyLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obnVsbCwgbWlkZGxlKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zd2l0Y2hlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXRjaGVyLWlucHV0IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Y2hlY2tlZCB+IC5zd2l0Y2hlci1sYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpdGNoZXItbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheS1teS1nYXJhZ2UpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTIuNXB4O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHdpZHRoOiAzOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogNTAlIC8gNTAlIDUwJSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXktbXktZ2FyYWdlKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dCwtd2Via2l0LXRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktZmlsdGVyLWJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5vcmRlci1oaXN0b3J5LWZpbHRlci1pdGVtIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWluLWhlaWdodDogMTIycHg7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTBweCAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJyaWdodC1ncmV5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWNoZWNrYm94IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICY6Y2hlY2tlZCB+IC5vcmRlci1oaXN0b3J5LWZpbHRlci1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHsgXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMTQ5cHg7XG4gICAgfVxuXG4gICAgLmNhci1uYW1lIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDAgNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhci1wbGF0ZSxcbiAgICAuY2FyLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cbiIsIiNjYXJmYXgtaGlzdG9yeS1tb2RhbCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgbWF4LXdpZHRoOiA4MTZweDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgdG9wOiAxNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgfVxuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3OHZoO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNzh2aDsgLyogVXNlIHZoIGFzIGEgZmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQ3VzdG9tIFByb3BlcnRpZXMgKi9cbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGModmFyKGR5bmFtaWNTY3JlZW5TaXplLCAxdmgpICogMTAwKTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICAubW9kYWwtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgIH1cblxuICAgIC5jYXJmYXgtaGlzdG9yeS1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcblxuICAgICAgICAubGljZW5zZS1wbGF0ZS1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cblxuICAgICAgICAubGljZW5zZS1wbGF0ZS1jb250ZW50IHtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGljZW5zZS1wbGF0ZS1pbm5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIC5wbGF0ZS1udW1iZXItaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmVycm9yOm5vdCgubGljZW5zZVBsYXRlKSA+ICoge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIzMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0tcm93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmVycm9yLXZpbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHVuYXZhaWxhYmxlKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgfVxuXG4gICAgLm9yLWJyZWFrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLm9yLWJyZWFrOjpiZWZvcmUsXG4gICAgLm9yLWJyZWFrOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBmbGV4OiAxIDE7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICAub3ItYnJlYWs6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAub3ItYnJlYWs6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLnZpbi13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuXG4gICAgICAgIC52aW4taGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZpbi1udW1iZXItaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlaGljbGUtaW5mb3JtYXRpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG59XG5cbiNjYXJmYXgtZGVsZXRlLW1vZGFsIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNTAwKTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjIpO1xuICAgIH1cblxuICAgIC5tb2RhbC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtd3JhcCB7XG4gICAgICAgIGNvbHVtbi1nYXA6IDYwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBmbGV4OiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNjYXJmYXgtaGlzdG9yeS1tb2RhbCxcbiNjYXJmYXgtZGVsZXRlLW1vZGFsIHtcbiAgICAuY2FyZmF4LW1vZGFsLWNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICB0b3A6IDAuNXJlbTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cblxuI2NhcmZheC1kZWxldGUtZm9ybSxcbiN2ZWhpY2xlLWZpZWxkc2V0IHtcbiAgICBtaW4taGVpZ2h0OiA0MnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmdyZXktbGluZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBtYXJnaW46IDEycHggMDtcbn1cblxuLmZpbmQtdmluLXdyYXBwZXIge1xuICAgIC5pdGVtLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZGFsLWJ1dHRvbnMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogMTZweDtcblxuICAgIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgfVxufVxuXG4uc2VydmljZS11bmF2YWlsYWJsZS1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbjogOHB4IDAgMjRweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxOCk7XG4gICAgfVxuXG4gICAgLnVuYXZhaWxhYmxlLXRleHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHVuYXZhaWxhYmxlKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgfVxufVxuXG4udmVoaWNsZS1kYXRhLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5jaGVja2JveC1mb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudmVoaWNsZS1kYXRhLWNvbnRlbnQge1xuICAgICAgICAuc2F2ZS12ZWhpY2xlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA5cHg7XG5cbiAgICAgICAgICAgIC5zYXZlLXZlaGljbGUtY2hlY2tib3gge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZGFsLWJ1dHRvbnMge1xuICAgIC5jYXJmbGV4LWxvZ28ge1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICB9XG5cbiAgICAjY2FyZmF4LXNlYXJjaC1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmtncmV5MSk7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgI2NhcmZheC1zZXJ2aWNlLWJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE0cHg7XG4gICAgICAgIG1heC13aWR0aDogMjM1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4ubm8tc2VydmljZS1oaXN0b3J5IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuXG4gICAgLm5vLXNlcnZpY2UtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCIucHRfY2FyZmF4IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgLnJvdy5hdHJvb3Qge1xuICAgICAgICAgICAgLmNvbnRlbnQtY29sdW1uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgLmFib3V0LWNhcmZheC13cmFwcGVyIHtcbiAgICAgICAgLmFib3V0LWNhcmZheC10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIH1cblxuICAgICAgICAudG9nZ2xlLWl0ZW0ge1xuICAgICAgICAgICAgLml0ZW0tY29udGVudCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5vLXNlcnZpY2UtaGlzdG9yeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICB9XG59XG5cbi5zZXJ2aWNlLWhpc3Rvcnktd3JhcCB7XG4gICAgJlt0b2dnbGUtc3RhdGU9XCJpbml0aWFsXCJdIHtcbiAgICAgICAgLnNlcnZpY2UtaGlzdG9yeSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vLXNlcnZpY2UtaGlzdG9yeSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJlt0b2dnbGUtc3RhdGU9XCJuby1zZXJ2aWNlXCJdIHtcbiAgICAgICAgLnNlcnZpY2UtaGlzdG9yeSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJlt0b2dnbGUtc3RhdGU9XCJoYXMtc2VydmljZVwiXSB7XG4gICAgICAgIC5uby1zZXJ2aWNlLWhpc3Rvcnkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlcnZpY2UtaGlzdG9yeSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuaGlzdG9yeS1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyLWNvbnRlbnQge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZmF4LWxvZ28ge1xuICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuZGVsZXRlLWJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlzdG9yeS10YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC50YWJsZS1oZWFkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV4dHJhLWxpZ2h0LWdyYXk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIC50YWJsZS1jb2x1bW4uc2VydmljZXMtcGVyZm9ybWVkIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50YWJsZS1yb3cge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1yb3cge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXktb3ZlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZ2FwOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtY29sdW1uIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDE1KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VydmljZXMtcGVyZm9ybWVkIHtcbiAgICAgICAgICAgIGZsZXg6IDI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIGIubW9iaWxlLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiJGdyaWQtYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBib3JkZXItZ3JleSk7XG5cbi5zZWwtaW5mby5sZWZ0LWFycm93IHtcbiAgICBtaW4taGVpZ2h0OiAxMjZweDtcbn1cblxuLmJyYWtlcy1kZXRhaWxzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiA1MHB4IGF1dG87XG5cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIC5icmFrZXMtZGV0YWlscy13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmFrZXMtZ3JpZC13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDE1cHg7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyOTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdyaWQtbWFrZXIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJyYWtlcy1ncmlkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRncmlkLWJvcmRlcjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRncmlkLWJvcmRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoNTBweCwgMWZyKSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgICAgICAuZ3JpZC1pdGVtIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRncmlkLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogJGdyaWQtYm9yZGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmdyaWQtaGVhZGVyLFxuICAgICAgICAgICAgLmdyaWQtdmVoaWNsZS10eXBlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5icmFrZXMtZGlzY2xhaW1lciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDkwJTtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnJha2VzLW5vLXJlc3VsdHMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJyYWtlcy1pbmNsdWRlZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgICAgICAuaW5jbHVkZWQtYmxvY2sge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyYWtlcy1pbnNwZWN0aW9uLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBib3JkZXI6ICRncmlkLWJvcmRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDI1cHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgdGV4dC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5icmFrZXMtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaW50ZXJmYWNlL3RpcmUtbWFyay5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJTtcbiAgICBib3JkZXI6ICRncmlkLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAxNXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIC5icmFrZXMtcGFja2FnZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAucGFja2FnZXMtYmxvY2sge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMzMlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5wYWNrYWdlcy10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnBhY2thZ2VzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNzdGlja3lDVEEge1xuICAgIGJvdHRvbTogLTEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMnB4IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGFya2dyZXkxKTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC40cztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJi5zbGlkZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiLy8gRW1wdHkgQ2FydCBwYWdlXG4uY2FydC1lbXB0eSB7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcblxuICAgIGgxIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5jYXJ0LWFjdGlvbi1jb250aW51ZS1zaG9wcGluZyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4vLyBDYXJ0IHBhZ2Vcbi5jYXJ0LXBhZ2Uge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52ZWhpY2xlLWluZm8ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lZGl0VmVoaWNsZUNhcnQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LXRlY2huaWNhbC1kaWZmaWN1bHRpZXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuc21hbGwtMTIge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAxMHB4IDIwcHg7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LXRlY2huaWNhbC1kaWZmaWN1bHRpZXMuaGVhZGVyIHtcbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICBtYXJnaW46IC00MHB4IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItcHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxNikgMDtcbiAgICB9XG5cbiAgICAuaXRlbS1saXN0IHtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDI1KTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMCk7XG5cbiAgICAgICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAucXR5LWhlYWRlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudG90YWwtcHJpY2UtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LXJvdyxcbiAgICAuc2VydmljZS1yb3cge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgLml0ZW0tcXVhbnRpdHkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLml0ZW0tdG90YWwsXG4gICAgICAgICAgICAuc2VydmljZS1pdGVtLXRvdGFsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LWxpbmUtc2VwYXJhdG9yIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlOGU4ZTk7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItc3VtbWFyeS1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY2FydC1saW5lLXNlcGFyYXRvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpc2NsYWltZXItY2FydCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAmLmxldnktbWVzc2FnZS1jYXJ0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItc3VtbWFyeSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLXRvdGFscy10YWJsZSB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTUpIDA7XG5cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnZlaGljbGUtaW5mbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5vcmRlci10b3RhbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3V0LW9mLXN0b2NrLW1lc3NhZ2UtYm94IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzLjEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LWZpbmFuY2luZyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FydC1maW5hbmNpbmctbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtYWN0aW9uLWNoZWNrb3V0LWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LWFjdGlvbi1jaGVja291dCB7XG4gICAgICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDE1KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAyM1wiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmVlZC1oZWxwLWNhcnQge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVyaWZ5LXZlaGljbGUge1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxNikgMCAwO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIC5sZWZ0LWJveCxcbiAgICAgICAgICAgIC5yaWdodC1ib3gge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZWZ0LWJveCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yaWdodC1ib3gge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52ZXJpZmllZC1yZXNwb25zZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1ib3gge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjMxM3JlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAyNyU7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1ib3gge1xuICAgICAgICAgICAgd2lkdGg6IDczJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLWFsZXJ0IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mYS1jaGVjayB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubGVmdC1ib3gge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHQtYm94IHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAuMzEyNXJlbSAwIDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHRvcDogMTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItc3VtbWFyeS13cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAubWFya2V0aW5nLWNhcmQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ludGVyZmFjZS90aXJlLW1hcmsucG5nXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICAgICAgLmxlYXJuLW1vcmUtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgICAgICAgICAubGVhcm4tbW9yZS1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyID4gLm1vcmUtaW5mby10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1vcmUtaW5mby10ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgICAgICAubWFya2V0aW5nLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIENhcnQgUHJvZHVjdCByb3dcbi5jYXJ0LXJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4gICAgLnNlcnZpY2Utcm93IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWxpc3QtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0taW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTkwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgICAgIC5hdHRyaWJ1dGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRlZ29yeS1hdHRyaWJ1dGVzIHtcbiAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXZhaWxhYmlsaXR5LWF0dHJpYnV0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDA7XG5cbiAgICAgICAgLmF2YWlsYWJpbGl0eS1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1hdmFpbGFiaWxpdHktbGlzdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLXF0eS1wcmljZS1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1oZWFkZXIucXR5LWhlYWRlcixcbiAgICAuc2VjdGlvbi1oZWFkZXIuaXRlbS1wcmljZS1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0tcHJpY2Uge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS10b3RhbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzNik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAuOTM3NXJlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2UtdG90YWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWNhcmQtcXVhbnRpdHkuaXRlbS1xdWFudGl0eSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdFF1YW50aXR5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZW1vdmUtYnRuIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZS1ib3gge1xuICAgICAgICBtYXJnaW46IDEuMjVyZW0gMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGUtYmFkZ2Uge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcmViYXRlX2ljb24ucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGUtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLy8gUHJvZHVjdCBzZXRcbiAgICAmLmZpcnN0LXBzZXQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlY29uZC1wc2V0IHtcbiAgICAgICAgLml0ZW0taW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZW1vdmUtYnRuIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mcm9udC1iYWNrLXNldC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VydmljZXNcbi5jYXJ0LXNlcnZpY2VzIHtcbiAgICAvLyBSZXF1aXJlZCBTZXJ2aWNlc1xuICAgICYucmVxdWlyZWQtc2VydmljZXMge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG5cbiAgICAgICAgLnNlcnZpY2Utcm93IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1IDAgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1pdGVtLXByaWNlLXdyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbmNsdWRlZCBTZXJ2aWNlc1xuICAgICYuaW5jbHVkZWQtc2VydmljZXMge1xuICAgICAgICAuaXRlbS1wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1yb3cge1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdyb3VwZWQgc2VydmlzZXNcbiAgICAmLmdyb3VwZWQtc2VydmljZXMge1xuICAgICAgICAucmVjb21tZW5kZWQtc2VydmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1yb3cge1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1ncm91cC1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg0MCAwIDE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWl0ZW0tdG90YWwge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtLXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTAgMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtaXRlbS1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2Utcm93IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAwKTtcbiAgICB9XG5cbiAgICAuYm90dG9tLW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDIwKTtcbiAgICB9XG5cbiAgICAuc2VydmljZS1pdGVtLWRldGFpbHMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlLWl0ZW0tcHJpY2Utd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlLWluZm8td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWltYWdlIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlLW5hbWUtYm94IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAxMCk7XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvcnQtZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlLWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogNTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtdG90YWwtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAwIDAgMTIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vcmUtaW5mby1saW5rIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb3JlLWluZm8tdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgIH1cblxuICAgIC5tYWluLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDIuMTg4cmVtO1xuXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlLWl0ZW0tdG90YWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOCk7XG4gICAgfVxuXG4gICAgLml0ZW0tcHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlcnZpY2UgbW9yZS1pbmZvIG1vZGFsXG4vLyBTZXJ2aWNlIGNoZWNrIG1vZGFsICh3aGVuIHVuY2hlY2sgYW4gcmVjb21tZW5kZWQgc2VydmljZSlcbi8vIGNvbW1vbiBzdHlsZXNcbi5yZXZlYWxbaWQqPVwic2VydmljZXBvcHVwXCJdLFxuI3NlcnZpY2VpbmZvbW9kYWwge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgcmlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICB0b3A6IDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcmlnaHQ6IDEuNzVyZW07XG4gICAgICAgICAgICB0b3A6IDEuNDM4cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZXJ2aWNlIG1vcmUtaW5mbyBtb2RhbFxuLnNlcnZpY2UtbW9kYWwtY29udGVudCB7XG4gICAgLnNlcnZpY2UtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gICAgICAgIHdpZHRoOiA5MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS1pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvbmctZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMS44NzVyZW07XG4gICAgICAgICAgICB3aWR0aDogNjUlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBWZXJpZnkgVmVoaWNsZSBtb2RhbFxuLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgICB9XG59XG5cbi8vIFZlcmlmeSBWZWhpY2xlIG1vZGFsXG4vLyBTZXJ2aWNlIGNoZWNrIG1vZGFsICh3aGVuIHVuY2hlY2sgYW4gcmVjb21tZW5kZWQgc2VydmljZSlcbi8vIGNvbW1vbiBzdHlsZXNcbi5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsLFxuI3NlcnZpY2VpbmZvbW9kYWwge1xuICAgIC50aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gICAgICAgIHdpZHRoOiA5MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9ucy1ib3gge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMS4yNXJlbSAwIDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBIaWRlIExpdmUgQ2hhdCBidXR0b25cbiNpbnNpZGVfaG9sZGVyICNpbnNpZGVfbGl2ZUNoYXRUYWIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gWU1NbyBjaGVjayBtb2RhbFxuLmNhcnQtcHNtb2RhbC10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAyMHB4IDAgMCAzMHB4O1xuICAgIHdpZHRoOiA4NSU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG59XG5cbi50b3RhbHMtc3RpY2t5LWJ1dHRvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3gtc2hhZG93OiAwIC00cHggMTBweCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRpc2FibGVkLWdyZXkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAgOCk7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIC5wcmljZS10b3RhbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgfVxuXG4gICAgLnByaWNlLXRvdGFsLXRleHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQpO1xuICAgIH1cbn1cblxuI3BzbW9kYWwuY2FydC1wc21vZGFsIHtcbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgfVxufVxuXG4jY2FydFF1YW50aXR5TW9kYWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZzogOXB4IDE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgfVxuXG4gICAgLmNhcnRRdWFudGl0eU1vZGFsQ3RhIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi8vIFdoeSBDaG9vc2UgS2FsIFRpcmUgbW9kYWwgXG4jd2h5LWNob29zZS1rYWx0aXJlLW1vZGFsIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgICB9XG5cbiAgICAmLnJldmVhbCB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2OTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMTIpO1xuICAgIH1cbn1cblxuLy8gQ29udGFjdCBVcy8gTGl2ZSBDaGF0IHNlY3Rpb25cbi5jb250YXQtdXMtZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4MCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIH1cblxuICAgIC5oZXJlLXRvLWhlbHAge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkZGFyay1ncmF5LW92ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDI1KTtcbiAgICB9XG5cbiAgICAuY2FydC1mb290ZXItaW1hZ2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdC11cy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICB9XG5cbiAgICAuY29udGFjdC1pbmZvLXNlY3Rpb24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb24tYm94LWNvbnRlbnQge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5waG9uZS1udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gICAgfVxuXG4gICAgLm9yZGVyU3VtbWFyeUxpdmVDaGF0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb24taWNvbiB7XG4gICAgICAgIC5jYXJkLWljb24ge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgfVxuXG4gICAgLmNhcmQtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE2KTtcbiAgICB9XG59XG5cbi5tYW51ZmFjdHVyZXItbnVtYmVyIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDIyKTtcbiAgICB9XG59XG4iLCIvLyBSZXBsYWNlIHByb2R1Y3RzIGZyb20gY2FydCAtIFBvcC11cFxuI2FkZHRvY2FydHBvcHVwIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYXR0cmlidXRlcyxcbiAgICAuY2F0ZWdvcmllcy1ib3gsXG4gICAgLmF2YWlsYWJpbGl0eS1tc2csXG4gICAgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAgIC5wcm9tby1iYWRnZSxcbiAgICAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgXG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtc2l6ZSB7XG4gICAgICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucG9wdXAtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvcHVwLXN1YnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5uZXctY2FydC1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMjVweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlLWJveCB7XG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMiUgMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgICAuYnJhbmQtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuXG4gICAgICAgIC5ib3gtc3BhY2luZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDlkOWRhO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYubm8tYm9yZGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FuY2VsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbnMtbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW0gMCAwO1xuICAgIH1cblxuICAgIC5jdXJyZW50LWNhcnQge1xuICAgICAgICBtYXJnaW46IDI1cHggMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDQwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYmFkZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3B1cC1zdWJ0aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1zaXplLFxuICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcblxuICAgICAgICAgICAgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jY2FydC1wb3B1cC1jb250YWluZXIge1xuICAgIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1iYWRnZSB7XG4gICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICNhZGR0b2NhcnRwb3B1cCB7XG4gICAgICAgIHdpZHRoOiA3MDBweDtcblxuICAgICAgICAubmV3LWNhcnQtaXRlbSB7XG4gICAgICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWJveCB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjYuNjY2NjclO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleGJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4Mi41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNDBweDtcblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FuY2VsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTVweCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2ItYm9yZGVyZWQtY29udGVudCB7XG4gICAgYm9yZGVyOiA3cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgfVxufVxuXG4vLyBQYWdlIEhlYWRlciBDb250ZW50IEJsb2NrXG4uY2ItcGFnZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMTIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgcGFkZGluZzogMTE1cHggMDtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDY2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxufVxuXG5cbi8vIENUQSBTdHlsZVxuXG4uY2ItY3RhIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgICYuYnV0dG9uLWhvbGxvdy13aGl0ZSB7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBwYWRkaW5nOiA3cHggMzBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5idXR0b24taG9sbG93LWJsYWNrIHtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBwYWRkaW5nOiA3cHggMzBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZCwgY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnV0dG9uLWZ1bGwtd2hpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBwYWRkaW5nOiA3cHggMzBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpbmFuY2luZ0xpbmsge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1ob3ZlcjtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRidXR0b24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxpbmsge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2ItY3RhLXNlY29uZGFyeSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vLyBTZWN0aW9uIEhlYWRlciBDb250ZW50IEJsb2NrXG4uY2Itc2VjdGlvbi1oZWFkZXIge1xuICAgIG1hcmdpbjogMCBhdXRvIDI1cHg7XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwLFxuICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbn1cblxuLmNiLWNvbHVtbiB7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuXG4gICAgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDA7XG4gICAgfVxuXG4gICAgLmZpbmFuY2luZy1ibG9ja3MtdGl0bGUge1xuICAgICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDgyLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNiLWNvbHVtbi1jaGlsZCB7XG4gICAgbWFyZ2luOiAwIDAgNDBweDtcblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTNweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5jYi1jb2x1bW4tY2hpbGQtY29weSB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlY3Rpb24gSW1hZ2UgQWx0ZXJuYXRlIENvbHVtblxuLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4ge1xuICAgIG1hcmdpbjogMCAwIDUwcHg7XG5cbiAgICAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogN3B4IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlY3Rpb24gT25lIENvbHVtbiBDVEFcbi5jYi0xLWNvbHVtbi1jdGEge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBtaW4taGVpZ2h0OiAzMDJweDtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiA3NXB4IDAgNTBweDtcbiAgICB9XG5cbiAgICA+IC5yb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYi1jdGEge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VjdGlvbiBUZXN0aW1vbmlhbFxuLmNiLXRlc3RpbW9uaWFsIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogNjVweCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLXRlc3RpbW9uaWFsLWF2YXRhciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0OHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gMyBDb2x1bW4gRmVhdHVyZVxuLmNiLTMtY29sdW1uLWZlYXR1cmUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAuY2Itc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIH1cblxuICAgIC5jYi1jb2x1bW4tY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5jYi1jb2x1bW4tY2hpbGQtY29weSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNiLWN0YSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VjdGlvbiBGZWF0dXJlZCBQcm9kdWN0cyBDYXJkc1xuLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgMCA2MHB4O1xuICAgIH1cblxuICAgIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbi8vIFNlY3Rpb24gUHJvZHVjdCBEZXRhaWxzIENhcmRzXG4uY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDUwcHg7XG4gICAgfVxuXG4gICAgaW1nLnByb2RJbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtaGVhZGluZ3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMjBweDtcblxuICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1jdGEtd3JhcHBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YXMge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNiLWN0YSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VjdGlvbiBTZWNvbmRhcnkgTmF2aWdhdGlvblxuLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24ge1xuXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgIC5jYi1zZWNvbmRhcnktcGFnZS1uYXYtY2hpbGQge1xuICAgICAgICBib3JkZXI6IDEwcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgcGFkZGluZzogOHB4IDQwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYi1zZWNvbmRhcnktcGFnZS1uYXYtaWNvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBjb2xvcjogIzk5OTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIFNlY3Rpb24gQ29sdW1uIFRhYnNcbi5jYi1jb2x1bW4tdGFicyB7XG4gICAgLmNvbHVtbi1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGxpIGE6aG92ZXIsXG4gICAgICAgIGxpLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLFxuICAgICAgICAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMuMiU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM5OTk7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFicy1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgcGFkZGluZzogNDBweCAwIDA7XG5cbiAgICAgICAgLnRhYnMtcGFuZWwge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZWN0aW9uIENvbHVtbiBEZXRhaWxzXG4uY2ItMS1jb2x1bW4tZGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxufVxuXG4vLyBBY2NvcmRpb25cbi5jYi1hY2NvcmRpb24ge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMjEgMCk7XG5cbiAgICAudG9nZ2xlLWl0ZW0ge1xuICAgICAgICBzdW1tYXJ5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZm9vdGVyLWZhcS13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgMCA1MHB4O1xuXG4gICAgaHIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZTBlMWUxO1xuICAgICAgICBtYXJnaW46IDAgMCA1MHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICBhLmZhcS1jdGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuXG4gICAgLmNvbHVtbnMge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmd1ZXN0LWNoZWNrb3V0LXRleHQge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBtYXJnaW4tdG9wOiAyM3B4O1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMC4xODc1cmVtIDAgMS43NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoZWNrb3V0LXRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLnB0X2NoZWNrb3V0IHtcbiAgICBsZWdlbmQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnN0ZXAtYmFjay1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbiAgICAuZm9ybS1yb3ctYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBheW1lbnQtZm9ybSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtbWFpbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICB9XG59XG5cbi5jaGVja291dC1zdGVwIHtcbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxucC5zZWxlY3QtdmVoaWNsZSB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbn1cblxuLmhlYWRlci10aXRsZS13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAuY2hlY2tvdXQtc3RlcC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXJvdy1idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtbWFpbi1yb3cge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbi5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDY1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4N3B4O1xuICAgIH1cblxuICAgIC5jaGVja291dC1tYWluLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogNDVweCAwIDE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC5zdGVwcy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMjcwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDU0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RlcHMge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtc21va2UpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgICAgICB3aWR0aDogNDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLXNtb2tlKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICByaWdodDogNDZweDtcbiAgICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNTRweDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNTRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtc21va2UpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMzJweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNDZweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJi5wYXNzZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucGFzc2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIGluc2V0O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaW5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGVwLW5hbWUge1xuICAgICAgICBib3R0b206IC0xNXB4O1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgbGVmdDogLTUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1hcHBvaW50bWVudCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMjcxXCI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWluZm9ybWF0aW9uIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMDdcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdmVyaWZpY2F0aW9uIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwOWRcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtcmV2aWV3IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxNWNcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gT3JkZXIgU3VtbWFyeSBzZWN0aW9uXG4uY2hlY2tvdXQtc3VtbWFyeSB7XG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gICAgfVxufVxuXG4ucHJvZHVjdC1zcGVjaWZpYy1tZXNzYWdlcyB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjAgMjAgMjApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMiAxNSAxNSAxNSk7XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtb3JkZXItdG90YWxzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgbWFyZ2luOiAwIDAgMS41NjI1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgfVxuXG4gICAgLm9yZGVyLXRvdGFscy10YWJsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMC42MjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYm9sZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hbW91bnQtdG90YWwtcGFpZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjM7XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hbW91bnQtc3RvcmUtdG90YWwsXG4gICAgICAgICAgICAmLmFtb3VudC10b3RhbC1wYWlkIHtcbiAgICAgICAgICAgICAgICAmLmJvbGQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudmVoaWNsZS1pbmZvIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDIuMTg4cmVtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGUtbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxldnktbWVzc2FnZS1taW5pc3VtbWFyeSB7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTgpIDAgMCAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTYpO1xuICAgIH1cblxuICAgIC5zdGVwLWJhY2stbGluayB7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAwO1xuICAgIH1cbn1cblxuLy8gTmVlZCBIZWxwIGJveFxuLm5lZWQtaGVscC1jaGVja291dCB7XG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbn1cblxuLy8gU3RlcCAyIC0gWW91ciBJbmZvcm1hdGlvbiAmIENvbW1lcmNpYWwgRmxlZXQgVmVoaWNsZXNcbi5jaGVja291dC1zaGlwcGluZyB7XG4gICAgbGVnZW5kIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmRpYWxvZy1yZXF1aXJlZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2F2ZS1mb3ItYmlsbGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rpb24tYm94IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmFkaW8tZm9ybSxcbiAgICAgICAgLmNoZWNrYm94LWZvcm0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhZGlvLWZvcm0ge1xuICAgICAgICAgICAgLmZpZWxkLXdyYXBwZXIgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIge1xuICAgICAgICAuY29tbWVyY2lhbC1mbGVldC1mb3JtIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtdGlwIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVoaWNsZS1pbmZvcm1hdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDMwcHg7XG4gICAgICAgIG1heC13aWR0aDogNTkwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDcwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvcm1hdGlvbnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZlaGljbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLXZlaGljbGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTQxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdC1idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU3RlcCAyIHdhcm5pbmcgbW9kYWxcbiNwc21vZGFsIHtcbiAgICAmLndhcm5pbmctbW9kYWwge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICB0b3A6IDIzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmtlZXAtdmVoaWNsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU3RlcCAyIFlvdXIgSW5mb3JtYXRpb24gJiBTdGVwIDMgUGF5bWVudCAtIGN1c3RvbSBzdHlsZXMgZm9yIENpdHksIFByb3ZpbmNlLCBQb3N0YWwgY29kZSBhbmQgQ291bnRyeSBmaWVsZHNcbi5jaGVja291dC1maWVsZHMtY29udGFpbmVyIHtcbiAgICAuZm9ybS1yb3cge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgJi5jaXR5LXJvdyxcbiAgICAgICAgICAgICYucG9zdGFsLXJvdyB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnN0YXRlLXJvdyxcbiAgICAgICAgICAgICYuY291bnRyeS1yb3cge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jaXR5LXJvdyxcbiAgICAgICAgJi5zdGF0ZS1yb3csXG4gICAgICAgICYucG9zdGFsLXJvdyxcbiAgICAgICAgJi5jb3VudHJ5LXJvdyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmNpdHktcm93KSxcbiAgICAgICAgJjpub3QoLnBvc3RhbC1yb3cpLFxuICAgICAgICAmOm5vdCguc3RhdGUtcm93KSxcbiAgICAgICAgJjpub3QoLmNoZWNrYm94LWZvcm0pLFxuICAgICAgICAmOm5vdCguY291bnRyeS1yb3cpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNpdHktcm93LFxuICAgICAgICAmLnN0YXRlLXJvdyxcbiAgICAgICAgJi5wb3N0YWwtcm93LFxuICAgICAgICAmLmNvdW50cnktcm93IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguY2l0eS1yb3cpLFxuICAgICAgICAmOm5vdCgucG9zdGFsLXJvdyksXG4gICAgICAgICY6bm90KC5zdGF0ZS1yb3cpLFxuICAgICAgICAmOm5vdCguY291bnRyeS1yb3cpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNpdHktcm93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb3VudHJ5LXJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnBvc3RhbC1yb3cge1xuICAgICAgICAgICAgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLXdyYXBwZXIuaGFzLXRvb2x0aXAge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZm9ybS1pbmRlbnQuY2hlY2tib3gtZm9ybSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFN0ZXAgMyAtIFBheW1lbnRcbi5jaGVja291dC1iaWxsaW5nIHtcbiAgICAudG9wLXBheW1lbnQtaW5mbyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZHVlLXBheW1lbnQtdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLXJvdy5hZGRyZXNzLXJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtbWV0aG9kIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi44MTNyZW07XG4gICAgfVxuXG4gICAgLmNyZWRpdC1jYXJkLWxvZ29zIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgfVxuXG4gICAgI21vbmVyaXNGcmFtZSB7XG4gICAgICAgIGhlaWdodDogMjM1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICNtb25lcmlzTXNnIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLy9TdGVwIDQgYW5kIDUgLSBjb21tb24gc3R5bGVcbi5vcmRlci1yZXZpZXctcGFnZSxcbi5jb25maXJtYXRpb24tcGFnZSB7XG4gICAgLmxpbmUtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZS1pdGVtLXByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbS1xdWFudGl0eSB7XG4gICAgICAgIC5pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFkZHJlc3MxIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnppcC1jb2RlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59XG5cbi8vIFN0ZXAgNCAtIE9yZGVyIFJldmlld1xuLm9yZGVyLXJldmlldy1wYWdlIHtcbiAgICBhZGRyZXNzIHtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2M3JlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgICYuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41NjNyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYzcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC10aW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJpZ2h0LWluZm8tYm94IHtcbiAgICAgICAgICAgIC5zZWN0aW9uLWJveCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmVoaWNsZS1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpc2NsYWltZXItY2hlY2tvdXQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1zdW1tYXJ5LWZvb3RlciB7XG4gICAgICAgIG1hcmdpbjogMS41NjNyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDMuMTI1cmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxufVxuXG4vLyBPcmRlciBjb25maXJtYXRpb24gcGFnZVxuLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICBtYXJnaW46IDEuMjVyZW0gMCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAzLjQzOHJlbSAwIDA7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGFjY291bnQgYm94XG4gICAgLmxvZ2luLWJveCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMS41NjNyZW0gMS4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubG9naW4tY3JlYXRlLWFjY291bnQge1xuICAgICAgICAgICAgLmxvZ2luLWJveC1maWVsZHNldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgICAgICAuZm9ybS1yb3cge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sb2dpbi1ib3gtc3VibWl0LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaXZhY3ktcG9saWN5IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAgICAgICAgICAgICAmLmxpbmsge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcmVhdGUtYWNjb3VudC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcmVhdGUtYWNjb3VudC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9yZGVyIGNvbmZpcm1hdGlvbiBtYWluIGNvbnRlbnRcbiAgICAuY29uZmlybWF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMi4xODhyZW07XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2M3JlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aW9uLWJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXJTdW1tYXJ5TGl2ZUNoYXQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aW9uLWljb24ge1xuICAgICAgICAgICAgICAgIC5jYXJkLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcblxuICAgICAgICAmLS10b3AtbWFyZ2luIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgICYuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41NjNyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYzcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC10aW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNtcy1yZW1pbmRlci1ib3gge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW0gMC42MjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItY29uZmlybWF0aW9uLWxpbmtzIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHB0LWluZm8tYm94IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2YyZjJmMztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDAuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMC45Mzc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltZy1ib3gge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNDM3NXJlbSAwIDA7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMS4yNXJlbSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1ib3gge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU3cHgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWRhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW1vdW50LWR1ZS1hdC1zdG9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtYmxvY2sge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbG9jYWxlIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taW5pLWJpbGxpbmctYWRkcmVzcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICAgICAgKyAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gNTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hlY2tlZC1pY29uIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpIGluc2V0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcblxuICAgICAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFwcG9pbnRtZW50LWRhdGEtdGltZS1sb2NhbGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1kYXRhLXRpbWUge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC10aW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubG9jYXRpb24tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWRkLXRvLWNhbGVuZGFyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmludC1saW5rIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZW1pbmRlci1pbmZvIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b21lci1jYXJlIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluZm9ybWF0aW9uLWFzc2V0cyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwdC1pbmZvIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuXG4gICAgICAgICAgICAuaW5mb3JtYXRpb24tYm94LFxuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGl2IHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mb3JtYXRpb24tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hc3NldHMtcGRmIHtcbiAgICAgICAgICAgIC5hcHB0LWluZm8tcGRmIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmN1c3RvbWVyLWNhcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuXG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItc3VtbWFyeS10aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxldnktbWVzc2FnZS1vcmRlcmRldGFpbHMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1zdW1tYXJ5LWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW07XG5cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgICAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYWx3YXlzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmUtaXRlbXMge1xuICAgICAgICAgICAgLnByb2R1Y3QtYnJhbmQsXG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0bmFtZS1jb2x1bW4ge1xuICAgICAgICAgICAgLmxpbmUtaXRlbXMtdGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci1zdW1tYXJ5LXByb2R1Y3RzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taW5pLWFkZHJlc3MtbG9jYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mdWxsLW5hbWUge1xuICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZW1haWwge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc3RhbC1jb2RlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGVyc29uYWwtcGF5bWVudC1pbmZvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgICAgICAgICAgLmluZm9ybWF0aW9uLWJveCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDA7XG5cbiAgICAgICAgICAgICAgICAmLS1mdWxsLXBhZGRpbmcge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtLWdyZXktYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgICAmLS1uby1tYXJnaW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLW9yYW5nZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXltZW50LXZlcmlmaWNhdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweCAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uZWVkLWNoYW5nZXMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtdmVyaWZpY2F0aW9uIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItdG90YWxzLXRhYmxlIHtcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1kZXRhaWxlZC1pbmZvIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAuYXR0cmlidXRlLWRhdGEge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4uc2F2ZS1mb3ItYmlsbGluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1vbmVyaXNJbnB1dCB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoMjA0LCAyMDQsIDIwNCk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuI21vbmVyaXNOYW1lSW5wdXQge1xuICAgIHdpZHRoOiAyNTVweDtcbn1cblxuLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgZGl2OmZpcnN0LWNoaWxkLFxuLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgZGl2OmZpcnN0LWNoaWxkICsgZGl2IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBNaW5pIGhlYWRlciBzdHlsZVxuLm1pbmktaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcblxuICAgIC5oZWFkZXItbG9nbyB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMjZweCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtcGVyc29uYWwtaW5mbyB7XG4gICAgLmFjY291bnQtaW5mby1jaGVja291dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBsaW5lLWhlaWdodDogMXB4O1xuICAgIH1cblxuICAgIC5hY2NvdW50LWluZm8tY2hlY2tvdXQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgLmFjY291bnQtaW5mby1mb3JtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgLmFjY291bnQtaW5mby1mb3JtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjY291bnQtaW5mby1jaGVja291dCxcbiAgICAgICAgLmFjY291bnQtaW5mby1jaGVja291dC1sYWJlbCxcbiAgICAgICAgLm5hbWUtbGVuZ3RoLWVycm9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjb3VudC1pbmZvLWZvcm0tdG9nZ2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51cGRhdGUtY3JlZHMtbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yZXF1aXJlZC1maWVsZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiKlwiO1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG4iLCIvLyBUaGlzIGZpbGUgY29udGFpbnMgdGhlIHN0eWxlcyBmb3IgdGhlIGJveCB3aXRoIGNhcnQgZGV0YWlscyBmcm9tIENoZWNrb3V0LCBTdW1tYXJ5IGFuZCBPcmRlciBEZXRhaWxzKE15IEFjY291bnQpIHBhZ2VzXG4uY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcblxuICAgICAgICAmLnF0eS1oZWFkZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50b3RhbC1wcmljZS1oZWFkZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZS1pdGVtcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW0gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZS1pdGVtLWRldGFpbHMge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbS1wcmljZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lLWl0ZW0tcXVhbnRpdHkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLml0ZW0tcXVhbnRpdHksXG4gICAgLnByaWNlLXRvdGFsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG5cbiAgICAubGluZS1pdGVtLXRvdGFsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMztcbiAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtO1xuXG4gICAgICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcm9kdWN0IFNldFxuICAgIC5mcm9udC1iYWNrLXNldC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5maXJzdC1wc2V0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIH1cblxuICAgIC8vIFJlYmF0ZSBzZWN0aW9uXG4gICAgLnJlYmF0ZS1iYWRnZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAuMzEyNXJlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3JlYmF0ZV9pY29uLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuMjVyZW0gMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbn1cblxuLy8gQWRpdGlvbmFsIFNlcnZpY2VzXG4uc2VydmljZS1yb3cge1xuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbn1cblxuLy8gQWRpdGlvbmFsIGN1c3RvbSBzdHlsZXMgZm9yIE9yZGVyIERldGFpbHMoTXkgQWNjb3VudCkgcGFnZVxuLm9yZGVyZGV0YWlscyB7XG4gICAgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLWJveCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBBZGl0aW9uYWwgY3VzdG9tIHN0eWxlcyBmb3IgQ2hlY2tvdXQgcGFnZXNcbi5jaGVja291dC1taW5pLWNhcnQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgLmNoZWNrb3V0LW1pbmktY2FydCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMCAxLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgLmxpbmUtaXRlbXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saW5lLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5maXJzdC1wc2V0IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNlY29uZC1wc2V0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saW5lLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgM3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1icmFuZCxcbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2UtdG90YWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGluZS1pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIjpcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1yb3cge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIEFkaXRpb25hbCBjdXN0b20gc3R5bGVzIGZvciBTdGVwIDQgLSBPcmRlciBSZXZpZXdcbi5vcmRlci1yZXZpZXctcGFnZSB7XG4gICAgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmMmYyZjM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZGF0YS10aW1lIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwLWluZm8td3JhcHBlciB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24tYm94IHtcbiAgICAgICAgLnNlY3Rpb24tdGl0bGUsXG4gICAgICAgIHAsIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lZGl0LXNlY3Rpb24tbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taW5pLWFkZHJlc3MtbG9jYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mdWxsLW5hbWUge1xuICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZW1haWwge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc3RhbC1jb2RlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGlzY2xhaW1lci1jaGVja291dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEFkaXRpb25hbCBjdXN0b20gc3R5bGVzIGZvciByZWJhdGUgbWVzc2FnZSAtIE9yZGVyIFJldmlldyAmIENvbmZpcm1hdGlvbiBwYWdlXG4ub3JkZXItcmV2aWV3LXBhZ2UsXG4uY29uZmlybWF0aW9uLXBhZ2Uge1xuICAgIC5yZWJhdGUtdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5yZWJhdGUtYm94IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IDgwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNyU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLWJhZGdlIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG59XG4iLCIvLyBCZWdpbjogQXBwb2ludG1lbnQgQ2FsZW5kYXJcbi5hcHBvaW50bWVudHMge1xuICAgICYuYXBwb2ludG1lbnRzLXdyYXAge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgICAgICAgbWFyZ2luOiA1MHB4IDAgNzVweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXRpdGxlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWR1cmF0aW9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtY2FsZW5kYXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmxvYWRlciB7XG4gICAgICAgICAgICBib3R0b206IC00ZW07XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xuZHIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLXNtb2tlKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE4cHg7XG4gICAgfVxuXG4gICAgLmNsbmRyLWNvbnRyb2xzIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDEuMjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubW9udGgge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG5kci1wcmV2aW91cy1idXR0b24sXG4gICAgLmNsbmRyLW5leHQtYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgfVxuXG4gICAgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbixcbiAgICAuY2xuZHItbmV4dC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xuZHItcHJldmlvdXMtYnV0dG9uIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODEzXCI7XG4gICAgICAgICAgICBsZWZ0OiAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xuZHItbmV4dC1idXR0b24ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MTRcIjtcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsbmRyLXRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZTtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xuZHItY29udHJvbHMge1xuICAgICAgICAgICAgJi53ZWVrIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItZGF5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMC42MjVyZW07XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZGRkZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkZGRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmV2ZW50IHtcbiAgICAgICAgICAgIC53LWRheSxcbiAgICAgICAgICAgIC5tb250aC1kYXkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGF5IHtcbiAgICAgICAgICAgIC5tb250aC12aWV3IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSBhbmQgKG1heC13aWR0aDogMTMxOXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZXZlbnQ6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5kYXktY29udGVudHMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCguZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZS1ldmVudCB7XG4gICAgICAgICAgICAgICAgLmRheS1jb250ZW50cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maXJzdC1kYXkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb250aC1kYXkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXktY29udGVudHMge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IDI5cHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAyOXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC53LWRheSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC53ZWVrLXZpZXcge1xuICAgICAgICAgICAgLmNvbnRyb2xsLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xuZHItdGFicyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgLnRhYiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1zbW9rZSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9udGgtdGFiIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWVycm9yLW1lc3NhZ2UgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzLFxuICAgIC5hcHBvaW50bWVudC1kYXRlLXRpbWUsXG4gICAgLm5vLWF2YWlsYWJsZS1hcHBvaW50bWVudHMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRlO1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAxLjU2M3JlbSAxLjI1cmVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRhdGUge1xuICAgICAgICBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSkge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2LjYlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnRzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgICAgICAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAzMyU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFwcG9pbnRtZW50LWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS41NjNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDAgMC45Mzc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lZGl0LWFwcG9pbnRtZW50IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwdC1leHBpcnkge1xuICAgICAgICBtYXJnaW46IDEuMjVyZW0gMCAwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZWVkLWhlbHAtY2hlY2tvdXQtYXBwb2ludG1lbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogNTBweCAwIDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbjogMCAwIDUwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYud2l0aC1hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtY29udGludWUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogMzc2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwdC1leHBpcnkge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gRW5kOiBBcHBvaW50bWVudCBDYWxlbmRhclxuXG4uYXBwb2ludG1lbnQtcGFnZSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlcnRpY2FsLWFsaWduIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5zdGFydF9sb2NhdGlvbiB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1zdG9yZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTM0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbWFwLWJveCB7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1tYXAge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzlweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXAtdmlldyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM2MHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdC12aWV3LWl0ZW1zIHtcbiAgICAgICAgLmxvY2F0aW9uLWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAubG9jYXRpb24taXRlbS13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCA1NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vcmUtdGltZXMsXG4gICAgICAgIC5ib29rLW5vdyB7XG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9yZS10aW1lcyB7XG4gICAgICAgICAgICAmOm5vdCguc3RvcmVkLWhlcmUtYnRuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ob2xsb3cge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdG9yZWQtaGVyZS1idG4ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RvcmVkLXRpcmVzIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib29rLW5vdyB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hvdy1zdG9yZS1ib3gge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNob3ctc3RvcmUtaW5mbyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9saXN0dmlld0Fycm93LnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oaWdobGlnaHQtb3V0b2ZzdG9jay1zdG9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICYudHJhbnNpdGlvbi10by1lbmQge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0LXZpZXctaXRlbXMsXG4gICAgLnN0b3JlLWRldGFpbHMtYm94IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWl0ZW0tbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uaWNrbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWl0ZW0tZGlzdGFuY2Uge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWF2YWlsYWJpbGl0eSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAwO1xuXG4gICAgICAgIC5hdmFpbGFiaWxpdHktbWVzc2FnZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVhcmxpZXN0LWF2YWlsYWJsZSB7XG4gICAgICAgICAgICAuc2xvdC1pbmZvIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VhcmNoaW5nLWZvci1hdmFpbGFiaWxpdHkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmxvYXQtY2xlYXItYm90aCB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm8tdHJhaWxlci1zZXJ2aWNlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cblxuICAgIC5yYXRpbmctZGlzdGFuY2UtYm94IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrLWFuZC1wYWdpbmF0aW9uLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAxLjg3NXJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW46IDEuODc1cmVtIDAgLTEuODc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwLWJhY2stbGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN0b3JlIERldGFpbHNcbiAgICAubWFwLWluZm9ib3gge1xuICAgICAgICAuc3RvcmUtYmFjay1ib3gge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdG9yZS1iYWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWRldGFpbHMtYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgICAgICAubG9jYXRpb24tZGlzdGFuY2Uge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb3JlLWluZm8tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAxLjg3NXJlbTtcblxuICAgICAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1vcmUtaW5mby10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuMjVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMCAxLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob25lLW51bWJlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuOTM3NXJlbSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJvb2tpbmctbm90LWF2YWlsYWJsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhO1xuICAgICAgICBtYXJnaW46IDAgMCAyLjE4OHJlbTtcbiAgICAgICAgcGFkZGluZzogMCAwIDEuODc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1maWx0ZXJzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjM2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTNweCAwIDAgMTZweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QtbG9jYXRpb24td3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cblxuLy8gQXBwb2ludG1lbnQgdGltZSBoYXMgdGFrZW4gLSBwb3B1cFxuLy8gQXBwb2ludG1lbnQgUmVsZWFzZWQgTWVzc2FnaW5nIC0gcG9wdXBcbi5hcHBvaW50bWVudC1wb3B1cC13cmFwIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIHJpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgdG9wOiAwLjkzNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxLjc1cmVtO1xuICAgICAgICAgICAgdG9wOiAxLjQzOHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFN0eWxlIGZvciBzdG9yYWdlIG1vZGFsIGZyb20gYXBwb2ludG1lbnQgc3RlcFxuI3N0b3JhZ2VNb2RhbCxcbiN0cmFpbGVyVGlyZU1vZGFsIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIC5icmluZ2luZy10cmFsZXItYnRuIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJyaW5naW5nLXdoZWVsLWJ0biB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudHJhaWxlci1hcHBvaW50bWVudC1tb2RhbCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgIH1cblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRyYWlsZXItbW9kYWwtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAudGl0bGUuc3RlcC10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi50aXRsZS1sYXJnZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi50aXRsZS1zbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNlY29uZC1zdGVwLW1vZGFsLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNsb3NlLWJ1dHRvbixcbiAgICAgICAgICAgIC5yZXR1cm4tc3RlcC1idXR0b24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tbW9kYWwtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgJi5zZWNvbmQtc3RlcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAmLnNlY29uZC1zdGVwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZzpub3QoLnRyYWlsZXItaW1hZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2OHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgcGFkZGluZzogMTBweCAwIDIwcHg7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmluZm8tYnRuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5LW92ZXI7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudHJhaWxlci1idXR0b24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjMzcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMzNweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDM1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcmUtc3RvcmVkLWJ0biB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm90LXN0b3JlZC1idG4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAgIC5icmluZ2luZy13aGVlbC1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIzNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhaWxlci1tb2RhbC1zdGVwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgLnJldHVybi1zdGVwLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUudGl0bGUtc21hbGwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2RhbC1oZWFkZXIsXG4gICAgICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgICAgICAmLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAmLnNlY29uZC1zdGVwLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubmV4dC1zdGVwLnRyYWlsZXItaW5mbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUudGl0bGUtc21hbGwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wcmV2aW91cy1zdGVwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi50cmFpbGVyLWluZm8ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICAgICAgICAgLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZS50aXRsZS1zbWFsbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG5cbiAgICAgICAgICAgICAgICAudHJhaWxlci1tb2RhbC1idG4ge1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgICAgICAgICAgICAgICAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1saWdodC1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcblxuICAgICAgICAgICAgICAgICAgICAmLnNlbGVjdGVkLXN0ZXAtb3B0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZWxlY3RlZC1zdGVwLW9wdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXR1cm4tc3RlcC1idXR0b24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjdweDtcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgdG9wOiAwLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYubm90LXN0ZXAtb25lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2xpY2Vuc2VQbGF0ZU1vZGFsIHtcbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICB9XG5cbiAgICAjbGljZW5zZVBsYXRlU3VibWl0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICB9XG5cbiAgICAjbGljZW5zZS1wbGF0ZS1udW1iZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDY1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWEtYjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG59XG5cbiN0cmFpbGVyVGlyZU1vZGFsIHtcbiAgICAmLnJldmVhbCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogNzc1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDMwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmFpbGVyLXRpcmUtaGVhZGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQge1xuICAgICAgICAuYWN0aXZlLXRpdGxlIC5zdGVwLW1lc3NhZ2Uge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDAgMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY29uZGFyeS1tb2RhbC10aXRsZS5kaXNhYmxlZCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkaXNhYmxlZC1ncmV5KTtcbiAgICAgICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwLXRpdGxlIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWNvbmQtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDMwcHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50cmFpbGVyLW1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnV0dG9uLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmFpbGVyLW1vZGFsLXN0ZXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAudHJhaWxlci1pbmZvLWJ1dHRvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwLWFycm93IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRpc2FibGVkLWdyZXkpO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3RyYWlsZXJUaXJlTW9kYWxFeGl0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbGVmdDogMzAwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgICAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICAjYnJpbmdpbmdUcmFpbGVyLFxuICAgICNicmluZ2luZ1RyYWlsZXJXaGVlbCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmFpbGVyLW1vZGFsLWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVyLWdyYXk7XG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNob29zZS1hY3Rpb24ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAzNjBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWlsZXJUeXBlIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMjcwcHgpO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCA3NnB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhaWxlckxlbmd0aCB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAuc2Vjb25kLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDE3MHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFN0eWxlIGZvciBzdG9yYWdlIG1vZGFsIGZyb20gYXBwb2ludG1lbnQgc3RlcFxuI2FwcG9pbnRtZW50U2VjdXJlLFxuI3NlbGVjdGVOZXdBcHBvaW50bWVudCB7XG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogNjhweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4NnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgIH1cblxuICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcmUtc3RvcmVkLWJ0biB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm90LXN0b3JlZC1idG4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgIC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuc2VjdWRyZWQtdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDAgMTRweCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXN0YXJ0LWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAuZXhwaXJ5IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1hZGRyZXNzLXdyYXBwZXIge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3RlZC1hcHBvaW50bWVudC1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb25maXJtLWJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTZweDtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2stYnV0dG9uIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDUwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE5NnB4O1xuICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZHVyYXRpb24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICB9XG5cbiAgICAubG9jYXRpb24taXRlbS1uYW1lLFxuICAgIC5sb2NhdGlvbi1pdGVtLWFkZHJlc3Mge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5sb2NhdGlvbi1pdGVtLW5hbWUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbiAgICAubG9jYXRpb24tdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAucmVzdGFydC1hcHBvaW50bWVudCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuY2l0eSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIC56aXAtY29kZSxcbiAgICAuc3RhdGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn1cbiIsIi5wYWdlLWRlc2lnbmVyLWthbHRpcmUge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAubm8tcGFkZGluZy1sZWZ0LWxhcmdlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uby1wYWRkaW5nLXJpZ2h0LWxhcmdlIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxhY2sge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLndoaXRlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAub3JhbmdlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZGFya2VyLWdyYXkge1xuICAgICAgICBjb2xvcjogJGRhcmtlci1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhhcy1zaGFkZG93IHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWJsYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJhY2tncm91bmQtd2hpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJhY2tncm91bmQtb3JhbmdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWRhcmtlci1ncmF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtlci1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgaDUgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWZpZ3VyZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iYW5uZXItdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmFubmVyLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcG9uZW50LWltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiB2YXIoLS1mb2NhbC1wb2ludC14KSB2YXIoLS1mb2NhbC1wb2ludC15KTtcbiAgICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnZpZGVvLWFydGljbGUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtbWFpbi1pbWFnZSxcbiAgICAuZmVhdHVyZWQtYXJ0aWNsZSxcbiAgICAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIHtcbiAgICAgICAgLnZpZGVvLWFydGljbGUgaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLWFydGljbGUtaW1hZ2Uge1xuICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZXhwZXJpZW5jZS1sYXlvdXRzLWV4cGxvcmV0b3BpYyxcbiAgICAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgwKSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9waWMtbGluay10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNXB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM1cHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYS50b3BpYy1saW5rIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b3BpYy1saW5rLWltYWdlIHtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvcHVsYXItcmVhZHMge1xuICAgICAgICBtYXJnaW46IDUwcHggMCAyMHB4O1xuICAgIH1cblxuICAgIC5hcnRpY2xlcy1pbmZpbml0ZSB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMCAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBvcHVsYXItcmVhZHMtdG9wLFxuICAgIC5yZWxhdGVkLXJlYWRzLXRvcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLnBvcHVsYXItcmVhZHMtdGl0bGUge1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICAgIFxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5wb3B1bGFyLXJlYWRzLWxpbmsge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1jb250YWluZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRlci1ncmF5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5hcnRpY2xlLWluZm8ge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggNnB4O1xuICAgIH1cblxuICAgIC5mZWF0dXJlZC10YWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5hcnRpY2xlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmFydGljbGUtbGluay50ZXh0LWxpbmsge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgJi5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiID5cIjtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGV4dC1saW5rLWN1c3RvbTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWNvbnRhaW5lcixcbiAgICAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1saW5rLWZ1bGwge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtYXJ0aWNsZSxcbiAgICAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAuYXJ0aWNsZS1pbmZvIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrZXItZ3JheTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggNTBweCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmVkLXRhZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5LWZlYXR1cmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4IDdweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMxKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgcGFkZGluZzogMTZweCAwIDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzZweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLWxpbmsuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlcy1sYXlvdXQge1xuICAgICAgICAuZmVhdHVyZS1hcnRpY2xlLWltYWdlIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDI1Nik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5hcnRpY2xlLWluZm8ge1xuICAgICAgICAgICAgcGFkZGluZzogMjJweCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZzogMjZweCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3BpYy1icmVhZGNydW1iIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtlci1ncmF5O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgIC5hcnRpY2xlLWJyZWFkY3J1bWJzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwIDVweDtcblxuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudG9waWMtdGl0bGUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHggMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWJyZWFkY3J1bWJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46IDEwcHggMCAyMHB4O1xuXG4gICAgICAgIGEsXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyZWFkY3J1bWItbGV2ZWwtMSxcbiAgICAuYnJlYWRjcnVtYi1sZXZlbC0yLFxuICAgIC5icmVhZGNydW1iLWxldmVsLTMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYi1sZXZlbC0xLFxuICAgIC5icmVhZGNydW1iLWxldmVsLTIge1xuICAgICAgICBhLFxuICAgICAgICBwIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyZWFkY3J1bWItbGV2ZWwtMyB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtY29udGVudHMsXG4gICAgLmNvbnRlbnQtbWFya3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgdWwsXG4gICAgICAgIG9sLFxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLXBhZ2UtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtbWFpbi1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtcGFnZS1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBvbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2UtYmFkZ2Uge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1tYXJrdXAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmJvdHRvbS1ib3JkZXItMnAtZ3JheSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbGlnaHQtZ3JheS1vdmVyO1xuICAgIH1cblxuICAgIC52aWRlby1hcnRpY2xlLWxpbmsge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmFydGljbGUtdmlkZW8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cblxuICAgIC50aHVtYnMtdXAtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC50aHVtYnMtdXAtdGl0bGUgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDRweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAudGh1bWJzLXVwLXN1YnRpdGxlIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC50aHVtYnMtdXAtdHJpZ2dlcnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJHRodW1icy1ncmF5O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRodW1icy11cC10cmlnZ2VyLFxuICAgIC50aHVtYnMtZG93bi10cmlnZ2VyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC50aHVtYnMtdXAtdHJpZ2dlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAudGh1bWJzLWRvd24tdHJpZ2dlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1leHRlcm5hbC1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICAgICAgbWluLWhlaWdodDogMzIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuYXJ0aWNsZS1leHRlcm5hbC1jb250ZW50IHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtZXh0ZXJuYWwtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1leHRlcm5hbC1zdWJ0aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1maWx0ZXJzIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAxMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMzBweCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEycHgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGl2ZS1saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN1YmNhdGVnb3J5LXJlZ2lvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDEwcHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWNvdW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwLmFydGljbGUtY291bnQtbW9iaWxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhLnJlZmluZW1lbnQtZmlsdGVyLXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICA6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwN1wiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9waWMtZmlsdGVycyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ncmlkLWNvbXBvbmVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuY29sdW1uLWNvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICAgIH1cblxuICAgICAgICBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmxleC1jZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5jb250ZW50LW9wdGlvbmFsLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5leHBlcmllbmNlLWxheW91dHMtcHJvZHVjdGNhcmRyaWdodCxcbiAgICAuZXhwZXJpZW5jZS1sYXlvdXRzLXByb2R1Y3RjYXJkbGVmdCxcbiAgICAuZXhwZXJpZW5jZS1sYXlvdXRzLXByb2R1Y3RjYXJkc2NlbnRlcmVkIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygzMCAwKTtcbiAgICB9XG5cbiAgICAucG93ZXJyZXZpZXdzLWNvbnRhaW5lciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMzcHg7XG4gICAgfVxufVxuXG4udmlkZW8tYXJ0aWNsZS1wb3B1cCB7XG4gICAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gICAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgICB0b3A6IC0yOHB4O1xuICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IC0yOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2RpYWxvZy1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuI3Jlc291cmNlLWNlbnRyZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLmV4cGVyaWVuY2UtYXNzZXRzLWhlYWRsaW5lYmFubmVyZnVsbHdpZHRoIHtcbiAgICAgICAgICAgIGhlaWdodDogMzcxcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC50aXRsZS1yb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMzQ1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcblxuICAgICAgICAgICAgICAgIC5iYW5uZXItdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDY1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJhbm5lci1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc3VidGl0bGUtcm93IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgIC5zdWJ0aXRsZS1jb2x1bW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIHtcbiAgICAgICAgICAgIGhlaWdodDogNDA4cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMjBweCAwO1xuXG4gICAgICAgICAgICAudG9waWMtbGluay10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b3BpYy1jb2x1bW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAudG9waWMtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmV4cGVyaWVuY2UtbGF5b3V0cy1wb3B1bGFycmVhZHMge1xuICAgICAgICAgICAgLnBvcHVsYXItcmVhZHMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTAwcHggMCA3MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucG9wdWxhci1yZWFkcy10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZlYXR1cmVkLWFydGljbGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hcnRpY2xlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDMwIDAgMjApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1MCAwKTtcbiAgICB9XG59XG5cbi5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtb3JkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIFJlbW92ZSBpbnB1dCdzIGFycm93cy9zcGlubmVycyBib3hcbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAgICAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIH1cblxuICAgIGlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgIGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDUpIHNvbGlkIHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KSwgMC44KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoODAgMCA0MCk7XG4gICAgfVxuXG4gICAgLmhhcy10aXAtY3VzdG9tIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiByZW0tY2FsYygtMik7XG4gICAgfVxuXG4gICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgIH1cbn1cblxuLmZpbmQtbXktYXBwb2ludG1lbnQge1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgIH1cbn1cblxuLnNlYXNvbi10aXJlLXBvcHVwIHtcbiAgICB3aWR0aDogNjAwcHggIWltcG9ydGFudDtcblxuICAgIC5kaWFsb2ctY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi10aXJlLXBvcHVwLXRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDYwIDI1IDI1KTtcbiAgICB9XG5cbiAgICAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgICAgICAgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnkge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFzb24tdGlyZS1wb3B1cC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUgNjAgMjUgMTApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDYwIDI1IDE1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb25maXJtLWNhbmNlbGF0aW9uLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSAxMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAua2VlcC1hcHBvaW50bWVudC1idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEzIDE1KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwaWZhaWxlZC1wb3B1cC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUgMTApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSAxNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LWRpc2FibGVkO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB2ZXJ5LWxpZ2h0LWdyZXkpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAmOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDQpIHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIHtcbiAgICAuZmllbGQtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgfVxuXG4gICAgLnJhZGlvLWZvcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgfVxuXG4gICAgLmlucHV0LWN1c3RvbSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHZlcnktbGlnaHQtZ3JleSk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICY6Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlcjogcmVtLWNhbGMoNCkgc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYW5jZWwtYXBwb2ludG1lbnQtd2h5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIH1cblxuICAgIC5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXN1Ym1pdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUgNTApO1xuICAgIH1cblxuICAgIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktZGlzYWJsZWQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4udG9vbHRpcCB7XG4gICAgLnNlYXNvbi10aXJlLXBvcHVwLW9yZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCAyMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMzAgMzAgNjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDYwKTtcbiAgICB9XG5cbiAgICAuZmEtY2hlY2stY2lyY2xlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAuZmEtY2hlY2sge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtcmVzY2hlZHVsZS1tZXNzYWdlLWJveC1rZWVwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCAyMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMjApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApO1xuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCAyMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMzAgMzAgNjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDYwKTtcbiAgICB9XG5cbiAgICAuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUsXG4gICAgLmZhLWNoZWNrIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAuZmEtY2hlY2sge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0LXVzLFxuICAgIC50YWxrLW1lbWJlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC50YWxrLW1lbWJlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgfVxufVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1Y2Nlc3Mtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDI1IDAgMzUpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDMwIDMwIDYwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCA2MCk7XG4gICAgfVxuXG4gICAgLmZhLWNoZWNrIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMzAgMCAyMCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNTAgMCAyMCk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1vcmRlci1zdW1tYXJ5IHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXN0YXJ0dGltZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXN0YXJ0dGltZS1kYXkge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY29uZmlybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY29uZmlybS1wcm92aW5jZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWRpc3RhbmNlIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIDAgcmVtLWNhbGMoMTApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXNwYWNlIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDEwIDAgMjApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXJlc2NoZWR1bGUge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1jYW5jZWwge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLXNlbGVjdC1uZXctZGF0ZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY2FsZW5kYXItbmFtZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY2FsZW5kYXItYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG59XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1kcm9wIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2RiNWEwMDtcbiAgICB9XG59XG5cbi5zdG9yZS1kZXRhaWxzLWJveC13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG5cbiAgICAuc3RvcmUtZGV0YWlscy1ib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIC5tb3JlLWluZm8tdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLXBsYWluLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbn1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLWJ1dHRvbi13cmFwcGVyIHtcbiAgICAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LWRpc2FibGVkO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtY2FsZW5kYXIta2VlcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMykgc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDExIDE1KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWFjdGl2ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmFwcG9pbnRtZW50LWRhdGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtZGF0ZSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4ucmV2ZWFsLmFwcG9pbnRtZW50LWNhbGVuZGFyLW1vZGFsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIC5hcHBvaW50bWVudC1jYWxlbmRhci1rZWVwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLWJsb2NrIHtcbiAgICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICAgIC5pbmZvcm1hdGlvbi1ib3gge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIEluIHRoaXMgZmlsZSB3ZSB3aWxsIGhpZGUgc29tZSBzZWN0aW9ucyB0aGF0IHdpbGwgbm90IGJlIGRlbGl2ZXJlZCBmb3IgdGhlIG1vbWVudCBvciB3aWxsIGJlIHNvbWUgQ1IncyBpbiB0aGUgZnV0dXJlIGZvciB0aG9zZSBzZWN0aW9uc1xuXG4vLyBoaWRlIHJlY29tbWVuZGVkIGJhZGdlcyBmcm9tIHRoZSB0b3Agb2YgdGlsZXMgKGdyaWQgcGFnZSlcbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucmVjb21tZW5kZWQtYmFnZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gaGlkZSBcIkhvdyB3b3VsZCB5b3UgbGlrZSB0byBiZSByZW1pbmRlZCBvZiB5b3VyIGFwcG9pbnRtZW50P1wiIHNlY3Rpb24gZnJvbSBDaGVja291dCBTdGVwIDJcbi5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveC5yZW1pbmRlZC1hcHBvaW50bWVudCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyByZW1vdmUgc2VsZWN0IGFycm93IGZvciBDb3VudHJ5IGZpZWxkXG4vLyBub3cgd2UgaGF2ZSBqdXN0IG9uZSBjb3VudHJ5IGFkZGVkIGF1dG9tYXRpY2FsbHkgYW5kIHRoZSBzZWxlY3QgZmllbGQgaXMgbm90IGVkaXRhYmxlXG4uY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuY291bnRyeS1yb3cgLmlucHV0LXNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgICAjaW5zaWRlX2hvbGRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIl19 */
