@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.2.4
 * 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.
   */
@import url("//hello.myfonts.net/count/35541c");
@import url("//hello.myfonts.net/count/3556bc");
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

td,
th {
  padding: 0; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=83.4375em&xxlarge=104.375em"; }

html {
  font-size: 14px;
  box-sizing: border-box; }

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

body {
  padding: 0;
  margin: 0;
  font-family: "BrandonGrotesque", sans-serif;
  font-weight: 200;
  line-height: 1.5;
  color: #2F2F2F;
  background: #f7f3ef; }

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: 1670px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    margin-left: -0.71429rem;
    margin-right: -0.71429rem; }
  .row.expanded {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-left: 0;
    margin-right: 0; }

.column, .columns {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-left: 0.71429rem;
  padding-right: 0.71429rem;
  min-width: initial; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-up-1 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }

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

.small-up-3 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 20%;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 14.28571%;
        -ms-flex: 0 0 14.28571%;
            flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 12.5%;
        -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.71429rem;
  padding-right: 0.71429rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.column.align-stretch, .align-stretch.columns {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-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.75;
  margin-bottom: 1.71429em;
  text-rendering: optimizeLegibility; }

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

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

small {
  font-size: 0.92857rem;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "BrandonGrotesque", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.45em;
  line-height: 1.25; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #d93826;
    line-height: 0; }

h1 {
  font-size: 1.71429rem; }

h2 {
  font-size: 1.71429rem; }

h3 {
  font-size: 1.71429rem; }

h4 {
  font-size: 1.28571rem; }

h5 {
  font-size: 1.14286rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 40em) {
  h1 {
    font-size: 2.28571rem; }
  h2 {
    font-size: 1.85714rem; }
  h3 {
    font-size: 1.85714rem; }
  h4 {
    font-size: 1.42857rem; }
  h5 {
    font-size: 1.14286rem; }
  h6 {
    font-size: 1rem; } }

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

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

ul,
ol,
dl {
  line-height: 1.75;
  margin-bottom: 1.71429em;
  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: 1.14286rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: 700; }

blockquote {
  margin: 0 0 1.71429em;
  padding: 0.64286rem 1.42857rem 0 1.35714rem;
  border-left: 1px solid #d9dee1; }
  blockquote, blockquote p {
    line-height: 1.75;
    color: #77868f; }

cite {
  display: block;
  font-size: 0.92857rem;
  color: #77868f; }
  cite:before {
    content: '\2014 \0020'; }

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

code {
  font-family: "BrandonGrotesque", sans-serif;
  font-weight: 200;
  color: #2F2F2F;
  background-color: #d9dee1;
  border: 1px solid #d9dee1;
  padding: 0.14286rem 0.35714rem 0.07143rem; }

kbd {
  padding: 0.14286rem 0.28571rem 0;
  margin: 0;
  background-color: #d9dee1;
  color: #2F2F2F;
  font-family: "BrandonGrotesque", sans-serif; }

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

.lead {
  font-size: 17.5px;
  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: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

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

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

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

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

@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #77868f;
    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: 1.25em;
  margin: 0 0 1.14286rem 0;
  font-size: 0.9rem;
  background-color: #d93826;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #b83020;
    color: #ffffff; }
  .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: #d93826;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #ae2d1e;
      color: #ffffff; }
  .button.secondary {
    background-color: #5a0e00;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #480b00;
      color: #ffffff; }
  .button.success {
    background-color: #3adb76;
    color: #ffffff; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #ffffff; }
  .button.warning {
    background-color: #ffae00;
    color: #ffffff; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #ffffff; }
  .button.alert {
    background-color: #ec5840;
    color: #ffffff; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #ffffff; }
  .button.hollow {
    border: 1px solid #d93826;
    color: #d93826; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #6d1c13;
      color: #6d1c13; }
    .button.hollow.primary {
      border: 1px solid #d93826;
      color: #d93826; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #6d1c13;
        color: #6d1c13; }
    .button.hollow.secondary {
      border: 1px solid #5a0e00;
      color: #5a0e00; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #2d0700;
        color: #2d0700; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #ec5840;
      color: #ec5840; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #881f0e;
        color: #881f0e; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #d93826;
      color: #ffffff; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #d93826;
        color: #ffffff; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #5a0e00;
        color: #ffffff; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #3adb76;
        color: #ffffff; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #ffffff; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #ec5840;
        color: #ffffff; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #ffffff transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1.25em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: -0.1em; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 3.64286rem;
  padding: 0.85714rem;
  border: 1px solid #bcbfc0;
  margin: 0 0 1.71429rem;
  font-family: inherit;
  font-size: 1.14286rem;
  color: #2F2F2F;
  background-color: #ffffff;
  box-shadow: none;
  border-radius: 0;
  -webkit-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    border: 1px solid #77868f;
    background-color: #ffffff;
    outline: none;
    box-shadow: none;
    -webkit-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

input::placeholder,
textarea::placeholder {
  color: #2F2F2F; }

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

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

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

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

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-left: 0.85714rem;
  margin-right: 1.71429rem;
  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.85714rem; }

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

label {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: 200;
  line-height: 1.8;
  color: #2F2F2F; }
  label.middle {
    margin: 0 0 1.71429rem;
    padding: 0.92857rem 0; }

.help-text {
  margin-top: -0.85714rem;
  font-size: 0.92857rem;
  font-style: italic;
  color: #2F2F2F; }

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

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

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

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

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button {
    margin: 0; }

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

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

.fieldset {
  border: 1px solid #d9dee1;
  padding: 1.42857rem;
  margin: 1.28571rem 0; }
  .fieldset legend {
    background: #f7f3ef;
    padding: 0 0.21429rem;
    margin: 0;
    margin-left: -0.21429rem; }

select {
  height: 3.64286rem;
  padding: 0.85714rem;
  border: 1px solid #bcbfc0;
  margin: 0 0 1.71429rem;
  font-size: 1.14286rem;
  font-family: inherit;
  line-height: normal;
  color: #2F2F2F;
  background-color: #ffffff;
  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%28217, 222, 225%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -1.71429rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 2.57143rem; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMBJREFUeNrEllsOhCAMRVszC9IlzU7KCmVHTJsoMWYMUtpyv9BgbuXQB5ZSdgBYYY4ycgBivk8KYFsQMfMiTTBP4o3nUzCKzOabLJbLy2/g31evGkAginR4/ZegKH5qX3bJCscA3t0x3kgO5tQFyhhFf50xRqFLbyMUNJQzgyjGS/wgCpvKqkRBpuWrE4V9d+1E4dPUXqIg107SQOE/2DRQxMwTDygIInVDET9T3lCoj/6j/VCmGjZOl2lKpZ8AAwDQP7zIimDGFQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #ffffff;
    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.85714rem;
  margin-bottom: 1.71429rem;
  font-size: 0.85714rem;
  font-weight: 700;
  color: #ec5840; }
  .form-error.is-visible {
    display: block; }

.accordion {
  list-style-type: none;
  background: #ffffff;
  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 1.14286rem;
  line-height: 1;
  font-size: 0.85714rem;
  color: #d93826;
  position: relative;
  border: 1px solid #d9dee1;
  border-bottom: 0; }
  :last-child:not(.is-active) > .accordion-title {
    border-radius: 0 0 0 0;
    border-bottom: 1px solid #d9dee1; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #d9dee1; }
  .accordion-title::before {
    content: '+';
    position: absolute;
    right: 1rem;
    top: 50%;
    margin-top: -0.5rem; }
  .is-active > .accordion-title::before {
    content: '–'; }

.accordion-content {
  padding: 1.14286rem;
  display: none;
  border: 1px solid #d9dee1;
  border-bottom: 0;
  background-color: #ffffff;
  color: #d93826; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #d9dee1; }

.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: #d93826 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%;
          transform-origin: 50% 50%;
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1); }

.close-button {
  position: absolute;
  color: #77868f;
  right: 1.14286rem;
  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: #2F2F2F; }

.menu {
  margin: 0;
  list-style-type: none;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  flex-wrap: nowrap; }
  .menu > li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li > a {
    display: block;
    padding: 0.7rem 1.14286rem;
    line-height: 1; }
  .menu input,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex; }
  .menu > li > a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu > li > a img,
    .menu > li > a i,
    .menu > li > a svg {
      margin-right: 0.25rem; }
  .menu > li {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .menu.vertical {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .menu.vertical > li {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
    .menu.vertical > li > a {
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  @media screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.medium-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.medium-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.medium-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.medium-vertical > li > a {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
  @media screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.large-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.large-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.large-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.large-vertical > li > a {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
  @media screen and (min-width: 83.4375em) {
    .menu.xlarge-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.xlarge-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.xlarge-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.xlarge-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.xlarge-vertical > li > a {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
  @media screen and (min-width: 104.375em) {
    .menu.xxlarge-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.xxlarge-horizontal > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.xxlarge-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.xxlarge-vertical > li {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.xxlarge-vertical > li > a {
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
  .menu.simple li {
    line-height: 1;
    display: inline-block;
    margin-right: 1.14286rem; }
  .menu.simple a {
    padding: 0; }
  .menu.align-right {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .menu.expanded > li {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.expanded > li:first-child:last-child {
    width: 100%; }
  .menu.icon-top > li > a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top > li > a img,
    .menu.icon-top > li > a i,
    .menu.icon-top > li > a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      text-align: center;
      margin-bottom: 0.25rem; }
  .menu.nested {
    margin-left: 1.14286rem; }
  .menu .active > a {
    color: #ffffff;
    background: #d93826; }

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

.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: #ffffff;
    top: 0;
    left: 0;
    box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff; }
  .menu-icon:hover::after {
    background: #d9dee1;
    box-shadow: 0 7px 0 #d9dee1, 0 14px 0 #d9dee1; }

.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: #2F2F2F;
    top: 0;
    left: 0;
    box-shadow: 0 7px 0 #2F2F2F, 0 14px 0 #2F2F2F; }
  .menu-icon.dark:hover::after {
    background: #77868f;
    box-shadow: 0 7px 0 #77868f, 0 14px 0 #77868f; }

.flex-video {
  position: relative;
  height: 0;
  padding-bottom: 75%;
  margin-bottom: 1.14286rem;
  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: #d93826;
  color: #ffffff; }
  .label.secondary {
    background: #5a0e00;
    color: #ffffff; }
  .label.success {
    background: #3adb76;
    color: #ffffff; }
  .label.warning {
    background: #ffae00;
    color: #ffffff; }
  .label.alert {
    background: #ec5840;
    color: #ffffff; }

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

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

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

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

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

.reveal {
  display: none;
  z-index: 1006;
  padding: 2.57143rem 2.28571rem;
  border: 1px solid #d9dee1;
  background-color: #ffffff;
  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: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 100rem; } }
  @media screen and (min-width: 40em) {
    .reveal .reveal {
      left: auto;
      right: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 100rem; } }
  @media screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 100rem; } }
  @media screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 100rem; } }
  .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: 39.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; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.clearfix::before, .clearfix::after {
  content: ' ';
  display: table;
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * Fade-zoom animation for first dialog
 */
/* start state */
.my-mfp-zoom-in {
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: scale(0.8);
  transform: scale(0.8); }

/* animate in */
.my-mfp-zoom-in.mfp-ready {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1); }

/* animate out */
.my-mfp-zoom-in.mfp-removing {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  opacity: 0; }

/* Dark overlay, start state */
.my-mfp-zoom-in.mfp-bg {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }

/* animate in */
.my-mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8; }

/* animate out */
.my-mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0; }

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

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

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

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

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

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

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../images/ajax-loader.gif") center center no-repeat; }

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 1; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "fontello";
    font-size: 20px;
    line-height: 1;
    color: #ffffff;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: ""; }
    [dir="rtl"] .slick-prev:before {
      content: ""; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: ""; }
    [dir="rtl"] .slick-next:before {
      content: ""; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        width: 20px;
        height: 20px;
        font-family: "fontello";
        font-size: 20px;
        line-height: 20px;
        text-align: center;
        color: #2F2F2F;
        opacity: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: #ffffff;
      opacity: 1; }

.datepicker {
  display: none;
  position: absolute;
  padding: 4px;
  margin-top: 1px;
  direction: ltr; }
  .datepicker.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    float: left;
    display: none;
    min-width: 160px;
    list-style: none;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    background-clip: padding-box;
    *border-right-width: 2px;
    *border-bottom-width: 2px;
    color: #333;
    font-size: 13px;
    line-height: 18px; }
    .datepicker.dropdown-menu th {
      padding: 4px 5px; }
    .datepicker.dropdown-menu td {
      padding: 4px 5px; }
  .datepicker table {
    border: 0;
    margin: 0;
    width: auto; }
    .datepicker table tr td span {
      display: block;
      width: 23%;
      height: 54px;
      line-height: 54px;
      float: left;
      margin: 1%;
      cursor: pointer; }
  .datepicker td {
    text-align: center;
    width: 20px;
    height: 20px;
    border: 0;
    font-size: 12px;
    padding: 4px 8px;
    background: #fff;
    cursor: pointer; }
    .datepicker td.active.day, .datepicker td.active.year {
      background: #2ba6cb; }
    .datepicker td.old, .datepicker td.new {
      color: #999; }
    .datepicker td span.active {
      background: #2ba6cb; }
    .datepicker td.day.disabled {
      color: #eee; }
    .datepicker td span.month.disabled, .datepicker td span.year.disabled {
      color: #eee; }
  .datepicker th {
    text-align: center;
    width: 20px;
    height: 20px;
    border: 0;
    font-size: 12px;
    padding: 4px 8px;
    background: #fff;
    cursor: pointer; }
    .datepicker th.active.day, .datepicker th.active.year {
      background: #2ba6cb; }
    .datepicker th.date-switch {
      width: 145px; }
    .datepicker th span.active {
      background: #2ba6cb; }
  .datepicker .cw {
    font-size: 10px;
    width: 12px;
    padding: 0 2px 0 5px;
    vertical-align: middle; }
  .datepicker.days div.datepicker-days {
    display: block; }
  .datepicker.months div.datepicker-months {
    display: block; }
  .datepicker.years div.datepicker-years {
    display: block; }
  .datepicker thead tr:first-child th {
    cursor: pointer; }
    .datepicker thead tr:first-child th.cw {
      cursor: default;
      background-color: transparent; }
  .datepicker tfoot tr:first-child th {
    cursor: pointer; }

.datepicker-inline {
  width: 220px; }

.datepicker-rtl {
  direction: rtl; }
  .datepicker-rtl table tr td span {
    float: right; }

.datepicker-dropdown {
  top: 0;
  left: 0; }
  .datepicker-dropdown:before {
    content: '';
    display: inline-block;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ccc;
    border-bottom-color: 1px solid rgba(0, 0, 0, 0.2);
    position: absolute;
    top: -7px;
    left: 6px; }
  .datepicker-dropdown:after {
    content: '';
    display: inline-block;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    position: absolute;
    top: -6px;
    left: 7px; }

.datepicker > div,
.datepicker-dropdown::before,
.datepicker-dropdown::after {
  display: none; }

.datepicker-close {
  position: absolute;
  top: -30px;
  right: 0;
  width: 15px;
  height: 30px;
  padding: 0;
  display: none; }

.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
  background-color: transparent; }

/*!
 * jQuery UI CSS Framework 1.11.4
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
  display: none; }

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

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none; }

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse; }

.ui-helper-clearfix:after {
  clear: both; }

.ui-helper-clearfix {
  min-height: 0;
  /* support: IE7 */ }

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  filter: Alpha(Opacity=0);
  /* support: IE8 */ }

.ui-front {
  z-index: 100; }

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
  cursor: default !important; }

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  display: block;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat; }

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*!
 * jQuery UI Datepicker 1.11.4
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/datepicker/#theming
 */
.ui-datepicker {
  width: 17em;
  padding: .2em .2em 0;
  display: none;
  z-index: 999; }

.ui-datepicker .ui-datepicker-header {
  position: relative;
  padding: .2em 0; }

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute;
  top: 2px;
  width: 1.8em;
  height: 1.8em; }

.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
  top: 1px; }

.ui-datepicker .ui-datepicker-prev {
  left: 2px; }

.ui-datepicker .ui-datepicker-next {
  right: 2px; }

.ui-datepicker .ui-datepicker-prev-hover {
  left: 1px; }

.ui-datepicker .ui-datepicker-next-hover {
  right: 1px; }

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  display: block;
  position: absolute;
  left: 50%;
  margin-left: -8px;
  top: 50%;
  margin-top: -8px; }

.ui-datepicker .ui-datepicker-title {
  margin: 0 2.3em;
  line-height: 1.8em;
  text-align: center; }

.ui-datepicker .ui-datepicker-title select {
  font-size: 1em;
  margin: 1px 0; }

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: 45%; }

.ui-datepicker table {
  width: 100%;
  font-size: .9em;
  border-collapse: collapse;
  margin: 0 0 .4em; }

.ui-datepicker th {
  padding: .7em .3em;
  text-align: center;
  font-weight: bold;
  border: 0; }

.ui-datepicker td {
  border: 0;
  padding: 1px; }

.ui-datepicker td span,
.ui-datepicker td a {
  display: block;
  padding: .2em;
  text-align: right;
  text-decoration: none; }

.ui-datepicker .ui-datepicker-buttonpane {
  background-image: none;
  margin: .7em 0 0 0;
  padding: 0 .2em;
  border-left: 0;
  border-right: 0;
  border-bottom: 0; }

.ui-datepicker .ui-datepicker-buttonpane button {
  float: right;
  margin: .5em .2em .4em;
  cursor: pointer;
  padding: .2em .6em .3em .6em;
  width: auto;
  overflow: visible; }

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: left; }

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
  width: auto; }

.ui-datepicker-multi .ui-datepicker-group {
  float: left; }

.ui-datepicker-multi .ui-datepicker-group table {
  width: 95%;
  margin: 0 auto .4em; }

.ui-datepicker-multi-2 .ui-datepicker-group {
  width: 50%; }

.ui-datepicker-multi-3 .ui-datepicker-group {
  width: 33.3%; }

.ui-datepicker-multi-4 .ui-datepicker-group {
  width: 25%; }

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 0; }

.ui-datepicker-multi .ui-datepicker-buttonpane {
  clear: left; }

.ui-datepicker-row-break {
  clear: both;
  width: 100%;
  font-size: 0; }

/* RTL support */
.ui-datepicker-rtl {
  direction: rtl; }

.ui-datepicker-rtl .ui-datepicker-prev {
  right: 2px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next {
  left: 2px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-prev:hover {
  right: 1px;
  left: auto; }

.ui-datepicker-rtl .ui-datepicker-next:hover {
  left: 1px;
  right: auto; }

.ui-datepicker-rtl .ui-datepicker-buttonpane {
  clear: right; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
  float: left; }

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
  float: right; }

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px; }

/*!
 * jQuery UI CSS Framework 1.11.4
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 *
 * To view and modify this theme, visit http://jqueryui.com/themeroller/
 */
/* Component containers
----------------------------------*/
.ui-widget {
  font-family: "BrandonGrotesque", sans-serif;
  font-size: 1.1em; }
  .ui-widget .ui-widget {
    font-size: 1em; }
  .ui-widget input,
  .ui-widget select,
  .ui-widget textarea,
  .ui-widget button {
    font-family: "BrandonGrotesque", sans-serif;
    font-size: 1em; }

.ui-widget-content {
  background: rgba(255, 255, 255, 0.94);
  color: #222222; }
  .ui-widget-content a {
    color: #222222; }

.ui-widget-header {
  color: #2F2F2F;
  font-weight: 700; }
  .ui-widget-header a {
    color: #2F2F2F; }

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
  border: 1px solid #bcbfc0;
  background: #ffffff;
  color: #2F2F2F; }

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
  color: #555555;
  text-decoration: none; }

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: 1px solid #77868f;
  background: #ffffff;
  color: #2F2F2F; }

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited {
  color: #d93826;
  text-decoration: none; }

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
  border: solid 1px #d93826;
  background: #d93826;
  color: #ffffff; }

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #ffffff;
  text-decoration: none; }

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid #77868f;
  background: #ffffff;
  color: #2F2F2F; }

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: #2F2F2F; }

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
  border: 1px solid #cd0a0a;
  background: #fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;
  color: #cd0a0a; }

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
  color: #cd0a0a; }

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
  color: #cd0a0a; }

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
  font-weight: 700; }

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
  opacity: .7;
  filter: Alpha(Opacity=70);
  /* support: IE8 */
  font-weight: normal; }

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: .35;
  filter: Alpha(Opacity=35);
  /* support: IE8 */
  background-image: none; }

.ui-state-disabled .ui-icon {
  filter: Alpha(Opacity=35);
  /* support: IE8 - See #6059 */ }

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
  width: 16px;
  height: 16px;
  text-indent: 0; }

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;
  opacity: 0.3;
  filter: Alpha(Opacity=30);
  /* support: IE8 */ }

.ui-widget-shadow {
  margin: -8px 0 0 -8px;
  padding: 8px;
  background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;
  opacity: 0.3;
  filter: Alpha(Opacity=30);
  /* support: IE8 */ }

/* Custom Overrides
----------------------------------*/
.ui-datepicker {
  width: auto;
  padding: 1.14286rem;
  border-radius: 3px; }
  .ui-datepicker table {
    margin: 0; }
    .ui-datepicker table thead,
    .ui-datepicker table tbody,
    .ui-datepicker table tfoot {
      border: 0; }
    .ui-datepicker table td span, .ui-datepicker table td a {
      box-sizing: border-box;
      border: #f2f2f2;
      border-radius: 50%;
      padding: 0.57143rem 0.71429rem !important;
      display: block;
      text-align: center; }
    .ui-datepicker table td.ui-datepicker-today span, .ui-datepicker table td.ui-datepicker-today a, .ui-datepicker table td.ui-datepicker-current-day span, .ui-datepicker table td.ui-datepicker-current-day a {
      border: 1px solid #77868f; }
    .ui-datepicker table td.ui-datepicker-current-day span, .ui-datepicker table td.ui-datepicker-current-day a {
      color: #2F2F2F;
      border-width: 2px;
      border-color: #d93826; }
    .ui-datepicker table td .ui-state-default,
    .ui-datepicker table td .ui-state-highlight,
    .ui-datepicker table td .ui-state-active {
      border: 0;
      padding: 0;
      background-color: transparent; }
  .ui-datepicker .ui-datepicker-prev,
  .ui-datepicker .ui-datepicker-next {
    border-radius: 50%;
    border: solid 1px #2F2F2F; }
    .ui-datepicker .ui-datepicker-prev:hover,
    .ui-datepicker .ui-datepicker-next:hover {
      opacity: 0.8; }
    .ui-datepicker .ui-datepicker-prev span,
    .ui-datepicker .ui-datepicker-next span {
      font-size: 1.71429rem;
      line-height: 16px;
      text-align: center;
      margin-top: -10px; }
  .ui-datepicker .ui-datepicker-prev,
  .ui-datepicker .ui-datepicker-next,
  .ui-datepicker .ui-datepicker-prev-hover,
  .ui-datepicker .ui-datepicker-next-hover {
    top: 2px; }
  .ui-datepicker .ui-datepicker-prev,
  .ui-datepicker .ui-datepicker-prev-hover {
    left: 2px; }
  .ui-datepicker .ui-datepicker-next,
  .ui-datepicker .ui-datepicker-next-hover {
    right: 2px; }

/* ==========================================================================

    Project
    ==========
    El Cosmico

    Author
    ==========

                                      ,8  ,8
                                      88  88
                                      88  88
    `8b      db      d8' ,adPPYYba,   88  88   ,adPPYba,   ,b,dPPYba,
     `8b    d88b    d8'  ""     `Y8   88  88  a8"     "8a  88P'    "8a
      `8b  d8'`8b  d8'   ,adPPPPP88   88  88  8b       d8  88       d8
       `8bd8'  `8bd8'    88,    ,88   88  88  "8a,   ,a8"  88b,   ,a8"
         YP      YP      `"8bbdP"Y8"  88  88   `"YbbdP"'   88`YbbdP"'
                                                           88
                                                           8"

 ========================================================================== */
/****
 *  Components
 */
/**** Fonts ****/
@font-face {
  font-family: "WindsorD";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/35541C_0_0.eot?#iefix") format("embedded-opentype"), url("../fonts/35541C_0_0.woff2") format("woff2"), url("../fonts/35541C_0_0.woff") format("woff"), url("../fonts/35541C_0_0.ttf") format("truetype"); }

@font-face {
  font-family: "WindsorD";
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/35541C_1_0.eot?#iefix") format("embedded-opentype"), url("../fonts/35541C_1_0.woff2") format("woff2"), url("../fonts/35541C_1_0.woff") format("woff"), url("../fonts/35541C_1_0.ttf") format("truetype"); }

/* @import must be at top of file, otherwise CSS will not work */
@font-face {
  font-family: "BrandonGrotesque";
  font-style: normal;
  font-weight: normal;
  src: url("../fonts/3556BC_0_0.eot?#iefix") format("embedded-opentype"), url("../fonts/3556BC_0_0.woff2") format("woff2"), url("../fonts/3556BC_0_0.woff") format("woff"), url("../fonts/3556BC_0_0.ttf") format("truetype"); }

@font-face {
  font-family: "BrandonGrotesque";
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/3556BC_1_0.eot?#iefix") format("embedded-opentype"), url("../fonts/3556BC_1_0.woff2") format("woff2"), url("../fonts/3556BC_1_0.woff") format("woff"), url("../fonts/3556BC_1_0.ttf") format("truetype"); }

@font-face {
  font-family: 'fontello';
  src: url("../fonts/fontello.eot?60666167");
  src: url("../fonts/fontello.eot?60666167#iefix") format("embedded-opentype"), url("../fonts/fontello.woff2?60666167") format("woff2"), url("../fonts/fontello.woff?60666167") format("woff"), url("../fonts/fontello.ttf?60666167") format("truetype"), url("../fonts/fontello.svg?60666167#fontello") format("svg");
  font-weight: normal;
  font-style: normal; }

/* 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?60666167#fontello') format('svg');
  }
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before,
[class^="fa-"]:before, [class*=" fa-"]:before, [class*=" fi-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
  /* 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;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

.icon-arrow-left:before, .single-slide .slick-prev:before, .slick-prev:before,
.fa-chevron-left:before,
.fi-arrow-left:before {
  content: '\e800'; }

/* '' */
.icon-arrow-right:before, .single-slide .slick-next:before, .slick-next:before,
.fa-chevron-right:before,
.fi-arrow-right:before {
  content: '\e801'; }

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

/* '' */
.icon-menu-close:before {
  content: '\e803'; }

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

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

/* '' */
.icon-down-open:before {
  content: '\e806'; }

/* '' */

[type=color],
[type=date],
[type=datetime-local],
[type=datetime],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
select,
textarea {
  opacity: 0.55;
  padding: 1.14286rem;
  margin-bottom: 0;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  background-color: #f5f5f5; }
  @media screen and (min-width: 64em) {
    [type=color],
    [type=date],
    [type=datetime-local],
    [type=datetime],
    [type=email],
    [type=month],
    [type=number],
    [type=password],
    [type=search],
    [type=tel],
    [type=text],
    [type=time],
    [type=url],
    [type=week],
    select,
    textarea {
      font-size: 1rem; } }
  [type=color]:valid, [type=color]:focus,
  [type=date]:valid,
  [type=date]:focus,
  [type=datetime-local]:valid,
  [type=datetime-local]:focus,
  [type=datetime]:valid,
  [type=datetime]:focus,
  [type=email]:valid,
  [type=email]:focus,
  [type=month]:valid,
  [type=month]:focus,
  [type=number]:valid,
  [type=number]:focus,
  [type=password]:valid,
  [type=password]:focus,
  [type=search]:valid,
  [type=search]:focus,
  [type=tel]:valid,
  [type=tel]:focus,
  [type=text]:valid,
  [type=text]:focus,
  [type=time]:valid,
  [type=time]:focus,
  [type=url]:valid,
  [type=url]:focus,
  [type=week]:valid,
  [type=week]:focus,
  select:valid,
  select:focus,
  textarea:valid,
  textarea:focus {
    opacity: 1;
    background-color: #ffffff;
    color: #2F2F2F;
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out; }
  [type=color][readonly],
  [type=date][readonly],
  [type=datetime-local][readonly],
  [type=datetime][readonly],
  [type=email][readonly],
  [type=month][readonly],
  [type=number][readonly],
  [type=password][readonly],
  [type=search][readonly],
  [type=tel][readonly],
  [type=text][readonly],
  [type=time][readonly],
  [type=url][readonly],
  [type=week][readonly],
  select[readonly],
  textarea[readonly] {
    opacity: 1; }

input[type=radio]:not(old) {
  width: 1.71429rem;
  height: 1.71429rem;
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  font-size: 1em;
  line-height: 1;
  display: none; }
  input[type=radio]:not(old) + label {
    position: relative;
    display: inline-block;
    padding-left: 2.57143rem;
    line-height: 1.71429rem; }
    input[type=radio]:not(old) + label:before, input[type=radio]:not(old) + label:after {
      position: absolute;
      content: '';
      display: inline-block;
      top: 50%;
      border-radius: 50%; }
    input[type=radio]:not(old) + label:before {
      left: 0;
      width: 1.71429rem;
      height: 1.71429rem;
      margin-top: -0.85714rem;
      border: solid 1px #d9dee1;
      background-color: #ffffff;
      z-index: 1; }
    input[type=radio]:not(old) + label:after {
      left: 0.85714rem;
      width: 0.85714rem;
      height: 0.85714rem;
      margin-top: -0.42857rem;
      margin-left: -0.42857rem;
      z-index: 2; }
  input[type=radio]:not(old):checked + label:after {
    background-color: #d93826; }

select {
  padding-right: 65px;
  background-position: -webkit-calc(100% + 16px) center, -webkit-calc(100% + 48px) center;
  background-position: calc(100% + 16px) center, calc(100% + 48px) center;
  background-size: 1px 40px, 16px auto; }

input.datepicker {
  background-position: -webkit-calc(100% - 16px);
  background-position: calc(100% - 16px);
  background-size: auto 14px;
  background-repeat: no-repeat;
  color: #2F2F2F; }

[type=submit] {
  background-color: #d93826; }
  [type=submit]:hover, [type=submit]:focus {
    background-color: #b83020; }

form .row + .row {
  margin-top: 1.14286rem !important; }

form .small-12 + .small-12 {
  margin-top: 1.14286rem; }

.input-group {
  margin-bottom: 0; }
  .input-group .input-label,
  .input-group .input-wrapper {
    display: table-cell;
    vertical-align: middle; }
  .input-group .input-label {
    width: 1%; }
    .input-group .input-label label {
      font-weight: 700;
      text-transform: uppercase;
      margin-right: 1.71429rem;
      white-space: nowrap; }
  .input-group .input-wrapper {
    width: 100%; }

@media screen and (max-width: 39.9375em) {
  #subForm > .row {
    margin-left: 1rem;
    margin-right: 1rem; } }

/* FORM BLOCK */
.module-form {
  margin: 4rem auto; }
  .module-form .module-form-content {
    margin-bottom: 2rem;
    padding: 0 0 2rem 2rem; }
    .module-form .module-form-content p:first-of-type {
      font-weight: 700; }
    .module-form .module-form-content p:last-of-type {
      margin-bottom: 0; }
    @media screen and (min-width: 40em) {
      .module-form .module-form-content {
        padding-top: 2rem; } }
    @media screen and (min-width: 64em) {
      .module-form .module-form-content {
        padding-top: 3rem; } }
  .module-form .form-wrapper {
    margin: 0 auto 2rem;
    padding: 0;
    overflow: hidden;
    border: 1px solid #D5C7B4; }
    .module-form .form-wrapper .form-intro {
      padding: 1rem 0 .9rem;
      border-bottom: 1px solid #D5C7B4; }
      .module-form .form-wrapper .form-intro h3 {
        margin-bottom: 0;
        padding: 1rem 2rem;
        display: block;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1rem;
        text-align: center; }
      .module-form .form-wrapper .form-intro p {
        margin-bottom: 0;
        text-align: center; }
    .module-form .form-wrapper form {
      float: none;
      padding: 2rem;
      overflow: hidden; }
      .module-form .form-wrapper form input, .module-form .form-wrapper form select, .module-form .form-wrapper form textarea {
        outline: none;
        font-weight: 700;
        text-transform: uppercase; }
        .module-form .form-wrapper form input:focus, .module-form .form-wrapper form select:focus, .module-form .form-wrapper form textarea:focus {
          background-color: #f5f5f5; }
      .module-form .form-wrapper form .wpcf7-form-control-wrap {
        width: 100%;
        display: inline-block; }
        .module-form .form-wrapper form .wpcf7-form-control-wrap:nth-of-type(even) {
          float: right; }
        .module-form .form-wrapper form .wpcf7-form-control-wrap.notes {
          width: 100%; }
        @media screen and (min-width: 64em) {
          .module-form .form-wrapper form .wpcf7-form-control-wrap {
            width: 49%; } }
      .module-form .form-wrapper form input, .module-form .form-wrapper form select {
        margin-bottom: 1rem;
        width: 100%;
        border: 1px solid #D5C7B4; }
        .module-form .form-wrapper form input:nth-child(even), .module-form .form-wrapper form select:nth-child(even) {
          float: right; }
        .module-form .form-wrapper form input::-webkit-inner-spin-button, .module-form .form-wrapper form input::-webkit-calendar-picker-indicator, .module-form .form-wrapper form select::-webkit-inner-spin-button, .module-form .form-wrapper form select::-webkit-calendar-picker-indicator {
          display: none;
          -webkit-appearance: none; }
      .module-form .form-wrapper form input {
        float: left;
        padding: 1.25rem 1rem 0.9rem;
        line-height: normal;
        height: inherit;
        vertical-align: middle; }
        .module-form .form-wrapper form input.submit-button {
          margin-bottom: 0;
          border: none; }
        .module-form .form-wrapper form input:nth-child(even) {
          float: right; }
      .module-form .form-wrapper form .form-datepicker {
        background-image: url("../images/calendar.svg");
        background-position: 95% center;
        background-repeat: no-repeat; }
      .module-form .form-wrapper form textarea {
        clear: both;
        min-height: 8.57143rem;
        max-height: 17.5rem; }
      @media screen and (min-width: 40em) {
        .module-form .form-wrapper form {
          padding: 2rem; } }
      .module-form .form-wrapper form .wpcf7-mail-sent-ok {
        clear: both;
        padding-top: 2rem;
        padding-bottom: 0;
        border: none;
        text-align: center; }
    @media screen and (min-width: 64em) {
      .module-form .form-wrapper {
        margin-bottom: 4rem; } }

.subscribe-form input {
  height: 3.57143rem;
  padding: 1.14286rem 1.42857rem; }
  @media screen and (min-width: 64em) {
    .subscribe-form input {
      font-size: 1rem; } }

.subscribe-form [type=email] {
  background-color: #ffffff;
  border-color: #d93826; }
  .subscribe-form [type=email]:focus {
    background-color: #ffffff;
    border-color: #d93826; }
  .subscribe-form [type=email]::-webkit-input-placeholder {
    color: #d93826; }
  .subscribe-form [type=email]:-ms-input-placeholder {
    color: #d93826; }
  .subscribe-form [type=email]::placeholder {
    color: #d93826; }

.subscribe-form [type=submit].button {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 1.14286rem 1.42857rem;
  width: 100%; }

@media screen and (max-width: 39.9375em) {
  .subscribe-form .input-group,
  .subscribe-form .input-group-field,
  .subscribe-form .input-group-button {
    display: block; }
  .subscribe-form .input-group-field {
    margin-bottom: 1.71429em; }
  .subscribe-form .input-group-button {
    width: 100%; }
    .subscribe-form .input-group-button input[type=submit] {
      width: 100%; } }

/****
*  Global Styles
*/
.site-title a {
  padding-top: 14.70588%;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 0;
  background-image: url("../images/el-cosmico-small.png");
  background-image: url("../images/el-cosmico-small.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  font-size: 0; }
  @media screen and (min-width: 40em) {
    .site-title a {
      max-width: none; } }
  @media screen and (min-width: 64em) {
    .site-title a {
      padding-top: 23.52941%;
      background-image: url("../images/el-cosmico.png");
      background-image: url("../images/el-cosmico.svg"); } }

.no-bullet:last-child {
  margin-bottom: 0; }

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

body {
  background-image: url("../images/bg-pattern.png");
  background-color: #f7f3ef; }
  body main {
    padding: 0 1rem;
    overflow: hidden; }

#page {
  min-width: em-calc(320); }

.sr-only {
  position: absolute !important;
  margin: -0.07143rem;
  padding: 0;
  height: 0.07143rem;
  width: 0.07143rem;
  border: 0;
  overflow: hidden;
  word-wrap: normal !important;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%); }

.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 125;
  width: 100%;
  height: 100vh;
  min-height: 100% !important;
  overflow-y: scroll;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  display: none;
  background-color: rgba(43, 43, 43, 0.95);
  padding-bottom: 4rem; }
  .mobile-menu .mobile-site-branding {
    width: 60%;
    max-width: 238px;
    margin: 1.10rem 0 0 0.25rem;
    position: absolute;
    top: 0;
    left: 0;
    padding: 0.94121rem;
    display: block;
    outline: none;
    background-color: transparent; }
  .mobile-menu.is-open {
    display: block; }
    .mobile-menu.is-open .mobile-site-branding {
      z-index: 126; }
  .mobile-menu li {
    padding: 1.07143rem 0 0.57143rem;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.25); }
    .mobile-menu li:last-child {
      padding-bottom: 0.71429rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.25); }

.header-carousel-wrapper {
  position: relative; }

.header-promo-banner {
  color: #2F2F2F;
  letter-spacing: .6px;
  background-color: rgba(255, 254, 248, 0.86);
  border-top: 1px solid rgba(0, 0, 0, 0.025);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
  .header-promo-banner span, .header-promo-banner a {
    font-size: 1.15rem;
    font-weight: bold; }
  .header-promo-banner span {
    text-transform: uppercase; }

.header-promo-banner {
  position: absolute;
  width: 100%;
  z-index: 29;
  padding: 1.14286rem 0 0.71429rem;
  text-align: center; }
  .header-promo-banner a {
    color: #d64626; }

.site-header {
  position: relative;
  margin-bottom: 0.57143rem;
  min-height: 6.21429rem; }
  @media screen and (min-width: 104.375em) {
    .site-header {
      margin-bottom: 0.85714rem; } }
  .home .site-header {
    border-bottom: none; }
  .site-header .mobile-book-now {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    font-size: 1.28571rem;
    text-align: center;
    margin: 1.21429rem 1.42857rem 0;
    padding-bottom: 0.85714rem;
    border-bottom: 1px solid #DEDBCC;
    line-height: 1; }
    @media screen and (min-width: 40em) {
      .site-header .mobile-book-now {
        display: none; } }
    .site-header .mobile-book-now a:link, .site-header .mobile-book-now a:visited {
      color: #4A4A4A; }
    .site-header .mobile-book-now a:hover, .site-header .mobile-book-now a:active {
      color: #d64626; }
  .site-header .site-branding {
    float: left;
    margin: 1.25rem 1.25rem 0 0;
    width: 56%;
    max-width: 238px;
    z-index: 115; }
    .site-header .site-branding .site-title {
      margin: 0;
      text-align: center; }
      @media screen and (max-width: 63.9375em) {
        .site-header .site-branding .site-title a {
          padding-top: 20%; } }
    @media screen and (min-width: 40em) {
      .site-header .site-branding {
        float: none;
        width: 24.28571rem;
        max-width: none;
        margin: 0;
        position: absolute;
        top: 30%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%); } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .site-header .site-branding {
        margin-top: 0.71429rem;
        width: 22rem; } }
    @media screen and (min-width: 64em) {
      .site-header .site-branding {
        margin-top: 0.71429rem;
        width: 17rem; } }
    @media screen and (min-width: 83.4375em) {
      .site-header .site-branding {
        margin-top: 0;
        top: 50%; } }
    @media screen and (min-width: 104.375em) {
      .site-header .site-branding {
        width: 20rem; } }
  .site-header .main-navigation {
    float: right;
    padding-right: 0; }
    @media screen and (min-width: 40em) {
      .site-header .main-navigation {
        margin: 5.71429rem auto 0;
        width: 90%;
        float: none; } }
    @media screen and (min-width: 83.4375em) {
      .site-header .main-navigation {
        margin: 2.35714rem auto 0;
        max-width: 92.28571rem;
        width: 92.28571rem; } }
    @media screen and (min-width: 104.375em) {
      .site-header .main-navigation {
        max-width: 96.42857rem;
        width: 96.42857rem; } }
    .site-header .main-navigation .nav-wrapper {
      margin: 0 auto; }
      .site-header .main-navigation .nav-wrapper a {
        font-weight: 700;
        border-bottom: 2px solid transparent;
        -webkit-transition: color .1s ease-in-out, border .1s ease-in-out;
        transition: color .1s ease-in-out, border .1s ease-in-out; }
        .site-header .main-navigation .nav-wrapper a:link, .site-header .main-navigation .nav-wrapper a:visited {
          color: #4A4A4A; }
        .site-header .main-navigation .nav-wrapper a:hover, .site-header .main-navigation .nav-wrapper a:active {
          padding-bottom: .05rem;
          border-bottom: 2px solid #d64626;
          color: #d64626; }
        @media screen and (max-width: 63.9375em) {
          .site-header .main-navigation .nav-wrapper a {
            text-align: center; }
            .site-header .main-navigation .nav-wrapper a a:link, .site-header .main-navigation .nav-wrapper a a:visited {
              color: #4A4A4A; }
            .site-header .main-navigation .nav-wrapper a a:hover, .site-header .main-navigation .nav-wrapper a a:active {
              color: #d64626; } }
      .site-header .main-navigation .nav-wrapper .current-page-ancestor a {
        padding-bottom: .05rem;
        border-bottom: 2px solid #d64626;
        color: #d64626; }
        @media screen and (max-width: 63.9375em) {
          .site-header .main-navigation .nav-wrapper .current-page-ancestor a {
            color: #CE4423; } }
      .site-header .main-navigation .nav-wrapper > ul {
        margin: 0;
        padding: 5.71429rem 0 0;
        text-transform: uppercase;
        letter-spacing: 2px;
        font-size: 1.14286rem;
        display: none; }
        @media screen and (min-width: 40em) {
          .site-header .main-navigation .nav-wrapper > ul {
            margin-top: 1rem;
            margin-left: 0;
            padding-top: 0;
            display: block;
            z-index: 110;
            text-align: center;
            position: relative;
            width: auto;
            height: auto;
            background-color: transparent; }
            .site-header .main-navigation .nav-wrapper > ul li {
              line-height: 1;
              display: inline-block;
              margin-right: 1.14286rem; }
            .site-header .main-navigation .nav-wrapper > ul a {
              padding: 0; } }
        @media screen and (min-width: 104.375em) {
          .site-header .main-navigation .nav-wrapper > ul {
            margin-top: 1.57143rem; } }
        .site-header .main-navigation .nav-wrapper > ul > li {
          text-align: center;
          line-height: inherit;
          font-size: 14px; }
          .site-header .main-navigation .nav-wrapper > ul > li:nth-last-of-type(2) {
            margin-right: 0; }
          @media screen and (max-width: 63.9375em) {
            .site-header .main-navigation .nav-wrapper > ul > li {
              position: relative;
              float: none;
              margin: 0 0.92857rem 0.21429rem;
              display: inline-block;
              text-align: left; } }
          @media screen and (min-width: 64em) {
            .site-header .main-navigation .nav-wrapper > ul > li {
              margin: 0 0.92857rem 0.21429rem; } }
          @media screen and (min-width: 83.4375em) {
            .site-header .main-navigation .nav-wrapper > ul > li {
              margin-left: 0;
              margin-right: 1.07143rem; } }
          @media screen and (min-width: 104.375em) {
            .site-header .main-navigation .nav-wrapper > ul > li {
              position: relative;
              float: left;
              margin: 0 0.92857rem;
              display: block; } }
          .site-header .main-navigation .nav-wrapper > ul > li.book-now-button {
            margin-left: 0;
            margin-right: 0;
            margin-bottom: 0;
            padding-bottom: 0.75rem;
            display: block;
            border-top: none; }
            @media screen and (min-width: 40em) {
              .site-header .main-navigation .nav-wrapper > ul > li.book-now-button {
                padding-bottom: 0; } }
          .site-header .main-navigation .nav-wrapper > ul > li:nth-child(2) {
            border-top: 0; }
        .site-header .main-navigation .nav-wrapper > ul > div {
          margin-top: 1.5rem; }
      .site-header .main-navigation .nav-wrapper .nav-footer-links {
        margin: 1.15rem .5rem 1.5rem 1.5rem;
        text-align: center; }
        .site-header .main-navigation .nav-wrapper .nav-footer-links li {
          margin-right: 1rem;
          display: inline; }
          .site-header .main-navigation .nav-wrapper .nav-footer-links li:last-child {
            margin-right: 0; }
        .site-header .main-navigation .nav-wrapper .nav-footer-links span {
          margin-right: 1rem; }
        @media screen and (max-width: 39.9375em) {
          .site-header .main-navigation .nav-wrapper .nav-footer-links {
            float: none;
            width: 255px;
            margin-left: auto;
            margin-right: auto;
            margin-bottom: .5rem;
            overflow: hidden; }
            .site-header .main-navigation .nav-wrapper .nav-footer-links li {
              display: inline-block;
              width: auto !important; }
              .site-header .main-navigation .nav-wrapper .nav-footer-links li:nth-child(4) {
                margin-right: 0; } }
      .site-header .main-navigation .nav-wrapper.is-open ul {
        display: block; }
        .site-header .main-navigation .nav-wrapper.is-open ul a {
          color: #ffffff; }
        .site-header .main-navigation .nav-wrapper.is-open ul li {
          margin-left: 0;
          width: 100%;
          text-align: center; }
          @media screen and (max-width: 39.9375em) {
            .site-header .main-navigation .nav-wrapper.is-open ul li .nav-footer-links {
              float: none; } }
      .site-header .main-navigation .nav-wrapper.is-open .menu-close-button {
        margin-top: 1.2rem;
        margin-right: 1rem;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 126;
        padding: 1rem 1.5rem 0.8rem;
        display: block;
        outline: none;
        background-color: transparent;
        font-size: 1.25rem;
        color: #ffffff;
        border: 1px solid #ffffff;
        border-radius: 2px; }
        .site-header .main-navigation .nav-wrapper.is-open .menu-close-button .icon-menu-close {
          position: relative;
          font-size: 1.15rem;
          right: -0.35rem;
          margin-right: 0;
          line-height: 0; }
      .site-header .main-navigation .nav-wrapper .menu-close-button {
        display: none; }
        @media screen and (min-width: 40em) {
          .site-header .main-navigation .nav-wrapper .menu-close-button {
            display: none !important; } }
      @media screen and (min-width: 40em) {
        .site-header .main-navigation .nav-wrapper {
          width: 100%; } }
      @media screen and (min-width: 64em) {
        .site-header .main-navigation .nav-wrapper {
          max-width: 61rem;
          width: 61rem; } }
      @media screen and (min-width: 83.4375em) {
        .site-header .main-navigation .nav-wrapper {
          max-width: 92.28571rem;
          width: 92.28571rem; }
          .site-header .main-navigation .nav-wrapper li:first-child {
            margin-left: -3.45rem; }
          .site-header .main-navigation .nav-wrapper li:nth-child(3) {
            margin-right: 20.85714rem; } }
      @media screen and (min-width: 104.375em) {
        .site-header .main-navigation .nav-wrapper {
          max-width: 96.42857rem;
          width: 96.42857rem; }
          .site-header .main-navigation .nav-wrapper li:first-child {
            margin-left: 11.25rem; }
          .site-header .main-navigation .nav-wrapper li:nth-child(3) {
            margin-right: 22.85714rem; }
          .site-header .main-navigation .nav-wrapper .top-level {
            height: 3.57143rem; } }
      .site-header .main-navigation .nav-wrapper .book-now-button {
        display: inline-block;
        background-color: #d64626; }
        .site-header .main-navigation .nav-wrapper .book-now-button a {
          margin-bottom: 0;
          color: #ffffff;
          border-bottom: none;
          text-align: center;
          background: transparent;
          text-transform: uppercase;
          letter-spacing: 1px;
          color: #ffffff; }
          .site-header .main-navigation .nav-wrapper .book-now-button a:hover, .site-header .main-navigation .nav-wrapper .book-now-button a:active, .site-header .main-navigation .nav-wrapper .book-now-button a:focus {
            color: #ffffff; }
        @media screen and (min-width: 40em) {
          .site-header .main-navigation .nav-wrapper .book-now-button {
            display: inline; }
            .site-header .main-navigation .nav-wrapper .book-now-button a {
              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: 1.25em;
              margin: 0 0 1.14286rem 0;
              font-size: 0.9rem;
              background-color: #d93826;
              color: #ffffff;
              border-radius: 2px;
              position: fixed;
              right: 3.57143rem;
              bottom: 0.85714rem;
              padding: 1.75rem 0 0 .15rem;
              height: 80px;
              width: 80px;
              background-color: #d64626;
              border-radius: 50%;
              box-shadow: 0px 1.5px 7px rgba(0, 0, 0, 0.1);
              z-index: 50;
              font-size: 1rem;
              line-height: 1.25rem; }
              [data-whatinput='mouse'] .site-header .main-navigation .nav-wrapper .book-now-button a {
                outline: 0; }
              .site-header .main-navigation .nav-wrapper .book-now-button a:hover, .site-header .main-navigation .nav-wrapper .book-now-button a:focus {
                background-color: #b83020;
                color: #ffffff; } }
    .site-header .main-navigation .menu-toggle {
      float: right;
      margin: 1.21429rem 0 0;
      padding: 0.89286rem 0.71429rem 1rem 1.14286rem;
      background: #4A4A4A;
      outline: none;
      border-radius: 2px;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: #ffffff;
      font-size: 1rem;
      font-weight: 700;
      line-height: 1;
      right: 0;
      position: absolute; }
      @media screen and (min-width: 40em) {
        .site-header .main-navigation .menu-toggle {
          position: relative;
          display: none; } }
      .site-header .main-navigation .menu-toggle .icon-menu {
        position: relative;
        top: 2px;
        font-size: 1.45rem;
        line-height: 0; }

.secondary-header-wrapper {
  position: relative;
  margin-bottom: 3.75rem; }
  @media screen and (max-width: 63.9375em) {
    .secondary-header-wrapper {
      margin-bottom: 0; } }
  .secondary-header-wrapper.single-blog-post .header-carousel {
    height: 55vh; }
    .secondary-header-wrapper.single-blog-post .header-carousel .img-fill {
      height: 55vh; }
  .secondary-header-wrapper .sub-nav-relative {
    position: relative; }
    .secondary-header-wrapper .sub-nav-relative .sub-navigation {
      margin-bottom: 0; }
  .secondary-header-wrapper .sub-navigation {
    padding: .95rem 0 .75rem;
    display: inline-block;
    width: 100%; }
    @media screen and (min-width: 40em) {
      .secondary-header-wrapper .sub-navigation {
        font-size: 1.14286rem; } }
    @media screen and (min-width: 64em) {
      .secondary-header-wrapper .sub-navigation {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        background-color: rgba(255, 254, 248, 0.72);
        border-top: 1px solid rgba(0, 0, 0, 0.05);
        border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
        .secondary-header-wrapper .sub-navigation a {
          border-bottom: 4px solid transparent; }
          .secondary-header-wrapper .sub-navigation a:hover, .secondary-header-wrapper .sub-navigation a:active {
            border-bottom: 4px solid #d64626; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .secondary-header-wrapper .sub-navigation {
        padding-bottom: 0;
        border-bottom: none; } }
    .secondary-header-wrapper .sub-navigation ul {
      margin: 0;
      padding: 0;
      text-align: center; }
      .secondary-header-wrapper .sub-navigation ul li {
        line-height: 1;
        display: inline-block;
        margin-right: 1.14286rem; }
      .secondary-header-wrapper .sub-navigation ul a {
        padding: 0; }
      .secondary-header-wrapper .sub-navigation ul li {
        margin: 0 .65rem .5rem; }
        @media screen and (min-width: 40em) {
          .secondary-header-wrapper .sub-navigation ul li {
            margin-bottom: 1.25rem; } }
        @media screen and (min-width: 64em) {
          .secondary-header-wrapper .sub-navigation ul li {
            margin-bottom: 0; } }
        .secondary-header-wrapper .sub-navigation ul li a {
          padding-bottom: .9rem;
          letter-spacing: .5px;
          color: #2F2F2F;
          font-weight: 700;
          -webkit-transition: color .1s ease-in-out, border .1s ease-in-out;
          transition: color .1s ease-in-out, border .1s ease-in-out; }
          .secondary-header-wrapper .sub-navigation ul li a:hover, .secondary-header-wrapper .sub-navigation ul li a:active {
            color: #d64626; }
      @media screen and (max-width: 39.9375em) {
        .secondary-header-wrapper .sub-navigation ul {
          padding-bottom: 1.5rem !important; } }
      @media screen and (max-width: 63.9375em) {
        .secondary-header-wrapper .sub-navigation ul {
          border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
          .secondary-header-wrapper .sub-navigation ul li a {
            padding-bottom: .75rem; } }
    .secondary-header-wrapper .sub-navigation .current_page_item a {
      border-bottom: 4px solid #d64626;
      color: #d64626; }
      @media screen and (max-width: 63.9375em) {
        .secondary-header-wrapper .sub-navigation .current_page_item a {
          color: #CE4423; } }
  .secondary-header-wrapper.block-sub-nav .sub-navigation {
    padding: .9rem 0 .85rem; }
    @media screen and (min-width: 64em) {
      .secondary-header-wrapper.block-sub-nav .sub-navigation {
        border-top: 1px solid #F0E8DE;
        border-bottom: 1px solid #F0E8DE;
        position: relative;
        background-color: transparent; }
        .secondary-header-wrapper.block-sub-nav .sub-navigation a {
          border-bottom: 4px solid transparent; }
          .secondary-header-wrapper.block-sub-nav .sub-navigation a.active, .secondary-header-wrapper.block-sub-nav .sub-navigation a:hover, .secondary-header-wrapper.block-sub-nav .sub-navigation a:active {
            border-bottom: 4px solid #d64626; } }

main p, main span {
  font-size: 1.14286rem;
  letter-spacing: .015rem;
  line-height: 1.5; }

@media screen and (max-width: 39.9375em) {
  main p {
    margin-bottom: 1rem; } }

main .content-wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px; }
  main .content-wrapper a {
    color: #d93826;
    -webkit-transition: color .25s ease-in-out;
    transition: color .25s ease-in-out; }
    main .content-wrapper a:hover, main .content-wrapper a:active {
      color: #CE4423; }
    main .content-wrapper a.reg-button {
      color: #ffffff; }

.column:last-child:not(:first-child), .columns:last-child:not(:first-child),
.columns:last-child:not(:first-child) {
  float: left; }

.alternating-rows:not(.inverse) .featured-post:nth-child(even) .featured-post-image {
  float: right; }

.alternating-rows:not(.inverse) .text-image-block:nth-child(even) .image-block {
  float: left; }

.row .row {
  margin-right: 0;
  margin-left: 0; }

select {
  padding-top: 1.35rem;
  padding-right: 1rem;
  padding-bottom: 0.8rem;
  line-height: 1.5rem;
  background-image: url("../images/down-arrow.svg");
  background-position: 100% 40%;
  background-repeat: no-repeat;
  background-size: 16px 11px; }
  @media screen and (max-width: 39.9375em) {
    select {
      padding-top: 1.15rem;
      height: auto; } }

.page-title {
  border-top: 1px solid #F0E8DE;
  padding-top: 2rem;
  margin-bottom: 1rem;
  text-align: left; }
  @media screen and (min-width: 40em) {
    .page-title {
      padding-top: 3rem;
      margin-bottom: 3rem;
      text-align: center; } }

.centered {
  text-align: center; }

.border-top {
  padding-top: 2rem;
  border-top: 1px solid #d9dee1; }
  @media screen and (min-width: 40em) {
    .border-top {
      margin-top: 2rem;
      padding-top: 3rem; } }

.no-padding {
  padding: 0; }

.alternate {
  float: right; }

.reg-button, .learn-more-button,
.solid-bg-button, .submit-button {
  padding: 1.35rem 1.65rem 1.1rem;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1rem;
  -webkit-transition: color .25s ease-in-out, background-color .25s ease-in-out;
  transition: color .25s ease-in-out, background-color .25s ease-in-out; }
  @media screen and (min-width: 40em) {
    .reg-button, .learn-more-button,
    .solid-bg-button, .submit-button {
      padding: 1.45rem 1.65rem 1.15rem;
      font-size: 1rem;
      letter-spacing: 0.03571rem; } }

.reg-button,
.learn-more-button {
  margin-top: 1rem;
  margin-bottom: .25rem;
  line-height: 1rem;
  text-transform: uppercase; }

.reg-button {
  border: 1px solid #ffffff;
  color: #ffffff; }
  .reg-button:hover {
    border: 1px solid #d64626;
    background-color: #d64626;
    color: #ffffff; }

.learn-more-button {
  border: 1px solid #d64626;
  color: #d64626; }
  .learn-more-button:hover {
    background-color: #d64626;
    color: #ffffff !important; }

.solid-bg-button,
.submit-button {
  margin: 1rem 0 0;
  background: #d64626;
  border: none;
  color: #ffffff; }
  .solid-bg-button:hover,
  .submit-button:hover {
    background-color: #CE4423; }

.solid-bg-button {
  text-transform: uppercase;
  border: 1px solid #d64626; }
  .solid-bg-button:hover {
    background-color: transparent;
    border-color: #CE4423;
    color: #d64626; }

.submit-button {
  width: 100% !important; }

.large-button .rg-btn {
  width: 100%;
  padding: 1.5em;
  font-size: 1.1em; }

.content {
  margin-top: 2rem;
  margin-bottom: 2rem; }
  .content h2 {
    font-size: 1.15rem; }
  .content h3 {
    font-size: 1rem; }
  .content a {
    color: #d64626;
    -webkit-transition: color .15s ease-in-out;
    transition: color .15s ease-in-out; }
    .content a:hover, .content a:active {
      color: #CE4423; }
  .content section {
    overflow: inherit; }

.centered-title-block {
  margin: 2rem auto 3rem;
  text-align: center; }
  .centered-title-block a {
    font-weight: 700; }
  .centered-title-block h2 {
    margin-bottom: 1rem; }
  .centered-title-block a {
    color: #d64626; }
    .centered-title-block a:hover {
      color: #CE4423; }
  @media screen and (min-width: 40em) {
    .centered-title-block {
      margin: 3rem auto 4rem; } }

.default-modal {
  -webkit-transform: translateY(10%);
          transform: translateY(10%); }
  .default-modal.no-background {
    background: none;
    border: none; }
  .default-modal.reveal {
    padding: 2rem;
    width: 90%; }
    .default-modal.reveal img {
      width: 100%; }
    @media screen and (min-width: 40em) {
      .default-modal.reveal {
        width: 75%; } }
  .default-modal button {
    position: absolute;
    top: .5rem;
    right: .2rem;
    color: #2F2F2F;
    font-size: 1.28571rem; }

/********* GLOBAL SETTINGS & MODULES *********/
.module-internal-nav {
  clear: both;
  margin-left: 0;
  margin-right: 0;
  text-transform: uppercase;
  letter-spacing: 2px;
  letter-spacing: .5px;
  display: inline-block;
  width: 100%;
  list-style: none;
  font-weight: 700; }
  .module-internal-nav li {
    margin: 0 .75rem;
    display: inline-block; }
    .module-internal-nav li a {
      color: #d64626;
      -webkit-transition: color .15s ease-in-out;
      transition: color .15s ease-in-out; }
      .module-internal-nav li a.active {
        color: #4A4A4A; }
      .module-internal-nav li a:hover,
      .module-internal-nav li a.active .module-internal-nav li a:hover {
        color: #CE4423;
        border-bottom: 2px solid #CE4423; }
    .module-internal-nav li:first-child {
      margin-left: 0; }
    .module-internal-nav li:last-child {
      margin-right: 0; }

section {
  position: relative;
  overflow: hidden; }
  section::before, section::after {
    content: ' ';
    display: table;
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  section::after {
    clear: both; }
  section.split-thirds {
    background-color: #f5f5f5; }
    @media screen and (min-width: 40em) {
      section.split-thirds > .row {
        padding-top: 70px; }
        section.split-thirds > .row:last-child {
          padding-bottom: 90px; } }

.video-modal {
  position: absolute;
  top: 50% !important;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  outline: none;
  border: none; }
  .video-modal.no-background {
    background: none;
    border: none; }
  .video-modal button {
    position: absolute;
    top: 36px;
    right: 2rem;
    color: #fff;
    font-size: 1.2rem; }

.four-o-four-page {
  height: 100vh; }
  .four-o-four-page .four-o-four-wrapper {
    position: relative;
    height: 100%;
    width: 100%; }
    .four-o-four-page .four-o-four-wrapper .four-o-four-message {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      color: #ffffff; }
      .four-o-four-page .four-o-four-wrapper .four-o-four-message img {
        max-width: 35%;
        margin: 0 auto; }
        @media screen and (max-width: 39.9375em) {
          .four-o-four-page .four-o-four-wrapper .four-o-four-message img {
            display: none; } }
      .four-o-four-page .four-o-four-wrapper .four-o-four-message h2 {
        margin-top: 2rem;
        margin-bottom: 0;
        font-family: "BrandonGrotesque", sans-serif;
        text-transform: uppercase; }
      .four-o-four-page .four-o-four-wrapper .four-o-four-message p {
        margin-bottom: 1rem;
        text-align: center; }

.header-carousel.sitemap-header,
.header-carousel.sitemap-header .img-fill {
  height: 55vh; }

.header-carousel.sitemap-header h2 {
  margin: 2rem 0 0 !important; }

.sitemap-logo-outside {
  width: 100%; }
  .sitemap-logo-outside .sitemap-logo {
    width: 50%; }
    @media screen and (max-width: 39.9375em) {
      .sitemap-logo-outside .sitemap-logo img {
        display: block !important; } }
    @media screen and (min-width: 40em) {
      .sitemap-logo-outside .sitemap-logo {
        width: 40%; } }

.sitemap-block {
  padding: 3rem 0; }
  .sitemap-block .sitemap-nav {
    -webkit-column-count: 1;
    /* Chrome, Safari, Opera */
    /* Firefox */
    column-count: 1;
    list-style: none;
    font-size: 1.25rem; }
    @media screen and (min-width: 40em) {
      .sitemap-block .sitemap-nav {
        -webkit-column-count: 2;
        /* Chrome, Safari, Opera */
        /* Firefox */
        column-count: 2; } }
    .sitemap-block .sitemap-nav a:hover {
      color: #d64626; }
    .sitemap-block .sitemap-nav .sub-menu {
      margin-left: 0;
      list-style: none; }

.full-width-flex-content section > .row {
  max-width: 100%; }

/* inject:modules */
/* MODULE CONTENT BLOCKS */
.module-intro-block,
.module-plain-content-block,
.module-review-block {
  margin: 2rem auto;
  text-align: center; }
  @media screen and (max-width: 39.9375em) {
    .module-intro-block,
    .module-plain-content-block,
    .module-review-block {
      margin: .85rem auto 2rem; }
      .module-intro-block h2, .module-intro-block p, .module-intro-block ul,
      .module-plain-content-block h2,
      .module-plain-content-block p,
      .module-plain-content-block ul,
      .module-review-block h2,
      .module-review-block p,
      .module-review-block ul {
        text-align: left; }
      .module-intro-block h2,
      .module-plain-content-block h2,
      .module-review-block h2 {
        margin-bottom: 1.25rem; } }

.module-intro-block p:first-of-type {
  font-weight: 700;
  font-size: 1.28571rem; }

.module-review-block .signature {
  text-transform: uppercase; }

@media screen and (min-width: 64em) {
  .module-review-block {
    margin: 5.35714rem auto; } }

.module-plain-content-block {
  text-align: left; }

.module-featured-post .featured-post,
.module-event-posts .featured-post,
.blog-post .featured-post {
  float: none; }
  .module-featured-post .featured-post .featured-post-info,
  .module-event-posts .featured-post .featured-post-info,
  .blog-post .featured-post .featured-post-info {
    margin: 3.21429rem auto;
    width: 90%; }
    .module-featured-post .featured-post .featured-post-info h2,
    .module-event-posts .featured-post .featured-post-info h2,
    .blog-post .featured-post .featured-post-info h2 {
      font-size: 1.28571rem;
      font-weight: 700; }
    .module-featured-post .featured-post .featured-post-info a, .module-featured-post .featured-post .featured-post-info button,
    .module-event-posts .featured-post .featured-post-info a,
    .module-event-posts .featured-post .featured-post-info button,
    .blog-post .featured-post .featured-post-info a,
    .blog-post .featured-post .featured-post-info button {
      margin-top: 0; }
  @media screen and (min-width: 40em) {
    .module-featured-post .featured-post,
    .module-event-posts .featured-post,
    .blog-post .featured-post {
      float: left; }
      .module-featured-post .featured-post:nth-child(even),
      .module-event-posts .featured-post:nth-child(even),
      .blog-post .featured-post:nth-child(even) {
        float: right;
        margin-right: 0; } }

@media screen and (max-width: 39.9375em) {
  .module-featured-post,
  .module-event-posts,
  .blog-post {
    padding-left: 0;
    padding-right: 0; } }

.module-event-posts {
  text-align: center; }
  .module-event-posts .featured-post {
    float: none;
    display: inline-block; }
    .module-event-posts .featured-post:last-child {
      float: none;
      display: inline-block; }
    @media screen and (min-width: 40em) {
      .module-event-posts .featured-post:nth-child(even) {
        float: none;
        margin-right: 0; } }
    .module-event-posts .featured-post .featured-post-info {
      text-align: left; }

.module-featured-post .featured-post, .module-featured-post .grid-sizer,
.blog-post .featured-post,
.blog-post .grid-sizer {
  width: 100%; }
  @media screen and (min-width: 40em) {
    .module-featured-post .featured-post, .module-featured-post .grid-sizer,
    .blog-post .featured-post,
    .blog-post .grid-sizer {
      width: 49%; } }

@media screen and (min-width: 40em) {
  .module-featured-post .gutter-sizer,
  .blog-post .gutter-sizer {
    width: 2%; } }

.module-event-posts .featured-post .featured-post-image {
  position: relative; }
  .module-event-posts .featured-post .featured-post-image .img-fill {
    padding-top: 100%;
    height: 0;
    overflow: hidden; }
    .module-event-posts .featured-post .featured-post-image .img-fill img {
      font-family: "object-fit:cover";
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .module-event-posts .featured-post .featured-post-image .glyph {
    position: absolute;
    top: 1rem;
    left: 0;
    padding: 1.25rem 1.5rem .8rem;
    display: block;
    background-color: rgba(247, 243, 239, 0.95);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    z-index: 5; }

.module-content-block .rooms-info-block {
  padding-left: .25rem;
  padding-right: .25rem; }
  .module-content-block .rooms-info-block .rooms-info-wrapper {
    display: table;
    height: 100%;
    width: 100%;
    border: 1px solid #F0E8DE; }
    .module-content-block .rooms-info-block .rooms-info-wrapper .rooms-overlay-info {
      padding: 3rem;
      display: table-cell;
      height: 100%;
      width: 100%;
      vertical-align: middle; }
      .module-content-block .rooms-info-block .rooms-info-wrapper .rooms-overlay-info h2 {
        font-size: 1.28571rem;
        font-weight: 700; }
      .module-content-block .rooms-info-block .rooms-info-wrapper .rooms-overlay-info a {
        display: inline-block; }

.module-featured-post,
.module-content-block,
.blog-post {
  display: block; }
  .module-featured-post .featured-post .featured-post-image,
  .module-content-block .featured-post .featured-post-image,
  .blog-post .featured-post .featured-post-image {
    position: relative; }
    .module-featured-post .featured-post .featured-post-image .img-fill,
    .module-content-block .featured-post .featured-post-image .img-fill,
    .blog-post .featured-post .featured-post-image .img-fill {
      padding-top: 100%;
      height: 0 !important;
      overflow: hidden; }
      .module-featured-post .featured-post .featured-post-image .img-fill img,
      .module-content-block .featured-post .featured-post-image .img-fill img,
      .blog-post .featured-post .featured-post-image .img-fill img {
        font-family: "object-fit:cover";
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 2px; }
    .module-featured-post .featured-post .featured-post-image .img-fill-full,
    .module-content-block .featured-post .featured-post-image .img-fill-full,
    .blog-post .featured-post .featured-post-image .img-fill-full {
      padding-top: 100%; }
    .module-featured-post .featured-post .featured-post-image .glyph,
    .module-content-block .featured-post .featured-post-image .glyph,
    .blog-post .featured-post .featured-post-image .glyph {
      position: absolute;
      top: 1rem;
      left: 0;
      padding: 1.25rem 1.5rem .8rem;
      display: block;
      background-color: rgba(247, 243, 239, 0.95);
      font-size: 1rem;
      font-weight: 700;
      text-transform: uppercase;
      z-index: 5; }
    @media screen and (min-width: 40em) {
      .module-featured-post .featured-post .featured-post-image .image-cover,
      .module-content-block .featured-post .featured-post-image .image-cover,
      .blog-post .featured-post .featured-post-image .image-cover {
        height: 100%; } }
  .module-featured-post .featured-post .featured-post-image,
  .module-featured-post .featured-post .rooms-info-block,
  .module-content-block .featured-post .featured-post-image,
  .module-content-block .featured-post .rooms-info-block,
  .blog-post .featured-post .featured-post-image,
  .blog-post .featured-post .rooms-info-block {
    margin-bottom: 1rem;
    padding-left: 0;
    padding-right: 0;
    overflow: hidden; }
    .module-featured-post .featured-post .featured-post-image p:last-of-type,
    .module-featured-post .featured-post .rooms-info-block p:last-of-type,
    .module-content-block .featured-post .featured-post-image p:last-of-type,
    .module-content-block .featured-post .rooms-info-block p:last-of-type,
    .blog-post .featured-post .featured-post-image p:last-of-type,
    .blog-post .featured-post .rooms-info-block p:last-of-type {
      margin-bottom: 0; }
    .module-featured-post .featured-post .featured-post-image.no-padding,
    .module-featured-post .featured-post .rooms-info-block.no-padding,
    .module-content-block .featured-post .featured-post-image.no-padding,
    .module-content-block .featured-post .rooms-info-block.no-padding,
    .blog-post .featured-post .featured-post-image.no-padding,
    .blog-post .featured-post .rooms-info-block.no-padding {
      padding-left: 0;
      padding-right: 0; }
    @media screen and (min-width: 40em) {
      .module-featured-post .featured-post .featured-post-image,
      .module-featured-post .featured-post .rooms-info-block,
      .module-content-block .featured-post .featured-post-image,
      .module-content-block .featured-post .rooms-info-block,
      .blog-post .featured-post .featured-post-image,
      .blog-post .featured-post .rooms-info-block {
        padding-left: .5rem;
        padding-right: .5rem; } }

.blog-post {
  margin-top: 2rem; }

.other-promos .featured-post {
  width: 100%; }
  @media screen and (min-width: 40em) {
    .other-promos .featured-post {
      width: 49.5%; } }
  .other-promos .featured-post .featured-post-image {
    padding-left: 0;
    padding-right: 0; }

.other-offers {
  padding-top: 2rem;
  padding-left: .5rem;
  padding-right: .5rem;
  border-bottom: 1px solid #F0E8DE; }
  .other-offers > h2 {
    text-align: center; }
  @media screen and (min-width: 40em) {
    .other-offers {
      margin-top: 3rem;
      padding-top: 3rem; } }

.home-offers {
  margin-top: 0;
  padding: 0; }

.modal-full-promo {
  margin-bottom: 1rem;
  overflow: hidden;
  border-radius: 2px; }
  .modal-full-promo.testimonial, .modal-full-promo.promotion {
    max-height: 560px; }
    .modal-full-promo.testimonial h3, .modal-full-promo.testimonial p, .modal-full-promo.promotion h3, .modal-full-promo.promotion p {
      font-weight: 700; }
    .modal-full-promo.testimonial .info, .modal-full-promo.promotion .info {
      position: relative;
      top: 0;
      left: 0;
      padding: 9rem 0;
      height: 100%;
      width: 100%;
      background-size: cover; }
      .modal-full-promo.testimonial .info.light-overlay, .modal-full-promo.promotion .info.light-overlay {
        background-color: rgba(255, 255, 255, 0.7);
        color: #2F2F2F; }
      .modal-full-promo.testimonial .info.dark-overlay, .modal-full-promo.promotion .info.dark-overlay {
        background-color: rgba(0, 0, 0, 0.25);
        color: #ffffff; }
  .modal-full-promo.testimonial .testimonial-quote {
    text-transform: uppercase; }
    .modal-full-promo.testimonial .testimonial-quote h3 {
      margin: 0 auto;
      max-width: 73.14286rem;
      width: 80%;
      font-family: "WindsorD", sans-serif;
      font-size: 2.85714rem;
      line-height: 1.1; }
    .modal-full-promo.testimonial .testimonial-quote .testimonial-author {
      margin: 1rem 0 0;
      font-size: 1rem;
      letter-spacing: 1px; }
  .modal-full-promo.promotion {
    max-height: none;
    letter-spacing: 1px; }
    .modal-full-promo.promotion .info {
      margin: 0 auto;
      padding: 5.35714rem 0;
      text-align: center; }
      .modal-full-promo.promotion .info .promo-block {
        display: inline-block;
        max-width: 750px; }
        .modal-full-promo.promotion .info .promo-block .promo-logo {
          max-width: 300px; }
        .modal-full-promo.promotion .info .promo-block .promo-blurb {
          margin: 2.5rem 0;
          padding: 0 2rem; }
          .modal-full-promo.promotion .info .promo-block .promo-blurb p {
            font-size: 1.21429rem;
            font-weight: 700;
            letter-spacing: 0.045rem;
            line-height: 1.75rem; }
  @media screen and (min-width: 40em) {
    .modal-full-promo.testimonial .info {
      padding: 13rem 0; }
    .modal-full-promo.testimonial .testimonial-quote h3 {
      font-size: 2.28571rem; }
    .modal-full-promo.promotion .info {
      padding: 7.14286rem 0; }
      .modal-full-promo.promotion .info .promo-blurb {
        margin: 3.57143rem 0; } }
  @media screen and (min-width: 64em) {
    .modal-full-promo.testimonial .info {
      padding: 14rem 0; }
      .modal-full-promo.testimonial .info .testimonial-quote h3 {
        font-size: 3.28571rem;
        letter-spacing: 0.10714rem; }
      .modal-full-promo.testimonial .info .testimonial-author {
        font-size: 1rem; }
    .modal-full-promo.promotion .info {
      padding: 10.35714rem 0; } }

.module-two-up-list {
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto; }
  .module-two-up-list h2 {
    margin-bottom: 2rem;
    text-align: center; }
  @media screen and (min-width: 40em) {
    .module-two-up-list {
      margin-bottom: 3rem; }
      .module-two-up-list h2 {
        margin-bottom: 3rem; } }
  .module-two-up-list ul {
    margin-left: 0;
    list-style: disc;
    -webkit-column-count: 1;
    column-count: 1;
    font-size: 1.07143rem; }
    .module-two-up-list ul li {
      margin-left: 1.75rem;
      padding-bottom: 1rem;
      line-height: 1.35rem;
      -webkit-column-break-inside: avoid;
      break-inside: avoid; }
    @media screen and (min-width: 40em) {
      .module-two-up-list ul {
        margin-left: 1.25rem;
        -webkit-column-count: 2;
        column-count: 2; } }
    .module-two-up-list ul:last-of-type {
      margin-bottom: 0; }

.text-image-block {
  margin-left: 0;
  margin-right: 0; }

.module-internal-nav {
  margin-top: 2rem;
  margin-bottom: 3.5rem; }
  @media screen and (min-width: 40em) {
    .module-internal-nav {
      margin-bottom: 3.5rem; } }

.module-text-image {
  margin-bottom: .5rem; }
  .module-text-image > .row {
    margin-bottom: .5rem; }
  .module-text-image .image-block-carousel .item,
  .module-text-image .image-block-carousel .item > div {
    height: 100%; }
  .module-text-image .text-block,
  .module-text-image .image-block,
  .module-text-image .image-block-carousel {
    padding-left: .25rem;
    padding-right: .25rem; }
    .module-text-image .text-block .text-block-info-wrapper,
    .module-text-image .image-block .text-block-info-wrapper,
    .module-text-image .image-block-carousel .text-block-info-wrapper {
      position: relative;
      background: #F7F3EF;
      border: 1px solid #F0E8DE; }
      @media screen and (min-width: 40em) {
        .module-text-image .text-block .text-block-info-wrapper,
        .module-text-image .image-block .text-block-info-wrapper,
        .module-text-image .image-block-carousel .text-block-info-wrapper {
          display: table;
          height: 100%;
          width: 100%; } }
      .module-text-image .text-block .text-block-info-wrapper .text-block-info,
      .module-text-image .image-block .text-block-info-wrapper .text-block-info,
      .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info {
        padding: 2rem;
        display: table-cell;
        height: 100%;
        width: 100%;
        vertical-align: middle; }
        .module-text-image .text-block .text-block-info-wrapper .text-block-info h2,
        .module-text-image .image-block .text-block-info-wrapper .text-block-info h2,
        .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info h2 {
          font-size: 1.28571rem;
          font-weight: 700; }
        .module-text-image .text-block .text-block-info-wrapper .text-block-info p,
        .module-text-image .image-block .text-block-info-wrapper .text-block-info p,
        .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info p {
          margin-bottom: 1.42857rem; }
          .module-text-image .text-block .text-block-info-wrapper .text-block-info p:last-child, .module-text-image .text-block .text-block-info-wrapper .text-block-info p.no-spacing,
          .module-text-image .image-block .text-block-info-wrapper .text-block-info p:last-child,
          .module-text-image .image-block .text-block-info-wrapper .text-block-info p.no-spacing,
          .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info p:last-child,
          .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info p.no-spacing {
            margin-bottom: 0; }
        .module-text-image .text-block .text-block-info-wrapper .text-block-info a,
        .module-text-image .image-block .text-block-info-wrapper .text-block-info a,
        .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info a {
          display: inline-block; }
        @media screen and (min-width: 40em) {
          .module-text-image .text-block .text-block-info-wrapper .text-block-info,
          .module-text-image .image-block .text-block-info-wrapper .text-block-info,
          .module-text-image .image-block-carousel .text-block-info-wrapper .text-block-info {
            padding: 3rem; } }
  .module-text-image .text-image-block {
    margin-left: auto;
    margin-right: auto; }
  .module-text-image .image-block,
  .module-text-image .image-block div {
    overflow: hidden;
    min-height: 249px; }
    @media screen and (min-width: 40em) {
      .module-text-image .image-block,
      .module-text-image .image-block div {
        min-height: 540px; } }
    .module-text-image .image-block .row,
    .module-text-image .image-block div .row {
      margin: 0;
      height: 100%;
      overflow: hidden;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover; }
  .module-text-image .extra-images .image-block-wrapper {
    margin-top: .5rem;
    margin-bottom: 0; }
    .module-text-image .extra-images .image-block-wrapper img {
      border-radius: 2px; }

.module-two-up-images .image-block-wrapper {
  margin-bottom: .5rem;
  padding-left: .25rem;
  padding-right: .25rem; }

.module-two-up-images .image-cover {
  position: relative;
  height: 0;
  padding: 0; }
  .module-two-up-images .image-cover img {
    position: absolute;
    top: 0; }

.image-cover {
  position: relative; }
  .image-cover img {
    max-width: none;
    height: 100%;
    width: 100%;
    font-family: "object-fit:cover";
    object-fit: cover; }

.module-multi-image-grid {
  margin-bottom: .35rem; }
  .module-multi-image-grid .image-grid-container {
    width: 100%;
    overflow: hidden; }
    @media screen and (min-width: 40em) {
      .module-multi-image-grid .image-grid-container {
        margin-bottom: .15rem;
        height: 49.16237vw;
        max-height: 763px; } }
    @media screen and (max-width: 39.9375em) {
      .module-multi-image-grid .image-grid-container .image-block .image-cover {
        height: 96.5%; } }
    .module-multi-image-grid .image-grid-container .image-block.half-height {
      margin-bottom: .5rem; }
  .module-multi-image-grid .image-block {
    position: relative;
    overflow: hidden; }
    .module-multi-image-grid .image-block.columns {
      padding-left: .25rem;
      padding-right: .25rem; }
    @media screen and (min-width: 40em) {
      .module-multi-image-grid .image-block {
        height: 100%; }
        .module-multi-image-grid .image-block .image-cover {
          width: 100%;
          height: 100%; }
        .module-multi-image-grid .image-block.half-height {
          height: -webkit-calc(50% - .25rem);
          height: calc(50% - .25rem);
          margin-bottom: .5rem; } }
    .module-multi-image-grid .image-block .image-cover img {
      border-radius: 1px; }

.module-video-embed {
  margin-top: 2.5rem;
  margin-bottom: 3.57143rem; }
  .module-video-embed .module-video-wrapper {
    position: relative;
    padding-top: 15.5em; }
    .module-video-embed .module-video-wrapper > div {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0; }
  @media screen and (min-width: 40em) {
    .module-video-embed {
      margin-bottom: 5rem; }
      .module-video-embed .module-video-wrapper {
        padding-top: 26em; } }
  @media screen and (min-width: 64em) {
    .module-video-embed .module-video-wrapper {
      padding-top: 38em; } }

.video-modal.reveal {
  height: auto;
  min-height: auto; }

/* endinject */
/* inject:components */
.header-carousel,
.gallery-carousel,
.gallery-slide-nav {
  position: relative;
  height: 70vh; }
  .header-carousel .img-fill,
  .gallery-carousel .img-fill,
  .gallery-slide-nav .img-fill {
    height: 70vh; }
    .header-carousel .img-fill img,
    .gallery-carousel .img-fill img,
    .gallery-slide-nav .img-fill img {
      width: 100%; }
  .header-carousel .slick-dots,
  .gallery-carousel .slick-dots,
  .gallery-slide-nav .slick-dots {
    bottom: 25px; }
    @media screen and (min-width: 40em) {
      .header-carousel .slick-dots,
      .gallery-carousel .slick-dots,
      .gallery-slide-nav .slick-dots {
        top: 50%;
        bottom: auto;
        right: 1.5rem;
        width: 30px;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); } }
  .header-carousel .info,
  .gallery-carousel .info,
  .gallery-slide-nav .info {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.25);
    background-size: cover; }
    .header-carousel .info .slide-text,
    .gallery-carousel .info .slide-text,
    .gallery-slide-nav .info .slide-text {
      position: absolute;
      top: 50%;
      left: 50%;
      right: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      width: 80%;
      color: #ffffff;
      letter-spacing: 1px;
      text-align: center; }
      .header-carousel .info .slide-text h2,
      .gallery-carousel .info .slide-text h2,
      .gallery-slide-nav .info .slide-text h2 {
        font-size: 2.57143rem;
        line-height: 1.15; }
      @media screen and (min-width: 40em) {
        .header-carousel .info .slide-text h2,
        .gallery-carousel .info .slide-text h2,
        .gallery-slide-nav .info .slide-text h2 {
          font-size: 3.42857rem; } }
    .header-carousel .info .play,
    .gallery-carousel .info .play,
    .gallery-slide-nav .info .play {
      border: 1px solid #ffffff;
      height: 58px;
      width: 58px;
      font-size: 1.07143rem; }
  .header-carousel.slick-slider,
  .gallery-carousel.slick-slider,
  .gallery-slide-nav.slick-slider {
    margin-bottom: 1rem; }
  @media screen and (min-width: 64em) {
    .header-carousel,
    .gallery-carousel,
    .gallery-slide-nav {
      height: 75vh; }
      .header-carousel .img-fill,
      .gallery-carousel .img-fill,
      .gallery-slide-nav .img-fill {
        height: 75vh; } }
  @media screen and (min-width: 64em) {
    .header-carousel.home-carousel,
    .gallery-carousel.home-carousel,
    .gallery-slide-nav.home-carousel {
      height: 85vh; }
      .header-carousel.home-carousel .img-fill,
      .gallery-carousel.home-carousel .img-fill,
      .gallery-slide-nav.home-carousel .img-fill {
        height: 85vh; } }

.image-block-carousel.slick-slider {
  margin-bottom: 0; }
  @media screen and (max-width: 39.9375em) {
    .image-block-carousel.slick-slider .slick-list,
    .image-block-carousel.slick-slider .itb-image {
      height: 25vh !important; } }

.image-block-carousel .slick-dots {
  bottom: 25px; }
  @media screen and (min-width: 40em) {
    .image-block-carousel .slick-dots {
      top: 50%;
      bottom: auto;
      right: 1.5rem;
      width: 30px;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); } }

.gallery-carousel-wrapper {
  margin-top: 4.75rem; }
  .gallery-carousel-wrapper .gallery-carousel,
  .gallery-carousel-wrapper .gallery-slide-nav {
    height: auto;
    max-height: 80vh;
    outline: none;
    overflow: hidden; }
    .gallery-carousel-wrapper .gallery-carousel .img-fill,
    .gallery-carousel-wrapper .gallery-slide-nav .img-fill {
      height: auto; }
    .gallery-carousel-wrapper .gallery-carousel.slick-slider,
    .gallery-carousel-wrapper .gallery-slide-nav.slick-slider {
      margin-bottom: .5rem; }
    .gallery-carousel-wrapper .gallery-carousel .item,
    .gallery-carousel-wrapper .gallery-slide-nav .item {
      padding: 0; }
    .gallery-carousel-wrapper .gallery-carousel .carousel-prev,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next,
    .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev,
    .gallery-carousel-wrapper .gallery-slide-nav .carousel-next {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      z-index: 5;
      background: white;
      font-size: 1.21429rem;
      font-weight: 700; }
      .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-left, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-prev, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-right, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-next,
      .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-left,
      .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-prev,
      .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-right,
      .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-next,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev span.icon-arrow-left,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev span.slick-prev,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev span.icon-arrow-right,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev span.slick-next,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-next span.icon-arrow-left,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-next span.slick-prev,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-next span.icon-arrow-right,
      .gallery-carousel-wrapper .gallery-slide-nav .carousel-next span.slick-next {
        color: red; }
    .gallery-carousel-wrapper .gallery-carousel .carousel-prev,
    .gallery-carousel-wrapper .gallery-slide-nav .carousel-prev {
      left: 0;
      padding: 1.25rem .55rem 1rem .40rem; }
    .gallery-carousel-wrapper .gallery-carousel .carousel-next,
    .gallery-carousel-wrapper .gallery-slide-nav .carousel-next {
      right: 0;
      padding: 1.25rem .40rem 1rem .55rem; }
  .gallery-carousel-wrapper .gallery-carousel .image-cover {
    height: 65vh; }
    .gallery-carousel-wrapper .gallery-carousel .image-cover img {
      font-family: "object-fit:cover";
      object-fit: cover;
      top: 50%;
      left: 50%; }
  .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-left, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-prev, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-right, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-next,
  .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-left,
  .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-prev,
  .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-right,
  .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-next {
    font-size: 1.1rem; }
  @media screen and (min-width: 40em) {
    .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-left, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-prev, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-right, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-next,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-left,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-prev,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-right,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-next {
      font-size: 1.25rem; } }
  @media screen and (min-width: 64em) {
    .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-left, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-prev, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.icon-arrow-right, .gallery-carousel-wrapper .gallery-carousel .carousel-prev span.slick-next,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-left,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-prev,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.icon-arrow-right,
    .gallery-carousel-wrapper .gallery-carousel .carousel-next span.slick-next {
      font-size: 1.5rem; } }
  @media screen and (max-width: 39.9375em) {
    .gallery-carousel-wrapper .gallery-carousel .carousel-prev {
      padding: .75rem .35rem .55rem .20rem; }
    .gallery-carousel-wrapper .gallery-carousel .carousel-next {
      padding: .75rem .20rem .55rem .35rem; } }
  .gallery-carousel-wrapper .gallery-slide-nav-wrapper {
    margin-top: 0;
    overflow: hidden; }
    .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav {
      width: 100%;
      position: relative;
      overflow: hidden; }
      .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .slick-list {
        margin: 0 -.25rem; }
        .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .slick-list .item {
          padding-left: .25rem;
          padding-right: .25rem;
          outline: none; }
          .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .slick-list .item a {
            display: block;
            outline: none; }
          .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .slick-list .item .img-fill {
            padding-top: 104.16667%;
            height: 0;
            overflow: hidden; }
            .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .slick-list .item .img-fill img {
              font-family: "object-fit:cover";
              object-fit: cover;
              position: absolute;
              top: 50%;
              left: 50%;
              -webkit-transform: translate(-50%, -50%);
                      transform: translate(-50%, -50%);
              width: 100%;
              height: 100%; }
      .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .carousel-prev {
        padding: .75rem .35rem .55rem .20rem; }
      .gallery-carousel-wrapper .gallery-slide-nav-wrapper .gallery-slide-nav .carousel-next {
        padding: .75rem .20rem .55rem .35rem; }

.slick-slider {
  margin-bottom: 0; }

.img-fill {
  position: relative;
  width: 100%;
  display: block;
  overflow: hidden;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center; }

.slideshow-container {
  position: relative; }
  .slideshow-container .slick-dots {
    margin-left: 0;
    margin-bottom: 0.53571rem;
    bottom: 0; }
    @media screen and (min-width: 64em) {
      .slideshow-container .slick-dots {
        margin-bottom: 2.85714rem; } }
    .slideshow-container .slick-dots li, .slideshow-container .slick-dots li button, .slideshow-container .slick-dots li button:before {
      width: 20px;
      height: 20px; }

.single-slide .slick-prev,
.single-slide .slick-next {
  width: auto;
  height: auto; }
  .single-slide .slick-prev:before,
  .single-slide .slick-next:before {
    font-family: 'fontello';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 2.57143rem; }
    @media screen and (min-width: 64em) {
      .single-slide .slick-prev:before,
      .single-slide .slick-next:before {
        font-size: 2rem; } }

.single-slide .slick-slide {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }
  .single-slide .slick-slide img {
    visibility: hidden;
    width: 100%; }
    @media screen and (max-width: 39.9375em) {
      .single-slide .slick-slide img {
        height: 0;
        padding-top: 100%; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      .single-slide .slick-slide img {
        height: 600px; } }

.single-slide:focus {
  outline: 0; }

.single-slide .slick-prev {
  left: 1.14286rem; }

.single-slide .slick-next {
  right: 1.14286rem; }

@media screen and (min-width: 64em) {
  .single-slide .slick-prev {
    left: 2.28571rem; }
  .single-slide .slick-next {
    right: 2.28571rem; } }

.slick-prev:before,
.slick-next:before {
  font-family: 'fontello';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  border-radius: 2px; }

.instagram-feed {
  margin-top: 4rem;
  overflow: hidden; }
  .instagram-feed .item {
    padding-left: .25rem;
    padding-right: .25rem; }
  .instagram-feed h2 {
    text-align: center; }
  .instagram-feed a {
    color: #d64626; }
    .instagram-feed a:hover {
      color: #CE4423; }

.component-video-gallery {
  margin-top: 4rem;
  margin-bottom: 2rem; }
  .component-video-gallery h2 {
    text-align: center; }
  .component-video-gallery .video-gallery-wrapper {
    position: relative;
    margin-bottom: .5rem;
    padding-left: .25rem;
    padding-right: .25rem;
    overflow: hidden; }
    .component-video-gallery .video-gallery-wrapper .video-thumbnail {
      padding-top: 56.33803%;
      overflow: hidden;
      background-size: cover; }
      .component-video-gallery .video-gallery-wrapper .video-thumbnail .thumbnail-overlay {
        position: absolute;
        top: 0;
        left: 0;
        height: 100.5%;
        width: 100.5%;
        background-color: rgba(0, 0, 0, 0.25); }
    .component-video-gallery .video-gallery-wrapper .play {
      position: absolute;
      top: 50%;
      left: 50%;
      right: 50%;
      padding: 1rem;
      height: 58px;
      width: 58px;
      border: 1px solid #ffffff;
      color: white;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }

.pre-loader {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  background-color: #fffef8;
  z-index: 999; }
  .pre-loader svg {
    position: absolute;
    top: 52%;
    left: 50%;
    max-width: 32%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    @media screen and (max-width: 39.9375em) {
      .pre-loader svg {
        max-width: 75%; } }
    .pre-loader svg .rays {
      opacity: 0; }

/* endinject */
/* inject:templates */
.location-map {
  position: relative;
  height: 55vh;
  width: 100%; }
  .location-map.contact-map {
    margin-bottom: 2rem; }
    @media screen and (min-width: 40em) {
      .location-map.contact-map {
        margin-bottom: 3rem; } }
    .location-map.contact-map #map {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%; }

.location-map {
  height: auto;
  color: #ffffff; }
  @media screen and (min-width: 40em) {
    .location-map {
      margin-top: 4.85714rem;
      margin-bottom: 0; } }
  .location-map #map {
    width: 100%;
    height: 65vh; }
  .location-map.contact-map {
    height: 55vh; }
    .location-map.contact-map #map {
      height: 100%; }
    @media screen and (min-width: 40em) {
      .location-map.contact-map {
        margin-top: 2.85714rem; } }
  .location-map .todo-map-filter {
    padding: 1rem;
    width: 100%;
    background: rgba(0, 0, 0, 0.75);
    font-weight: 700; }
    @media screen and (min-width: 40em) {
      .location-map .todo-map-filter {
        padding: 1rem 3rem 0.5rem; } }
    @media screen and (min-width: 64em) {
      .location-map .todo-map-filter {
        position: absolute;
        bottom: 0;
        left: 0; } }
    .location-map .todo-map-filter ul {
      margin: 0; }
      .location-map .todo-map-filter ul li, .location-map .todo-map-filter ul a {
        color: #ffffff; }
      .location-map .todo-map-filter ul .filter-show-all {
        background: black;
        padding: 1rem 1rem .5rem;
        border-radius: 4px; }
      .location-map .todo-map-filter ul li {
        margin-right: 1.5rem;
        display: inline-block; }
        .location-map .todo-map-filter ul li:last-of-type {
          margin-right: 0; }
        .location-map .todo-map-filter ul li a {
          font-size: 1.07143rem;
          font-weight: 200;
          letter-spacing: 0.07143rem; }
          .location-map .todo-map-filter ul li a img {
            position: relative;
            height: 4.28571rem;
            top: .25rem;
            z-index: 2; }

.infoBox {
  position: relative;
  padding: 1rem;
  background: #2F2F2F;
  border-radius: 4px;
  text-align: left !important; }
  .infoBox h5, .infoBox p {
    font-family: "BrandonGrotesque", sans-serif; }
  .infoBox > h5 {
    margin-top: 0;
    margin-bottom: 1rem;
    color: #FFF;
    font-size: 1.14286rem;
    font-weight: 700;
    text-transform: inherit;
    letter-spacing: 1px; }
  .infoBox p {
    font-size: 1rem;
    font-weight: 200;
    line-height: 1.625rem;
    letter-spacing: 1px; }
  .infoBox p:last-child {
    margin-bottom: 0; }
  .infoBox a {
    display: inline-block;
    margin-top: 1rem;
    color: #d64626; }
    .infoBox a:hover {
      color: #CE4423; }
  .infoBox::after {
    content: '';
    position: absolute;
    top: 100%;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #2F2F2F;
    left: 50%;
    margin-left: -20px; }
  .infoBox img {
    margin: 0 -5px 0 0 !important; }

/** RESTAURANT TEMPLATE STYLING **/
.restaurant-content {
  margin: 2rem auto; }
  .restaurant-content h2 {
    font-size: 1.2rem; }
  .restaurant-content .restaurant-logo {
    margin-bottom: 2rem; }
    .restaurant-content .restaurant-logo img {
      max-height: 9.14286rem; }
    @media screen and (max-width: 39.9375em) {
      .restaurant-content .restaurant-logo img {
        margin: 0 auto;
        display: block; } }
    @media screen and (min-width: 64em) {
      .restaurant-content .restaurant-logo {
        margin-bottom: 0;
        text-align: center; } }
    .restaurant-content .restaurant-logo .logo-container + .logo-container {
      margin-top: 1.71429em;
      padding-top: 1.71429em;
      border-top: solid 2px; }
  @media screen and (min-width: 64em) {
    .restaurant-content .restaurant-copy {
      padding-left: 2rem;
      padding-right: 4rem; } }
  .restaurant-content .restaurant-hours p:last-child {
    margin-bottom: 0; }

.restaurant-menu-section {
  margin-top: 0;
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-top: 1px solid #F0E8DE; }
  .restaurant-menu-section .menu-container {
    text-align: center; }
    .restaurant-menu-section .menu-container .learn-more-button {
      width: 100%;
      margin-top: .5rem;
      margin-right: 8px; }
      @media screen and (min-width: 40em) {
        .restaurant-menu-section .menu-container .learn-more-button {
          margin-top: 0;
          width: auto; } }
  @media screen and (min-width: 40em) {
    .restaurant-menu-section {
      padding-top: 3rem;
      padding-bottom: 3rem; } }

@media screen and (min-width: 64em) {
  .module-rooms-grid {
    margin-top: 4.75rem; } }

@media screen and (min-width: 83.4375em) {
  .module-rooms-grid {
    margin-top: 4.85714rem; } }

@media screen and (min-width: 104.375em) {
  .module-rooms-grid {
    margin-top: 5.14286rem; } }

.module-rooms-grid .rooms-block,
.module-rooms-grid .rooms-info-block {
  margin-bottom: .5rem;
  padding-left: .25rem;
  padding-right: .25rem; }
  .module-rooms-grid .rooms-block .row,
  .module-rooms-grid .rooms-info-block .row {
    position: relative;
    margin-left: 0;
    margin-right: 0;
    padding-top: 98.04688%;
    overflow: hidden;
    height: 0;
    min-height: 100%;
    max-width: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 2px; }
    .module-rooms-grid .rooms-block .row .rooms-overlay,
    .module-rooms-grid .rooms-info-block .row .rooms-overlay {
      display: table;
      position: absolute;
      top: 0;
      left: 0;
      height: 100.5%;
      width: 100.5%;
      background-color: rgba(0, 0, 0, 0);
      -webkit-transition: background-color .15s ease-in-out;
      transition: background-color .15s ease-in-out; }
      .module-rooms-grid .rooms-block .row .rooms-overlay span.reg-button,
      .module-rooms-grid .rooms-info-block .row .rooms-overlay span.reg-button {
        position: absolute;
        left: 2rem;
        bottom: 2rem;
        padding: 1.45rem 1.65rem 1.15rem;
        background-color: rgba(0, 0, 0, 0.25);
        font-weight: 700;
        font-size: 1rem;
        letter-spacing: 0.05357rem;
        text-transform: uppercase;
        -webkit-transition: opacity .15s ease-in-out;
        transition: opacity .15s ease-in-out; }
        .module-rooms-grid .rooms-block .row .rooms-overlay span.reg-button:hover, .module-rooms-grid .rooms-block .row .rooms-overlay span.reg-button:active,
        .module-rooms-grid .rooms-info-block .row .rooms-overlay span.reg-button:hover,
        .module-rooms-grid .rooms-info-block .row .rooms-overlay span.reg-button:active {
          border: 1px solid #ffffff; }
        @media screen and (max-width: 39.9375em) {
          .module-rooms-grid .rooms-block .row .rooms-overlay span.reg-button,
          .module-rooms-grid .rooms-info-block .row .rooms-overlay span.reg-button {
            left: 1rem;
            bottom: .75rem;
            max-width: 225px;
            line-height: 1.25; } }
      .module-rooms-grid .rooms-block .row .rooms-overlay .rooms-overlay-info,
      .module-rooms-grid .rooms-info-block .row .rooms-overlay .rooms-overlay-info {
        padding: 4rem;
        display: none;
        height: 100%;
        width: 100%;
        background-color: rgba(237, 228, 214, 0.9);
        opacity: 0;
        text-align: center;
        vertical-align: middle;
        -webkit-transition: opacity .15s ease-in-out;
        transition: opacity .15s ease-in-out; }
        .module-rooms-grid .rooms-block .row .rooms-overlay .rooms-overlay-info p,
        .module-rooms-grid .rooms-info-block .row .rooms-overlay .rooms-overlay-info p {
          margin-bottom: 0; }
      .module-rooms-grid .rooms-block .row .rooms-overlay:hover,
      .module-rooms-grid .rooms-info-block .row .rooms-overlay:hover {
        background-color: rgba(0, 0, 0, 0.035); }
    @media screen and (max-width: 39.9375em) {
      .module-rooms-grid .rooms-block .row,
      .module-rooms-grid .rooms-info-block .row {
        height: auto; } }
  @media screen and (min-width: 40em) {
    .module-rooms-grid .rooms-block.large-8 .row,
    .module-rooms-grid .rooms-info-block.large-8 .row {
      padding-top: 48.83721%; } }

.module-rooms-grid .rooms-block a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%; }

.module-rooms-grid .rooms-info-block {
  padding-left: .25rem;
  padding-right: .25rem; }
  .module-rooms-grid .rooms-info-block .rooms-info-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    display: table;
    display: -webkit-inline-box;
    -webkit-box-pack: center;
    -webkit-box-align: center;
    height: 100%;
    width: 100%;
    border: 1px solid #F0E8DE; }
    @media screen and (max-width: 39.9375em) {
      .module-rooms-grid .rooms-info-block .rooms-info-wrapper {
        position: relative; } }
    .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info {
      padding: 3rem;
      display: table-cell;
      height: 100%;
      width: 100%;
      vertical-align: middle; }
      .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info a {
        display: inline-block; }
      @media screen and (min-width: 64em) and (max-width: 83.375em) {
        .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info {
          padding: 1.75rem; }
          .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info ul {
            margin-bottom: 0; } }
      @media screen and (max-width: 39.9375em) {
        .module-rooms-grid .rooms-info-block .rooms-info-wrapper .rooms-overlay-info {
          padding: 1.25rem; } }
  @media screen and (max-width: 39.9375em) {
    .module-rooms-grid .rooms-info-block {
      min-height: 320px; }
      .module-rooms-grid .rooms-info-block .row {
        padding-top: 0; } }

.rooms-carousel-wrapper {
  overflow: hidden; }
  @media screen and (min-width: 40em) {
    .rooms-carousel-wrapper {
      margin-top: 5rem; } }
  .rooms-carousel-wrapper h2 {
    margin-bottom: 1.42857rem;
    font-weight: 700;
    text-align: left; }
    @media screen and (min-width: 40em) {
      .rooms-carousel-wrapper h2 {
        text-align: center; } }
  .rooms-carousel-wrapper .other-room-carousel {
    margin-bottom: 1.71429rem;
    position: relative;
    width: 100%;
    overflow: hidden; }
    @media screen and (min-width: 40em) {
      .rooms-carousel-wrapper .other-room-carousel {
        margin-bottom: 0; } }
    .rooms-carousel-wrapper .other-room-carousel .carousel-prev,
    .rooms-carousel-wrapper .other-room-carousel .carousel-next {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-0.5rem);
              transform: translateY(-0.5rem);
      z-index: 5;
      background: white;
      font-size: 1.21429rem;
      font-weight: 700; }
      .rooms-carousel-wrapper .other-room-carousel .carousel-prev span.icon-arrow-left, .rooms-carousel-wrapper .other-room-carousel .carousel-prev span.slick-prev, .rooms-carousel-wrapper .other-room-carousel .carousel-prev span.icon-arrow-right, .rooms-carousel-wrapper .other-room-carousel .carousel-prev span.slick-next,
      .rooms-carousel-wrapper .other-room-carousel .carousel-next span.icon-arrow-left,
      .rooms-carousel-wrapper .other-room-carousel .carousel-next span.slick-prev,
      .rooms-carousel-wrapper .other-room-carousel .carousel-next span.icon-arrow-right,
      .rooms-carousel-wrapper .other-room-carousel .carousel-next span.slick-next {
        color: red; }
    .rooms-carousel-wrapper .other-room-carousel .carousel-prev {
      left: 0;
      padding: .85rem .35rem .75rem .20rem;
      border-top-right-radius: 2px;
      border-bottom-right-radius: 2px; }
    .rooms-carousel-wrapper .other-room-carousel .carousel-next {
      right: 0;
      padding: .85rem .20rem .75rem .35rem;
      border-top-left-radius: 2px;
      border-bottom-left-radius: 2px; }
    .rooms-carousel-wrapper .other-room-carousel .slick-list {
      margin: 0 -.25rem; }
      .rooms-carousel-wrapper .other-room-carousel .slick-list .item {
        padding-left: .25rem;
        padding-right: .25rem; }
        .rooms-carousel-wrapper .other-room-carousel .slick-list .item a {
          display: block;
          outline: none; }
        .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill {
          padding-top: 104.43864%;
          height: 0;
          overflow: hidden; }
          .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill img {
            font-family: "object-fit:cover";
            object-fit: cover;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%; }
          .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info {
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 100%;
            background-color: rgba(0, 0, 0, 0.15);
            background-size: cover;
            -webkit-transition: background-color .15s ease-in-out;
            transition: background-color .15s ease-in-out; }
            .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info span {
              position: absolute;
              bottom: 2rem;
              left: 0;
              right: 0;
              margin: 0 auto;
              padding: 1rem 1.1rem .65rem;
              display: inline-block;
              width: 75%;
              background-color: none;
              border: 1px solid #ffffff;
              opacity: 1;
              color: #ffffff;
              font-size: 1rem;
              font-weight: 200;
              letter-spacing: .5px;
              text-transform: uppercase;
              -webkit-transition: opacity .15s ease-in-out;
              transition: opacity .15s ease-in-out;
              z-index: 1; }
              @media screen and (min-width: 40em) {
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info span {
                  margin: 0;
                  padding: 1.15rem 1.5rem .75rem;
                  left: 2rem;
                  right: auto;
                  width: auto; } }
            .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper {
              padding: 2rem;
              display: table;
              height: 100%;
              width: 100%;
              opacity: 0;
              -webkit-transition: opacity .15s ease-in-out;
              transition: opacity .15s ease-in-out; }
              .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper .overlay-info {
                height: 100%;
                width: 100%;
                display: table-cell;
                vertical-align: middle; }
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper .overlay-info h2 {
                  font-size: 1.75rem;
                  margin-bottom: .75rem; }
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper .overlay-info p {
                  margin-bottom: 0;
                  line-height: 1.5; }
              @media screen and (min-width: 64em) {
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper {
                  padding: 3rem; } }
              @media screen and (min-width: 83.4375em) {
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper h2 {
                  margin-bottom: 1rem;
                  font-size: 2rem; }
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info .overlay-info-wrapper p {
                  line-height: 1.75; } }
            .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info:hover {
              background-color: rgba(240, 232, 222, 0.9); }
              .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info:hover span {
                opacity: 0;
                bottom: 2rem; }
              @media screen and (max-width: 63.9375em) {
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info:hover {
                  background-color: rgba(0, 0, 0, 0.15); }
                  .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info:hover span {
                    opacity: 1; } }
              @media screen and (min-width: 64em) {
                .rooms-carousel-wrapper .other-room-carousel .slick-list .item .img-fill .info:hover .overlay-info-wrapper {
                  opacity: 1; } }

/* endinject */
footer {
  padding: 0 1.5rem 1.42857rem;
  padding-bottom: 1.42857rem; }
  @media screen and (min-width: 40em) {
    footer {
      padding-right: 10.85714rem; } }
  footer .footer-links {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase; }
    @media screen and (min-width: 40em) {
      footer .footer-links {
        margin: 0.57143rem 0 1.71429rem;
        padding-top: 1.42857rem;
        padding-left: 1rem;
        display: block; }
        footer .footer-links li {
          line-height: 1;
          display: inline-block;
          margin-right: 1.14286rem; }
        footer .footer-links a {
          padding: 0; } }
    @media screen and (min-width: 64em) {
      footer .footer-links {
        margin: 1.42857rem 0 1.71429rem; } }
    footer .footer-links > li:last-child {
      margin-right: 0; }
    footer .footer-links a {
      color: #2F2F2F;
      -webkit-transition: color .1s ease-in-out;
      transition: color .1s ease-in-out; }
      footer .footer-links a:hover {
        color: #d64626;
        border-bottom: 2px solid #d64626; }
  footer .mailing-list {
    float: right !important;
    margin-top: .75rem; }
    footer .mailing-list #mc_embed_signup {
      width: 100%; }
      footer .mailing-list #mc_embed_signup form {
        margin: 0; }
      footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        -js-display: flex;
        display: flex; }
        @media screen and (max-width: 63.9375em) {
          footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -webkit-flex-direction: column;
                -ms-flex-direction: column;
                    flex-direction: column; } }
        footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .mc-field-group {
          width: 100%;
          padding-bottom: 0; }
        footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .simple-cta__input {
          border: none;
          border-radius: 0;
          background-color: #F0E8DE;
          text-indent: 4%; }
          @media screen and (max-width: 39.9375em) {
            footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .simple-cta__input {
              background-color: #f0e8de; } }
          footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .simple-cta__input:focus {
            background-color: rgba(255, 255, 255, 0.75); }
            @media screen and (max-width: 39.9375em) {
              footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .simple-cta__input:focus {
                background-color: #f0e8de; } }
        footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .helper_text, footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .helper_text + div {
          background-color: transparent !important; }
        footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .simple-cta__button {
          font-family: "BrandonGrotesque", sans-serif;
          font-size: 1rem;
          text-transform: uppercase;
          font-weight: bold;
          min-width: 16.07143rem;
          background-color: #fffef8;
          color: #4A4A4A;
          height: 3.57143rem;
          border: 2px solid #F0E8DE;
          border-radius: 0;
          margin: 0; }
          @media (max-width: 1300px) {
            footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .simple-cta__button {
              min-width: auto; } }
          @media screen and (max-width: 63.9375em) {
            footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .simple-cta__button {
              width: 100%; } }
          @media screen and (max-width: 39.9375em) {
            footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .simple-cta__button {
              background-color: #b83020;
              color: #f7f3ef; } }
          footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .simple-cta__button:hover, footer .mailing-list #mc_embed_signup #mc_embed_signup_scroll .simple-cta__button:focus {
            background-color: #b83020;
            color: #f7f3ef; }
    footer .mailing-list input[type="email"],
    footer .mailing-list button {
      padding: 1.35rem 2rem .9rem;
      height: 50px;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: .5px;
      text-transform: uppercase; }
    footer .mailing-list input[type="email"] {
      background: #F0E8DE;
      border: 2px solid #F0E8DE;
      border-right: none;
      color: #5D5247;
      text-align: center; }
      footer .mailing-list input[type="email"]:focus {
        background: rgba(255, 255, 255, 0.75); }
      @media screen and (min-width: 40em) {
        footer .mailing-list input[type="email"] {
          text-align: left; } }
    footer .mailing-list button {
      background: #fffef8;
      border: 2px solid #F0E8DE; }
    footer .mailing-list .subscribe {
      margin: 0;
      padding-top: 1.15rem;
      color: #4A4A4A; }
      footer .mailing-list .subscribe:hover {
        color: #f7f3ef; }
    @media screen and (min-width: 40em) {
      footer .mailing-list {
        margin-top: 1.75rem; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJzaXRlL2NvbXBvbmVudHMvX2ZvbnRzLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCJwbHVnaW5zL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLWRhdGVwaWNrZXIvc2Nzcy9mb3VuZGF0aW9uLWRhdGVwaWNrZXIuc2NzcyIsInBsdWdpbnMvanF1ZXJ5LXVpL19jb3JlLnNjc3MiLCJwbHVnaW5zL2pxdWVyeS11aS9fZGF0ZXBpY2tlci5zY3NzIiwicGx1Z2lucy9qcXVlcnktdWkvX3RoZW1lLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwic2l0ZS9fYmFzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19mb250LWZhY2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsInNpdGUvY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsInNpdGUvY29tcG9uZW50cy9fc3Vic2NyaWJlLnNjc3MiLCJzaXRlL19tb2JpbGUtbWVudS5zY3NzIiwic2l0ZS9faGVhZGVyLnNjc3MiLCJzaXRlL2NvbXBvbmVudHMvX21peGlucy5zY3NzIiwic2l0ZS9fbGF5b3V0LnNjc3MiLCJzaXRlL19tb2R1bGVzLnNjc3MiLCJzaXRlL21vZHVsZXMvX2NvbnRlbnQtYmxvY2tzLnNjc3MiLCJzaXRlL21vZHVsZXMvX2Z1bGwtcHJvbW8uc2NzcyIsInNpdGUvbW9kdWxlcy9fdHdvLXVwLWxpc3Quc2NzcyIsInNpdGUvbW9kdWxlcy9fdHdvLXVwLXRleHQtaW1hZ2Uuc2NzcyIsInNpdGUvbW9kdWxlcy9fdmlkZW8tZW1iZWQuc2NzcyIsInNpdGUvX2NvbXBvbmVudHMuc2NzcyIsInNpdGUvY29tcG9uZW50cy9fY2Fyb3VzZWwuc2NzcyIsInNpdGUvY29tcG9uZW50cy9faW5zdGFncmFtLWZlZWQuc2NzcyIsInNpdGUvY29tcG9uZW50cy9fdmlkZW8tZ2FsbGVyeS5zY3NzIiwic2l0ZS9jb21wb25lbnRzL19wcmUtbG9hZGVyLnNjc3MiLCJzaXRlL190ZW1wbGF0ZXMuc2NzcyIsInNpdGUvdGVtcGxhdGVzL19jb250YWN0LnNjc3MiLCJzaXRlL3RlbXBsYXRlcy9fbmVpZ2hib3Job29kLnNjc3MiLCJzaXRlL3RlbXBsYXRlcy9fcmVzdGF1cmFudC5zY3NzIiwic2l0ZS90ZW1wbGF0ZXMvX3Jvb21zLnNjc3MiLCJzaXRlL19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0dBS0c7QUMrTUQsNEVBQTRFO0FBRTVFOzs7O0tBSUc7QUN4TkwsZ0RBQVk7QUFLWixnREFBWTtBRHFOVjtFQUNFLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsMkJBQTBCO0VBQUUsT0FBTztFQUNuQywrQkFBOEI7RUFBRSxPQUFPLEVBQ3hDOztBQUVEOztLQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7a0ZBQ2dGO0FBRWhGOzs7OztLQUtHO0FBRUg7Ozs7Ozs7Ozs7Ozs7RUFhRSxlQUFjLEVBQ2Y7O0FBRUQ7OztLQUdHO0FBRUg7Ozs7RUFJRSxzQkFBcUI7RUFBRSxPQUFPO0VBQzlCLHlCQUF3QjtFQUFFLE9BQU8sRUFDbEM7O0FBRUQ7OztLQUdHO0FBRUg7RUFDRSxjQUFhO0VBQ2IsVUFBUyxFQUNWOztBQUVEOzs7S0FHRztBRmpOTDs7RUVxTkksY0FBYSxFQUNkOztBQUVEO2tGQUNnRjtBQUVoRjs7S0FFRztBQUVIO0VBQ0UsOEJBQTZCLEVBQzlCOztBQUVEOzs7S0FHRztBQUVIOztFQUVFLFdBQVUsRUFDWDs7QUFFRDtrRkFDZ0Y7QUFFaEY7O0tBRUc7QUFFSDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDs7S0FFRztBQUVIOztFQUVFLGtCQUFpQixFQUNsQjs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEOzs7S0FHRztBQUVIO0VBQ0UsZUFBYztF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L0MsNEJHaEwrQztNSGdML0Msd0JHaEwrQztVSGdML0Msb0JHaEwrQztFSGlML0MscUJHakwrQyxFSGtMaEQ7O0FBS0Q7RUkxS0osaUJEYnFELEVIeUxoRDs7QUFWRDtFQUNFLG9CR2hMK0M7RUhnTC9DLDRCR2hMK0M7TUhnTC9DLHdCR2hMK0M7VUhnTC9DLG9CR2hMK0M7RUhpTC9DLHFCR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLHVCRGJxRCxFSHlMaEQ7O0FBVkQ7RUFDRSxvQkdoTCtDO0VIZ0wvQyxzQkdoTCtDO01IZ0wvQyxrQkdoTCtDO1VIZ0wvQyxjR2hMK0M7RUhpTC9DLGVHakwrQyxFSGtMaEQ7O0FBS0Q7RUkxS0osdUJEYnFELEVIeUxoRDs7QUFWRDtFQUNFLG9CR2hMK0M7RUhnTC9DLDRCR2hMK0M7TUhnTC9DLHdCR2hMK0M7VUhnTC9DLG9CR2hMK0M7RUhpTC9DLHFCR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLGlCRGJxRCxFSHlMaEQ7O0FBVkQ7RUFDRSxvQkdoTCtDO0VIZ0wvQyw0QkdoTCtDO01IZ0wvQyx3QkdoTCtDO1VIZ0wvQyxvQkdoTCtDO0VIaUwvQyxxQkdqTCtDLEVIa0xoRDs7QUFLRDtFSTFLSix1QkRicUQsRUh5TGhEOztBQVZEO0VBQ0Usb0JHaEwrQztFSGdML0Msc0JHaEwrQztNSGdML0Msa0JHaEwrQztVSGdML0MsY0doTCtDO0VIaUwvQyxlR2pMK0MsRUhrTGhEOztBQUtEO0VJMUtKLHVCRGJxRCxFSHlMaEQ7O0FBVkQ7RUFDRSxvQkdoTCtDO0VIZ0wvQyw0QkdoTCtDO01IZ0wvQyx3QkdoTCtDO1VIZ0wvQyxvQkdoTCtDO0VIaUwvQyxxQkdqTCtDLEVIa0xoRDs7QUFLRDtFSTFLSixpQkRicUQsRUh5TGhEOztBQVZEO0VBQ0Usb0JHaEwrQztFSGdML0MsNEJHaEwrQztNSGdML0Msd0JHaEwrQztVSGdML0Msb0JHaEwrQztFSGlML0MscUJHakwrQyxFSGtMaEQ7O0FBS0Q7RUkxS0osdUJEYnFELEVIeUxoRDs7QUFWRDtFQUNFLG9CR2hMK0M7RUhnTC9DLHVCR2hM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L0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyxzQkdoTCtDO1FIZ0wvQyxrQkdoTCtDO1lIZ0wvQyxjR2hMK0M7SUhpTC9DLGVHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsdUJHaEwrQztRSGdML0MsbUJHaEwrQztZSGdML0MsZUdoTCtDO0lIaUwvQyxnQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFLRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFLRDtJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsdUJBRnNCO1VBRXRCLG1CQUZzQjtjQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQXNHRztJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsc0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsc0JBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUl2QjtFQXNHRztJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG9CQUZzQjtNQUV0Qiw0QkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHdCQUZzQjtVQUV0QixvQkFGc0I7Y0FFdEIsZ0JBRnNCO01BR3RCLGlCQUhzQixFQUl2QixFQUFBOztBTXVCQztFTnVGSTtJQUNFLG9CQWpMTTtJQWlMTixzQkFqTE07UUFpTE4sa0JBakxNO1lBaUxOLGNBakxNLEVBa0xQLEVBQUE7O0FBS0Q7RUFFSSxvQkFBMkI7RUFBM0IsdUJBQTJCO01BQTNCLG1CQUEyQjtVQUEzQixlQUEyQixFQUs1QjtFTXJHUDtJTjhGSTtNQUtNLG9CQTVMRTtNQTRMRixzQkE1TEU7VUE0TEYsa0JBNUxFO2NBNExGLGNBNUxFLEVBOExMLEVBQUE7O0FNckdQO0VOMkdBO0lFcFBGLGdCQUFlO0lBQ2YsaUJBQWdCLEVGb1A4QjtFQUc1QztJRS9PRix5QkFEOEI7SUFFOUIsMEJBRjhCLEVGbVAyQixFQUFBOztBTWxIdkQ7RU55REU7SUFDRSxvQkdoTCtDO0lIZ0wvQywyQkdoTCtDO1FIZ0wvQyx1QkdoTCtDO1lIZ0wvQyxtQkdoTCtDO0lIaUwvQyxvQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGdCRGhCZ0MsRUg0TDNCO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHNCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyxzQkdoTCtDO1FIZ0wvQyxrQkdoTCtDO1lIZ0wvQyxjR2hMK0M7SUhpTC9DLGVHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHVCR2hMK0M7UUhnTC9DLG1CR2hMK0M7WUhnTC9DLGVHaEwrQztJSGlML0MsZ0JHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBS0Q7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBS0Q7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHVCQUZzQjtVQUV0QixtQkFGc0I7Y0FFdEIsZUFGc0I7TUFHdEIsZ0JBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG9CQUZzQjtNQUV0QixzQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG9CQUZzQjtNQUV0Qiw0QkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLDRCQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQXNHRztJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsNEJBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBc0dHO0lBN0dKLHdCQUFlO1FBQWYsb0JBQWU7WUFBZixnQkFBZSxFQStHVjtJQTdHTDtNQUdFLG9CQUZzQjtNQUV0Qix3QkFGc0I7VUFFdEIsb0JBRnNCO2NBRXRCLGdCQUZzQjtNQUd0QixpQkFIc0IsRUFJdkIsRUFBQTs7QU11QkM7RU51Rkk7SUFDRSxvQkFqTE07SUFpTE4sc0JBakxNO1FBaUxOLGtCQWpMTTtZQWlMTixjQWpMTSxFQWtMUCxFQUFBOztBQUtEO0VBRUksb0JBQTJCO0VBQTNCLHVCQUEyQjtNQUEzQixtQkFBMkI7VUFBM0IsZUFBMkIsRUFLNUI7RU1yR1A7SU44Rkk7TUFLTSxvQkE1TEU7TUE0TEYsc0JBNUxFO1VBNExGLGtCQTVMRTtjQTRMRixjQTVMRSxFQThMTCxFQUFBOztBTXJHUDtFTjJHQTtJRXBQRixnQkFBZTtJQUNmLGlCQUFnQixFRm9QOEI7RUFHNUM7SUUvT0YseUJBRDhCO0lBRTlCLDBCQUY4QixFRm1QMkIsRUFBQTs7QU1sSHZEO0VOeURFO0lBQ0Usb0JHaEwrQztJSGdML0MsMkJHaEwrQztRSGdML0MsdUJHaEwrQztZSGdML0MsbUJHaEwrQztJSGlML0Msb0JHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixnQkRoQmdDLEVINEwzQjtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixzQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyxzQkdoTCtDO1FIZ0wvQyxrQkdoTCtDO1lIZ0wvQyxjR2hMK0M7SUhpTC9DLGVHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyx1QkdoTCtDO1FIZ0wvQyxtQkdoTCtDO1lIZ0wvQyxlR2hMK0M7SUhpTC9DLGdCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQUtEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3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SGdML0Msc0JHaEwrQztRSGdML0Msa0JHaEwrQztZSGdML0MsY0doTCtDO0lIaUwvQyxlR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSixpQkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLHNCR2hMK0M7UUhnTC9DLGtCR2hMK0M7WUhnTC9DLGNHaEwrQztJSGlML0MsZUdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osaUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsNEJHaEwrQztRSGdML0Msd0JHaEwrQztZSGdML0Msb0JHaEwrQztJSGlML0MscUJHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyxzQkdoTCtDO1FIZ0wvQyxrQkdoTCtDO1lIZ0wvQyxjR2hMK0M7SUhpTC9DLGVHakwrQyxFSGtMaEQ7RUFLRDtJSTFLSix1QkRicUQsRUh5TGhEO0VBVkQ7SUFDRSxvQkdoTCtDO0lIZ0wvQyw0QkdoTCtDO1FIZ0wvQyx3QkdoTCtDO1lIZ0wvQyxvQkdoTCtDO0lIaUwvQyxxQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLGlCRGJxRCxFSHlMaEQ7RUFWRDtJQUNFLG9CR2hMK0M7SUhnTC9DLDRCR2hMK0M7UUhnTC9DLHdCR2hMK0M7WUhnTC9DLG9CR2hMK0M7SUhpTC9DLHFCR2pMK0MsRUhrTGhEO0VBS0Q7SUkxS0osdUJEYnFELEVIeUxoRDtFQVZEO0lBQ0Usb0JHaEwrQztJSGdML0MsdUJHaEwrQztRSGdML0MsbUJHaEwrQztZSGdML0MsZUdoTCtDO0lIaUwvQyxnQkdqTCtDLEVIa0xoRDtFQUtEO0lJMUtKLHVCRGJxRCxFSHlMaEQ7RUFLRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFGRDtJS3pKSiw2Qkx3SmdCO0lLeEpoQixpQkx3SmdCO1FLeEpoQixrQkx3SmdCO1lLeEpoQixTTHdKZ0IsRUFHWDtFQUZEO0lLekpKLDZCTHdKZ0I7SUt4SmhCLGlCTHdKZ0I7UUt4SmhCLGtCTHdKZ0I7WUt4SmhCLFNMd0pnQixFQUdYO0VBRkQ7SUt6SkosNkJMd0pnQjtJS3hKaEIsaUJMd0pnQjtRS3hKaEIsa0JMd0pnQjtZS3hKaEIsU0x3SmdCLEVBR1g7RUFLRDtJQTdHSix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUErR1Y7SUE3R0w7TUFHRSxvQkFGc0I7TUFFdEIsdUJBRnNCO1VBRXRCLG1CQUZzQjtjQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLHNCQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFzR0c7SUE3R0osd0JBQWU7UUFBZixvQkFBZTtZQUFmLGdCQUFlLEVBK0dWO0lBN0dMO01BR0Usb0JBRnNCO01BRXRCLDRCQUZzQjtV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O0VBQ0Usc0JDaE8rQyxFRGlPaEQ7O0FBRkQ7RUFDRSxnQkNoTytDLEVEaU9oRDs7QURuS0w7RVZ3TUY7SVd0Q1Esc0JDaE8rQyxFRGlPaEQ7RUFGRDtJQUNFLHNCQ2hPK0MsRURpT2hEO0VBRkQ7SUFDRSxzQkNoTytDLEVEaU9oRDtFQUZEO0lBQ0Usc0JDaE8rQyxFRGlPaEQ7RUFGRDtJQUNFLHNCQ2hPK0MsRURpT2hEO0VBRkQ7SUFDRSxnQkNoTytDLEVEaU9oRCxFQUFBOztBWFZQO0VXaUJFLGVUMVFhO0VTMlFiLHNCVHpKeUI7RVMwSnpCLHFCQUFvQjtFQUNwQixnQkFBZSxFQWFoQjtFQWpCRDtJQVFJLGVUaEsyRCxFU29LNUQ7RUFaSDtJQWVJLFVBQVMsRUFDVjs7QVgyRkg7RVd0RkUsdUJDNVBxRDtFRDZQckQsVUFBUztFQUNULGdCQUFlO0VBQ2YsY0FBYTtFQUNiLGlDVHpSZ0I7RVMwUmhCLGVBQWM7RUFDZCx3QlQ3S3lCO0VTOEt6QixZQUFXLEVBQ1o7O0FBR0Q7OztFQUdFLGtCVHJNc0I7RVNzTXRCLHlCVHJNK0I7RVNzTS9CLDZCVGxMeUIsRVNtTDFCOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0Usc0JUN0xrQjtFUzhMbEIscUJUNUxzQixFUzZMdkI7O0FBR0Q7RUFDRSxxQlRqTXNCLEVTa012Qjs7QUFHRDtFQUVJLHFCVHRNMkI7RVN1TTNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLDBCQ3pTcUQsRUQrU3REO0VBUEQ7SUFJSSxzQlQ3TThCO0lTOE05QixpQlQ1U2tCLEVTNlNuQjs7QUFJSDtFQUNFLHNCVDdPK0I7RVM4Ty9CLDRDQ3BUcUQ7RURxVHJELCtCVDlVZ0IsRVNvVmpCO0VBVEQ7SUFNSSxrQlRuUG9CO0lTb1BwQixlVGhWYSxFU2lWZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxzQkNoVXFEO0VEaVVyRCxlVHhWZSxFUzZWaEI7RUFSRDtJQU1JLHVCQUFzQixFQUN2Qjs7QUFJSDtFQUNFLGVUaFdXO0VTaVdYLGFBQVk7RUFDWixrQ1RsV1csRVNtV1o7O0FBR0Q7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MkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0FoQ21NRDtFS3pKSiw2QjJCN0NnQjtFM0I2Q2hCLGlCMkI3Q2dCO00zQjZDaEIsa0IyQjdDZ0I7VTNCNkNoQixTMkI3Q2dCLEVBR1g7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYO0VoQ21NRDtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYLEVBQUE7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYO0VoQ21NRDtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYLEVBQUE7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYO0VoQ21NRDtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIsa0IyQjdDZ0I7WTNCNkNoQixTMkI3Q2dCLEVBR1g7RWhDbU1EO0lLekpKLDZCMkI3Q2dCO0kzQjZDaEIsaUIyQjdDZ0I7UTNCNkNoQixrQjJCN0NnQjtZM0I2Q2hCLFMyQjdDZ0IsRUFHWDtFaENtTUQ7SUt6SkosNkIyQjdDZ0I7STNCNkNoQixpQjJCN0NnQjtRM0I2Q2hCLGtCMkI3Q2dCO1kzQjZDaEIsUzJCN0NnQixFQUdYLEVBQUE7O0ExQjJISDtFTndFRTtJS3pKSiw2QjJCN0NnQjtJM0I2Q2hCLGlCMkI3Q2dCO1EzQjZDaEIs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RS9CaUI7VXFFZ0NqQixtQjNETHFEO1UyRE1yRCwwQnJFdkJzQjtVcUV3QnRCLGlCQUFnQjtVQUNoQixVQUFTLEVBZVQ7VUFkQTtZQTVGSjtjQTZGSyxnQkFBZSxFQWFoQixFQUFBO1U3RHVDQTtZNkRqSko7Y0FnR0ssWUFBVyxFQVVaLEVBQUE7VTdEdUNBO1k2RGpKSjtjQW1HSywwQkFBeUI7Y0FDekIsZXJFckNvQixFcUUyQ3JCLEVBQUE7VUExR0o7WUF1R0ssMEJBQXlCO1lBQ3pCLGVyRXpDb0IsRXFFMENwQjtJQXpHTDs7TUFnSEcsNEJBQTJCO01BQzNCLGFBQVk7TUFDWixnQjNEL0JzRDtNMkRnQ3RELGlCckUvQnFCO01xRWdDckIscUJBQW9CO01BQ3BCLDBCQUF5QixFQUN6QjtJQXRISDtNQTBIRyxvQnJFeER1QjtNcUV5RHZCLDBCckV6RHVCO01xRTBEdkIsbUJBQWtCO01BQ2xCLGVyRWpEdUI7TXFFa0R2QixtQkFBa0IsRUFPbEI7TUFySUg7UUFnSWMsc0NBQWlDLEVBQUk7TTdEaUIvQztRNkRqSko7VUFtSUksaUJBQWdCLEVBRWpCLEVBQUE7SUFySUg7TUF5SUcsb0JyRXJFMkI7TXFFc0UzQiwwQnJFeEV1QixFcUV5RXZCO0lBM0lIO01BOElHLFVBQVM7TUFDVCxxQkFBb0I7TUFDcEIsZXJFeEVxQixFcUUyRXJCO01BbkpIO1FBa0phLGVyRW5GWSxFcUVtRmU7STdERHBDO002RGpKSjtRQXNKRyxvQkFBbUIsRUFFcEIsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi40XG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5AaW1wb3J0IHVybChcIi8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzU1NDFjXCIpO1xuQGltcG9ydCB1cmwoXCIvL2hlbGxvLm15Zm9udHMubmV0L2NvdW50LzM1NTZiY1wiKTtcbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuLyoqXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gICAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXG4gICAqL1xuLyogZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIH0gKi9cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT04My40Mzc1ZW0meHhsYXJnZT0xMDQuMzc1ZW1cIjsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiQnJhbmRvbkdyb3Rlc3F1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMjAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzJGMkYyRjtcbiAgYmFja2dyb3VuZDogI2Y3ZjNlZjsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbiNtYXBfY2FudmFzIGltZyxcbiNtYXBfY2FudmFzIGVtYmVkLFxuI21hcF9jYW52YXMgb2JqZWN0LFxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDE2NzBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43MTQyOXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjcxNDI5cmVtOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAucm93LmlzLWNvbGxhcHNlLWNoaWxkLFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3csXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyA+IC5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctbGVmdDogMC43MTQyOXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC43MTQyOXJlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsOyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbi5zbWFsbC11cC0xIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjcxNDI5cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjcxNDI5cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLm1lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjcxNDI5cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzE0MjlyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5sYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC43MTQyOXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjcxNDI5cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gIC54bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnhsYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC54bGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnhsYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnhsYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTggPiAuY29sdW1uLCAueGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gIC54bGFyZ2UtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAgIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjcxNDI5cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzE0MjlyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgLnh4bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueHhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54eGxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54eGxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueHhsYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnh4bGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0yID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC00ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC01ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAueHhsYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC03ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueHhsYXJnZS11cC04ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgLnh4bGFyZ2UtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gICAgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAueHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAueHhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzE0MjlyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC43MTQyOXJlbTsgfSB9XG5cbi5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jb2x1bW4uYWxpZ24tdG9wLCAuYWxpZ24tdG9wLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5jb2x1bW4uYWxpZ24tYm90dG9tLCAuYWxpZ24tYm90dG9tLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uY29sdW1uLmFsaWduLW1pZGRsZSwgLmFsaWduLW1pZGRsZS5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5jb2x1bW4uYWxpZ24tc3RyZXRjaCwgLmFsaWduLXN0cmV0Y2guY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgbWFyZ2luLWJvdHRvbTogMS43MTQyOWVtO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjkyODU3cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJCcmFuZG9uR3JvdGVzcXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNDVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICNkOTM4MjY7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuNzE0MjlyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuNzE0MjlyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuNzE0MjlyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMjg1NzFyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMTQyODZyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAyLjI4NTcxcmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuODU3MTRyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS44NTcxNHJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjQyODU3cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMTQyODZyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBjb2xvcjogI2Q5MzgyNjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjYmIzMDIxOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBtYXgtd2lkdGg6IDg0LjI4NTcxcmVtO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWRlZTE7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBtYXJnaW46IDEuNDI4NTdyZW0gYXV0bztcbiAgY2xlYXI6IGJvdGg7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIG1hcmdpbi1ib3R0b206IDEuNzE0MjllbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNDI4NnJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDEuNzE0MjllbTtcbiAgcGFkZGluZzogMC42NDI4NnJlbSAxLjQyODU3cmVtIDAgMS4zNTcxNHJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDlkZWUxOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgY29sb3I6ICM3Nzg2OGY7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuOTI4NTdyZW07XG4gIGNvbG9yOiAjNzc4NjhmOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7IH1cblxuYWJiciB7XG4gIGNvbG9yOiAjMkYyRjJGO1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzJGMkYyRjsgfVxuXG5jb2RlIHtcbiAgZm9udC1mYW1pbHk6IFwiQnJhbmRvbkdyb3Rlc3F1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMjAwO1xuICBjb2xvcjogIzJGMkYyRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZGVlMTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZGVlMTtcbiAgcGFkZGluZzogMC4xNDI4NnJlbSAwLjM1NzE0cmVtIDAuMDcxNDNyZW07IH1cblxua2JkIHtcbiAgcGFkZGluZzogMC4xNDI4NnJlbSAwLjI4NTcxcmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZGVlMTtcbiAgY29sb3I6ICMyRjJGMkY7XG4gIGZvbnQtZmFtaWx5OiBcIkJyYW5kb25Hcm90ZXNxdWVcIiwgc2Fucy1zZXJpZjsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjNzc4NjhmOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxNy41cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAueGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Nzg2OGY7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMS4yNWVtO1xuICBtYXJnaW46IDAgMCAxLjE0Mjg2cmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDkzODI2O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjgzMDIwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDkzODI2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlMmQxZTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWEwZTAwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODBiMDA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYTMxMTY7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q5MzgyNjtcbiAgICBjb2xvcjogI2Q5MzgyNjsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQxYzEzO1xuICAgICAgY29sb3I6ICM2ZDFjMTM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOTM4MjY7XG4gICAgICBjb2xvcjogI2Q5MzgyNjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkMWMxMztcbiAgICAgICAgY29sb3I6ICM2ZDFjMTM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzVhMGUwMDtcbiAgICAgIGNvbG9yOiAjNWEwZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzJkMDcwMDtcbiAgICAgICAgY29sb3I6ICMyZDA3MDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWM1ODQwO1xuICAgICAgY29sb3I6ICNlYzU4NDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzg4MWYwZTtcbiAgICAgICAgY29sb3I6ICM4ODFmMGU7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDkzODI2O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5MzgyNjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVhMGUwMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMS4yNWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0b3A6IC0wLjFlbTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzLjY0Mjg2cmVtO1xuICBwYWRkaW5nOiAwLjg1NzE0cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmNiZmMwO1xuICBtYXJnaW46IDAgMCAxLjcxNDI5cmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICBjb2xvcjogIzJGMkYyRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Nzg2OGY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzJGMkYyRjsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxLjcxNDI5cmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC44NTcxNHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjcxNDI5cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC44NTcxNHJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMkYyRjJGOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMS43MTQyOXJlbTtcbiAgICBwYWRkaW5nOiAwLjkyODU3cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjg1NzE0cmVtO1xuICBmb250LXNpemU6IDAuOTI4NTdyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMyRjJGMkY7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEuNzE0MjlyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDEuMTQyODZyZW07XG4gIGJhY2tncm91bmQ6ICNkOWRlZTE7XG4gIGNvbG9yOiAjMkYyRjJGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkZWUxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC44NTcxNHJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkOWRlZTE7XG4gIHBhZGRpbmc6IDEuNDI4NTdyZW07XG4gIG1hcmdpbjogMS4yODU3MXJlbSAwOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIGJhY2tncm91bmQ6ICNmN2YzZWY7XG4gICAgcGFkZGluZzogMCAwLjIxNDI5cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjE0MjlyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAzLjY0Mjg2cmVtO1xuICBwYWRkaW5nOiAwLjg1NzE0cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmNiZmMwO1xuICBtYXJnaW46IDAgMCAxLjcxNDI5cmVtO1xuICBmb250LXNpemU6IDEuMTQyODZyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzJGMkYyRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MjE3LCAyMjIsIDIyNSUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMS43MTQyOXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcGFkZGluZy1yaWdodDogMi41NzE0M3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM2LCA4OCwgNjQsIDAuMSk7XG4gIGJvcmRlci1jb2xvcjogI2VjNTg0MDsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuODU3MTRyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNzE0MjlyZW07XG4gIGZvbnQtc2l6ZTogMC44NTcxNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNlYzU4NDA7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY29yZGlvbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS4xNDI4NnJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC44NTcxNHJlbTtcbiAgY29sb3I6ICNkOTM4MjY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZGVlMTtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkZWUxOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWRlZTE7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ+KAkyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogMS4xNDI4NnJlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZGVlMTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICNkOTM4MjY7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWRlZTE7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDkzODI2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzc3ODY4ZjtcbiAgcmlnaHQ6IDEuMTQyODZyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzJGMkYyRjsgfVxuXG4ubWVudSB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51ID4gbGkge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDEuMTQyODZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAgIC5tZW51ID4gbGkgPiBhIGksXG4gICAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudSA+IGxpIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAubWVudS52ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lbnUudmVydGljYWwgPiBsaSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5tZW51LnZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGEge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGEge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIC5tZW51LnNpbXBsZSBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMS4xNDI4NnJlbTsgfVxuICAubWVudS5zaW1wbGUgYSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWVudS5hbGlnbi1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAubWVudS5leHBhbmRlZCA+IGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LmV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjE0Mjg2cmVtOyB9XG4gIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjZDkzODI2OyB9XG5cbi5tZW51LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuN3JlbSAxLjE0Mjg2cmVtOyB9XG5cbi5tZW51LWNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZmZmZmZiwgMCAxNHB4IDAgI2ZmZmZmZjsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2Q5ZGVlMTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNkOWRlZTEsIDAgMTRweCAwICNkOWRlZTE7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzJGMkYyRjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMyRjJGMkYsIDAgMTRweCAwICMyRjJGMkY7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzc3ODY4ZjtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM3Nzg2OGYsIDAgMTRweCAwICM3Nzg2OGY7IH1cblxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNDI4NnJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLmZsZXgtdmlkZW8udmltZW8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZDkzODI2O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNWEwZTAwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNDI4NnJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjU3MTQzcmVtIDIuMjg1NzFyZW07XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNTcxNDNyZW0gMi4yODU3MXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMi41NzE0M3JlbSAyLjI4NTcxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ3LCA0NywgNDcsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDEwMDY7XG4gIHBhZGRpbmc6IDIuNTcxNDNyZW0gMi4yODU3MXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZGVlMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4sIC5yZXZlYWwgLmNvbHVtbnMsXG4gIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDByZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA4My4zNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4My4zNzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIGFuZCAobWF4LXdpZHRoOiAxMDQuMzEyNWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODMuMzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNC4zNzVlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA0LjMxMjVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNC4zMTI1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4vKipcclxuICogRmFkZS16b29tIGFuaW1hdGlvbiBmb3IgZmlyc3QgZGlhbG9nXHJcbiAqL1xuLyogc3RhcnQgc3RhdGUgKi9cbi5teS1tZnAtem9vbS1pbiB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuXG4vKiBhbmltYXRlIGluICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlYWR5IHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi8qIGFuaW1hdGUgb3V0ICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlbW92aW5nIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBEYXJrIG92ZXJsYXksIHN0YXJ0IHN0YXRlICovXG4ubXktbWZwLXpvb20taW4ubWZwLWJnIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDsgfVxuXG4vKiBhbmltYXRlIGluICovXG4ubXktbWZwLXpvb20taW4ubWZwLXJlYWR5Lm1mcC1iZyB7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4vKiBhbmltYXRlIG91dCAqL1xuLm15LW1mcC16b29tLWluLm1mcC1yZW1vdmluZy5tZnAtYmcge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1hZ2VzL2FqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxuXG4vKiBJY29ucyAqL1xuLyogQXJyb3dzICovXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbiAgZm9udC1zaXplOiAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stcHJldjpob3ZlciwgLnNsaWNrLXByZXY6Zm9jdXMsXG4gIC5zbGljay1uZXh0OmhvdmVyLFxuICAuc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsIC5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpob3ZlcjpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6Zm9jdXM6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlLFxuICAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWNrLXByZXY6YmVmb3JlLFxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0yNXB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoIBcIjsgfVxuICAgIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6ggVwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoIBcIjsgfVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTI1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWNrLWRvdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogXCLuoIVcIjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzJGMkYyRjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmRhdGVwaWNrZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDRweDtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBkaXJlY3Rpb246IGx0cjsgfVxuICAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAtbW96LWJhY2tncm91bmQtY2xpcDogcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICpib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbiAgICAqYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMThweDsgfVxuICAgIC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGgge1xuICAgICAgcGFkZGluZzogNHB4IDVweDsgfVxuICAgIC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGQge1xuICAgICAgcGFkZGluZzogNHB4IDVweDsgfVxuICAuZGF0ZXBpY2tlciB0YWJsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjMlO1xuICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMSU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmRhdGVwaWNrZXIgdGQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLmRheSwgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLnllYXIge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAgIC5kYXRlcGlja2VyIHRkLm9sZCwgLmRhdGVwaWNrZXIgdGQubmV3IHtcbiAgICAgIGNvbG9yOiAjOTk5OyB9XG4gICAgLmRhdGVwaWNrZXIgdGQgc3Bhbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAgIC5kYXRlcGlja2VyIHRkLmRheS5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2VlZTsgfVxuICAgIC5kYXRlcGlja2VyIHRkIHNwYW4ubW9udGguZGlzYWJsZWQsIC5kYXRlcGlja2VyIHRkIHNwYW4ueWVhci5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2VlZTsgfVxuICAuZGF0ZXBpY2tlciB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZGF0ZXBpY2tlciB0aC5hY3RpdmUuZGF5LCAuZGF0ZXBpY2tlciB0aC5hY3RpdmUueWVhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmJhNmNiOyB9XG4gICAgLmRhdGVwaWNrZXIgdGguZGF0ZS1zd2l0Y2gge1xuICAgICAgd2lkdGg6IDE0NXB4OyB9XG4gICAgLmRhdGVwaWNrZXIgdGggc3Bhbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAuZGF0ZXBpY2tlciAuY3cge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBwYWRkaW5nOiAwIDJweCAwIDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5kYXRlcGlja2VyLmRheXMgZGl2LmRhdGVwaWNrZXItZGF5cyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRhdGVwaWNrZXIubW9udGhzIGRpdi5kYXRlcGlja2VyLW1vbnRocyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRhdGVwaWNrZXIueWVhcnMgZGl2LmRhdGVwaWNrZXIteWVhcnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kYXRlcGlja2VyIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZGF0ZXBpY2tlciB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aC5jdyB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuZGF0ZXBpY2tlciB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5kYXRlcGlja2VyLWlubGluZSB7XG4gIHdpZHRoOiAyMjBweDsgfVxuXG4uZGF0ZXBpY2tlci1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuICAuZGF0ZXBpY2tlci1ydGwgdGFibGUgdHIgdGQgc3BhbiB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG4gIC5kYXRlcGlja2VyLWRyb3Bkb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtN3B4O1xuICAgIGxlZnQ6IDZweDsgfVxuICAuZGF0ZXBpY2tlci1kcm9wZG93bjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTZweDtcbiAgICBsZWZ0OiA3cHg7IH1cblxuLmRhdGVwaWNrZXIgPiBkaXYsXG4uZGF0ZXBpY2tlci1kcm9wZG93bjo6YmVmb3JlLFxuLmRhdGVwaWNrZXItZHJvcGRvd246OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZGF0ZXBpY2tlci1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRhYmxlLXN0cmlwZWQgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQsXG4udGFibGUtc3RyaXBlZCAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIVxyXG4gKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yayAxLjExLjRcclxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xyXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXHJcbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcclxuICpcclxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2F0ZWdvcnkvdGhlbWluZy9cclxuICovXG4vKiBMYXlvdXQgaGVscGVyc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1oZWxwZXItaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7IH1cblxuLnVpLWhlbHBlci1yZXNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuXG4udWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnVpLWhlbHBlci1jbGVhcmZpeCB7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIC8qIHN1cHBvcnQ6IElFNyAqLyB9XG5cbi51aS1oZWxwZXItemZpeCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MCk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqLyB9XG5cbi51aS1mcm9udCB7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7IH1cblxuLyogSWNvbnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBzdGF0ZXMgYW5kIGltYWdlcyAqL1xuLnVpLWljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi8qIE1pc2MgdmlzdWFsc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4vKiFcclxuICogalF1ZXJ5IFVJIERhdGVwaWNrZXIgMS4xMS40XHJcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cclxuICpcclxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxyXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXHJcbiAqXHJcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2RhdGVwaWNrZXIvI3RoZW1pbmdcclxuICovXG4udWktZGF0ZXBpY2tlciB7XG4gIHdpZHRoOiAxN2VtO1xuICBwYWRkaW5nOiAuMmVtIC4yZW0gMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogOTk5OyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogLjJlbSAwOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYsXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgd2lkdGg6IDEuOGVtO1xuICBoZWlnaHQ6IDEuOGVtOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIsXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcbiAgdG9wOiAxcHg7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gIGxlZnQ6IDJweDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgcmlnaHQ6IDJweDsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHtcbiAgbGVmdDogMXB4OyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xuICByaWdodDogMXB4OyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3Bhbixcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtOHB4OyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDIuM2VtO1xuICBsaW5lLWhlaWdodDogMS44ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luOiAxcHggMDsgfVxuXG4udWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCxcbi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIge1xuICB3aWR0aDogNDUlOyB9XG5cbi51aS1kYXRlcGlja2VyIHRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogLjllbTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgbWFyZ2luOiAwIDAgLjRlbTsgfVxuXG4udWktZGF0ZXBpY2tlciB0aCB7XG4gIHBhZGRpbmc6IC43ZW0gLjNlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyOiAwOyB9XG5cbi51aS1kYXRlcGlja2VyIHRkIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAxcHg7IH1cblxuLnVpLWRhdGVwaWNrZXIgdGQgc3Bhbixcbi51aS1kYXRlcGlja2VyIHRkIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogLjJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgbWFyZ2luOiAuN2VtIDAgMCAwO1xuICBwYWRkaW5nOiAwIC4yZW07XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogLjVlbSAuMmVtIC40ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogLjJlbSAuNmVtIC4zZW0gLjZlbTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIHdpdGggbXVsdGlwbGUgY2FsZW5kYXJzICovXG4udWktZGF0ZXBpY2tlci51aS1kYXRlcGlja2VyLW11bHRpIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7XG4gIHdpZHRoOiA5NSU7XG4gIG1hcmdpbjogMCBhdXRvIC40ZW07IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGktMiAudWktZGF0ZXBpY2tlci1ncm91cCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnVpLWRhdGVwaWNrZXItbXVsdGktMyAudWktZGF0ZXBpY2tlci1ncm91cCB7XG4gIHdpZHRoOiAzMy4zJTsgfVxuXG4udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3VwIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlcixcbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcbiAgY2xlYXI6IGxlZnQ7IH1cblxuLnVpLWRhdGVwaWNrZXItcm93LWJyZWFrIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDA7IH1cblxuLyogUlRMIHN1cHBvcnQgKi9cbi51aS1kYXRlcGlja2VyLXJ0bCB7XG4gIGRpcmVjdGlvbjogcnRsOyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHtcbiAgcmlnaHQ6IDJweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gIGxlZnQ6IDJweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIge1xuICByaWdodDogMXB4O1xuICBsZWZ0OiBhdXRvOyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHtcbiAgbGVmdDogMXB4O1xuICByaWdodDogYXV0bzsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XG4gIGNsZWFyOiByaWdodDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24ge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50LFxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlcixcbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4OyB9XG5cbi8qIVxyXG4gKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yayAxLjExLjRcclxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xyXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXHJcbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcclxuICpcclxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2F0ZWdvcnkvdGhlbWluZy9cclxuICpcclxuICogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvXHJcbiAqL1xuLyogQ29tcG9uZW50IGNvbnRhaW5lcnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktd2lkZ2V0IHtcbiAgZm9udC1mYW1pbHk6IFwiQnJhbmRvbkdyb3Rlc3F1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMWVtOyB9XG4gIC51aS13aWRnZXQgLnVpLXdpZGdldCB7XG4gICAgZm9udC1zaXplOiAxZW07IH1cbiAgLnVpLXdpZGdldCBpbnB1dCxcbiAgLnVpLXdpZGdldCBzZWxlY3QsXG4gIC51aS13aWRnZXQgdGV4dGFyZWEsXG4gIC51aS13aWRnZXQgYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogXCJCcmFuZG9uR3JvdGVzcXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxZW07IH1cblxuLnVpLXdpZGdldC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KTtcbiAgY29sb3I6ICMyMjIyMjI7IH1cbiAgLnVpLXdpZGdldC1jb250ZW50IGEge1xuICAgIGNvbG9yOiAjMjIyMjIyOyB9XG5cbi51aS13aWRnZXQtaGVhZGVyIHtcbiAgY29sb3I6ICMyRjJGMkY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnVpLXdpZGdldC1oZWFkZXIgYSB7XG4gICAgY29sb3I6ICMyRjJGMkY7IH1cblxuLyogSW50ZXJhY3Rpb24gc3RhdGVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiY2JmYzA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMkYyRjJGOyB9XG5cbi51aS1zdGF0ZS1kZWZhdWx0IGEsXG4udWktc3RhdGUtZGVmYXVsdCBhOmxpbmssXG4udWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQge1xuICBjb2xvcjogIzU1NTU1NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsXG4udWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc3ODY4ZjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMyRjJGMkY7IH1cblxuLnVpLXN0YXRlLWhvdmVyIGEsXG4udWktc3RhdGUtaG92ZXIgYTpob3Zlcixcbi51aS1zdGF0ZS1ob3ZlciBhOmxpbmssXG4udWktc3RhdGUtaG92ZXIgYTp2aXNpdGVkLFxuLnVpLXN0YXRlLWZvY3VzIGEsXG4udWktc3RhdGUtZm9jdXMgYTpob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyBhOmxpbmssXG4udWktc3RhdGUtZm9jdXMgYTp2aXNpdGVkIHtcbiAgY29sb3I6ICNkOTM4MjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4udWktc3RhdGUtYWN0aXZlLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlIHtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2Q5MzgyNjtcbiAgYmFja2dyb3VuZDogI2Q5MzgyNjtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnVpLXN0YXRlLWFjdGl2ZSBhLFxuLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssXG4udWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1oaWdobGlnaHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzc4NjhmO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBjb2xvcjogIzJGMkYyRjsgfVxuXG4udWktc3RhdGUtaGlnaGxpZ2h0IGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCBhLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHtcbiAgY29sb3I6ICMyRjJGMkY7IH1cblxuLnVpLXN0YXRlLWVycm9yLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZDBhMGE7XG4gIGJhY2tncm91bmQ6ICNmZWYxZWMgdXJsKFwiaW1hZ2VzL3VpLWJnX2dsYXNzXzk1X2ZlZjFlY18xeDQwMC5wbmdcIikgNTAlIDUwJSByZXBlYXQteDtcbiAgY29sb3I6ICNjZDBhMGE7IH1cblxuLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYSB7XG4gIGNvbG9yOiAjY2QwYTBhOyB9XG5cbi51aS1zdGF0ZS1lcnJvci10ZXh0LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvci10ZXh0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHQge1xuICBjb2xvcjogI2NkMGEwYTsgfVxuXG4udWktcHJpb3JpdHktcHJpbWFyeSxcbi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktcHJpbWFyeSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udWktcHJpb3JpdHktc2Vjb25kYXJ5LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktc2Vjb25kYXJ5IHtcbiAgb3BhY2l0eTogLjc7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT03MCk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqL1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAuMzU7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zNSk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi51aS1zdGF0ZS1kaXNhYmxlZCAudWktaWNvbiB7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zNSk7XG4gIC8qIHN1cHBvcnQ6IElFOCAtIFNlZSAjNjA1OSAqLyB9XG5cbi8qIEljb25zXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cbi51aS1pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgdGV4dC1pbmRlbnQ6IDA7IH1cblxuLyogTWlzYyB2aXN1YWxzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogT3ZlcmxheXMgKi9cbi51aS13aWRnZXQtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6ICNhYWFhYWEgdXJsKFwiaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZ1wiKSA1MCUgNTAlIHJlcGVhdC14O1xuICBvcGFjaXR5OiAwLjM7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zMCk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqLyB9XG5cbi51aS13aWRnZXQtc2hhZG93IHtcbiAgbWFyZ2luOiAtOHB4IDAgMCAtOHB4O1xuICBwYWRkaW5nOiA4cHg7XG4gIGJhY2tncm91bmQ6ICNhYWFhYWEgdXJsKFwiaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZ1wiKSA1MCUgNTAlIHJlcGVhdC14O1xuICBvcGFjaXR5OiAwLjM7XG4gIGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zMCk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqLyB9XG5cbi8qIEN1c3RvbSBPdmVycmlkZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktZGF0ZXBpY2tlciB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAxLjE0Mjg2cmVtO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLnVpLWRhdGVwaWNrZXIgdGFibGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRoZWFkLFxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRib2R5LFxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRmb290IHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkIHNwYW4sIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkIGEge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJvcmRlcjogI2YyZjJmMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAuNTcxNDNyZW0gMC43MTQyOXJlbSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudWktZGF0ZXBpY2tlciB0YWJsZSB0ZC51aS1kYXRlcGlja2VyLXRvZGF5IHNwYW4sIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkLnVpLWRhdGVwaWNrZXItdG9kYXkgYSwgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGQudWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSBzcGFuLCAudWktZGF0ZXBpY2tlciB0YWJsZSB0ZC51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IGEge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc3ODY4ZjsgfVxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkgc3BhbiwgLnVpLWRhdGVwaWNrZXIgdGFibGUgdGQudWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSBhIHtcbiAgICAgIGNvbG9yOiAjMkYyRjJGO1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICBib3JkZXItY29sb3I6ICNkOTM4MjY7IH1cbiAgICAudWktZGF0ZXBpY2tlciB0YWJsZSB0ZCAudWktc3RhdGUtZGVmYXVsdCxcbiAgICAudWktZGF0ZXBpY2tlciB0YWJsZSB0ZCAudWktc3RhdGUtaGlnaGxpZ2h0LFxuICAgIC51aS1kYXRlcGlja2VyIHRhYmxlIHRkIC51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYsXG4gIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjMkYyRjJGOyB9XG4gICAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldjpob3ZlcixcbiAgICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuODsgfVxuICAgIC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbixcbiAgICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxLjcxNDI5cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcbiAgICB0b3A6IDJweDsgfVxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LFxuICAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHtcbiAgICBsZWZ0OiAycHg7IH1cbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCxcbiAgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG4gICAgcmlnaHQ6IDJweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAgIFByb2plY3RcclxuICAgID09PT09PT09PT1cclxuICAgIEVsIENvc21pY29cclxuXHJcbiAgICBBdXRob3JcclxuICAgID09PT09PT09PT1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLDggICw4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODggIDg4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODggIDg4XHJcbiAgICBgOGIgICAgICBkYiAgICAgIGQ4JyAsYWRQUFlZYmEsICAgODggIDg4ICAgLGFkUFBZYmEsICAgLGIsZFBQWWJhLFxyXG4gICAgIGA4YiAgICBkODhiICAgIGQ4JyAgXCJcIiAgICAgYFk4ICAgODggIDg4ICBhOFwiICAgICBcIjhhICA4OFAnICAgIFwiOGFcclxuICAgICAgYDhiICBkOCdgOGIgIGQ4JyAgICxhZFBQUFBQODggICA4OCAgODggIDhiICAgICAgIGQ4ICA4OCAgICAgICBkOFxyXG4gICAgICAgYDhiZDgnICBgOGJkOCcgICAgODgsICAgICw4OCAgIDg4ICA4OCAgXCI4YSwgICAsYThcIiAgODhiLCAgICxhOFwiXHJcbiAgICAgICAgIFlQICAgICAgWVAgICAgICBgXCI4YmJkUFwiWThcIiAgODggIDg4ICAgYFwiWWJiZFBcIicgICA4OGBZYmJkUFwiJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDg4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOFwiXHJcblxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKioqXHJcbiAqICBDb21wb25lbnRzXHJcbiAqL1xuLyoqKiogRm9udHMgKioqKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJXaW5kc29yRFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMzU1NDFDXzBfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy8zNTU0MUNfMF8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8zNTU0MUNfMF8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMzU1NDFDXzBfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIldpbmRzb3JEXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMzU1NDFDXzFfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy8zNTU0MUNfMV8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8zNTU0MUNfMV8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMzU1NDFDXzFfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLyogQGltcG9ydCBtdXN0IGJlIGF0IHRvcCBvZiBmaWxlLCBvdGhlcndpc2UgQ1NTIHdpbGwgbm90IHdvcmsgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJCcmFuZG9uR3JvdGVzcXVlXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8zNTU2QkNfMF8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzLzM1NTZCQ18wXzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzLzM1NTZCQ18wXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy8zNTU2QkNfMF8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQnJhbmRvbkdyb3Rlc3F1ZVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzLzM1NTZCQ18xXzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvMzU1NkJDXzFfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMzU1NkJDXzFfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzLzM1NTZCQ18xXzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9mb250ZWxsby5lb3Q/NjA2NjYxNjdcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZm9udGVsbG8uZW90PzYwNjY2MTY3I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9mb250ZWxsby53b2ZmMj82MDY2NjE2N1wiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8ud29mZj82MDY2NjE2N1wiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9mb250ZWxsby50dGY/NjA2NjYxNjdcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLnN2Zz82MDY2NjE2NyNmb250ZWxsb1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiBDaHJvbWUgaGFjazogU1ZHIGlzIHJlbmRlcmVkIG1vcmUgc21vb3RoIGluIFdpbmRvenplLiAxMDAlIG1hZ2ljLCB1bmNvbW1lbnQgaWYgeW91IG5lZWQgaXQuICovXG4vKiBOb3RlLCB0aGF0IHdpbGwgYnJlYWsgaGludGluZyEgSW4gb3RoZXIgT1MtZXMgZm9udCB3aWxsIGJlIG5vdCBhcyBzaGFycCBhcyBpdCBjb3VsZCBiZSAqL1xuLypcclxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLnN2Zz82MDY2NjE2NyNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgfVxyXG59XHJcbiovXG5bY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlLCBbY2xhc3MqPVwiIGljb24tXCJdOmJlZm9yZSxcbltjbGFzc149XCJmYS1cIl06YmVmb3JlLCBbY2xhc3MqPVwiIGZhLVwiXTpiZWZvcmUsIFtjbGFzcyo9XCIgZmktXCJdOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3BlYWs6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB3aWR0aDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IC4yZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogb3BhY2l0eTogLjg7ICovXG4gIC8qIEZvciBzYWZldHkgLSByZXNldCBwYXJlbnQgc3R5bGVzLCB0aGF0IGNhbiBicmVhayBnbHlwaCBjb2RlcyovXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLyogZml4IGJ1dHRvbnMgaGVpZ2h0LCBmb3IgdHdpdHRlciBib290c3RyYXAgKi9cbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgLyogQW5pbWF0aW9uIGNlbnRlciBjb21wZW5zYXRpb24gLSBtYXJnaW5zIHNob3VsZCBiZSBzeW1tZXRyaWMgKi9cbiAgLyogcmVtb3ZlIGlmIG5vdCBuZWVkZWQgKi9cbiAgbWFyZ2luLWxlZnQ6IC4yZW07XG4gIC8qIHlvdSBjYW4gYmUgbW9yZSBjb21mb3J0YWJsZSB3aXRoIGluY3JlYXNlZCBpY29ucyBzaXplICovXG4gIC8qIGZvbnQtc2l6ZTogMTIwJTsgKi9cbiAgLyogRm9udCBzbW9vdGhpbmcuIFRoYXQgd2FzIHRha2VuIGZyb20gVFdCUyAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLyogVW5jb21tZW50IGZvciAzRCBlZmZlY3QgKi9cbiAgLyogdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4zKTsgKi8gfVxuXG4uaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSwgLnNpbmdsZS1zbGlkZSAuc2xpY2stcHJldjpiZWZvcmUsIC5zbGljay1wcmV2OmJlZm9yZSxcbi5mYS1jaGV2cm9uLWxlZnQ6YmVmb3JlLFxuLmZpLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwMCc7IH1cblxuLyogJ+6ggCcgKi9cbi5pY29uLWFycm93LXJpZ2h0OmJlZm9yZSwgLnNpbmdsZS1zbGlkZSAuc2xpY2stbmV4dDpiZWZvcmUsIC5zbGljay1uZXh0OmJlZm9yZSxcbi5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSxcbi5maS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODAxJzsgfVxuXG4vKiAn7qCBJyAqL1xuLmljb24tbWVudTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODAyJzsgfVxuXG4vKiAn7qCCJyAqL1xuLmljb24tbWVudS1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODAzJzsgfVxuXG4vKiAn7qCDJyAqL1xuLmljb24tY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZTgwNCc7IH1cblxuLyogJ+6ghCcgKi9cbi5pY29uLXJlY29yZDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxlODA1JzsgfVxuXG4vKiAn7qCFJyAqL1xuLmljb24tZG93bi1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGU4MDYnOyB9XG5cbi8qICfuoIYnICovXG5Ac3ZnLWxvYWQgbG9nbyB1cmwoLi4vaW1hZ2VzL2VsLWNvc21pY28uc3ZnKSB7XG4gIGZpbGw6ICMyRjJGMkY7IH1cblxuW3R5cGU9Y29sb3JdLFxuW3R5cGU9ZGF0ZV0sXG5bdHlwZT1kYXRldGltZS1sb2NhbF0sXG5bdHlwZT1kYXRldGltZV0sXG5bdHlwZT1lbWFpbF0sXG5bdHlwZT1tb250aF0sXG5bdHlwZT1udW1iZXJdLFxuW3R5cGU9cGFzc3dvcmRdLFxuW3R5cGU9c2VhcmNoXSxcblt0eXBlPXRlbF0sXG5bdHlwZT10ZXh0XSxcblt0eXBlPXRpbWVdLFxuW3R5cGU9dXJsXSxcblt0eXBlPXdlZWtdLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBvcGFjaXR5OiAwLjU1O1xuICBwYWRkaW5nOiAxLjE0Mjg2cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIFt0eXBlPWNvbG9yXSxcbiAgICBbdHlwZT1kYXRlXSxcbiAgICBbdHlwZT1kYXRldGltZS1sb2NhbF0sXG4gICAgW3R5cGU9ZGF0ZXRpbWVdLFxuICAgIFt0eXBlPWVtYWlsXSxcbiAgICBbdHlwZT1tb250aF0sXG4gICAgW3R5cGU9bnVtYmVyXSxcbiAgICBbdHlwZT1wYXNzd29yZF0sXG4gICAgW3R5cGU9c2VhcmNoXSxcbiAgICBbdHlwZT10ZWxdLFxuICAgIFt0eXBlPXRleHRdLFxuICAgIFt0eXBlPXRpbWVdLFxuICAgIFt0eXBlPXVybF0sXG4gICAgW3R5cGU9d2Vla10sXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIFt0eXBlPWNvbG9yXTp2YWxpZCwgW3R5cGU9Y29sb3JdOmZvY3VzLFxuICBbdHlwZT1kYXRlXTp2YWxpZCxcbiAgW3R5cGU9ZGF0ZV06Zm9jdXMsXG4gIFt0eXBlPWRhdGV0aW1lLWxvY2FsXTp2YWxpZCxcbiAgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOmZvY3VzLFxuICBbdHlwZT1kYXRldGltZV06dmFsaWQsXG4gIFt0eXBlPWRhdGV0aW1lXTpmb2N1cyxcbiAgW3R5cGU9ZW1haWxdOnZhbGlkLFxuICBbdHlwZT1lbWFpbF06Zm9jdXMsXG4gIFt0eXBlPW1vbnRoXTp2YWxpZCxcbiAgW3R5cGU9bW9udGhdOmZvY3VzLFxuICBbdHlwZT1udW1iZXJdOnZhbGlkLFxuICBbdHlwZT1udW1iZXJdOmZvY3VzLFxuICBbdHlwZT1wYXNzd29yZF06dmFsaWQsXG4gIFt0eXBlPXBhc3N3b3JkXTpmb2N1cyxcbiAgW3R5cGU9c2VhcmNoXTp2YWxpZCxcbiAgW3R5cGU9c2VhcmNoXTpmb2N1cyxcbiAgW3R5cGU9dGVsXTp2YWxpZCxcbiAgW3R5cGU9dGVsXTpmb2N1cyxcbiAgW3R5cGU9dGV4dF06dmFsaWQsXG4gIFt0eXBlPXRleHRdOmZvY3VzLFxuICBbdHlwZT10aW1lXTp2YWxpZCxcbiAgW3R5cGU9dGltZV06Zm9jdXMsXG4gIFt0eXBlPXVybF06dmFsaWQsXG4gIFt0eXBlPXVybF06Zm9jdXMsXG4gIFt0eXBlPXdlZWtdOnZhbGlkLFxuICBbdHlwZT13ZWVrXTpmb2N1cyxcbiAgc2VsZWN0OnZhbGlkLFxuICBzZWxlY3Q6Zm9jdXMsXG4gIHRleHRhcmVhOnZhbGlkLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMkYyRjJGO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBbdHlwZT1jb2xvcl1bcmVhZG9ubHldLFxuICBbdHlwZT1kYXRlXVtyZWFkb25seV0sXG4gIFt0eXBlPWRhdGV0aW1lLWxvY2FsXVtyZWFkb25seV0sXG4gIFt0eXBlPWRhdGV0aW1lXVtyZWFkb25seV0sXG4gIFt0eXBlPWVtYWlsXVtyZWFkb25seV0sXG4gIFt0eXBlPW1vbnRoXVtyZWFkb25seV0sXG4gIFt0eXBlPW51bWJlcl1bcmVhZG9ubHldLFxuICBbdHlwZT1wYXNzd29yZF1bcmVhZG9ubHldLFxuICBbdHlwZT1zZWFyY2hdW3JlYWRvbmx5XSxcbiAgW3R5cGU9dGVsXVtyZWFkb25seV0sXG4gIFt0eXBlPXRleHRdW3JlYWRvbmx5XSxcbiAgW3R5cGU9dGltZV1bcmVhZG9ubHldLFxuICBbdHlwZT11cmxdW3JlYWRvbmx5XSxcbiAgW3R5cGU9d2Vla11bcmVhZG9ubHldLFxuICBzZWxlY3RbcmVhZG9ubHldLFxuICB0ZXh0YXJlYVtyZWFkb25seV0ge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuaW5wdXRbdHlwZT1yYWRpb106bm90KG9sZCkge1xuICB3aWR0aDogMS43MTQyOXJlbTtcbiAgaGVpZ2h0OiAxLjcxNDI5cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0W3R5cGU9cmFkaW9dOm5vdChvbGQpICsgbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjU3MTQzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjcxNDI5cmVtOyB9XG4gICAgaW5wdXRbdHlwZT1yYWRpb106bm90KG9sZCkgKyBsYWJlbDpiZWZvcmUsIGlucHV0W3R5cGU9cmFkaW9dOm5vdChvbGQpICsgbGFiZWw6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIGlucHV0W3R5cGU9cmFkaW9dOm5vdChvbGQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMS43MTQyOXJlbTtcbiAgICAgIGhlaWdodDogMS43MTQyOXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjg1NzE0cmVtO1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2Q5ZGVlMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgaW5wdXRbdHlwZT1yYWRpb106bm90KG9sZCkgKyBsYWJlbDphZnRlciB7XG4gICAgICBsZWZ0OiAwLjg1NzE0cmVtO1xuICAgICAgd2lkdGg6IDAuODU3MTRyZW07XG4gICAgICBoZWlnaHQ6IDAuODU3MTRyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC40Mjg1N3JlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC40Mjg1N3JlbTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgaW5wdXRbdHlwZT1yYWRpb106bm90KG9sZCk6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDkzODI2OyB9XG5cbnNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDY1cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSArIDE2cHgpIGNlbnRlciwgY2FsYygxMDAlICsgNDhweCkgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFweCA0MHB4LCAxNnB4IGF1dG87IH1cblxuaW5wdXQuZGF0ZXBpY2tlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTRweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29sb3I6ICMyRjJGMkY7IH1cblxuW3R5cGU9c3VibWl0XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTM4MjY7IH1cbiAgW3R5cGU9c3VibWl0XTpob3ZlciwgW3R5cGU9c3VibWl0XTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I4MzAyMDsgfVxuXG5mb3JtIC5yb3cgKyAucm93IHtcbiAgbWFyZ2luLXRvcDogMS4xNDI4NnJlbSAhaW1wb3J0YW50OyB9XG5cbmZvcm0gLnNtYWxsLTEyICsgLnNtYWxsLTEyIHtcbiAgbWFyZ2luLXRvcDogMS4xNDI4NnJlbTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtbGFiZWwsXG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtbGFiZWwge1xuICAgIHdpZHRoOiAxJTsgfVxuICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtbGFiZWwgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNzE0MjlyZW07XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICNzdWJGb3JtID4gLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9IH1cblxuLyogRk9STSBCTE9DSyAqL1xuLm1vZHVsZS1mb3JtIHtcbiAgbWFyZ2luOiA0cmVtIGF1dG87IH1cbiAgLm1vZHVsZS1mb3JtIC5tb2R1bGUtZm9ybS1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHBhZGRpbmc6IDAgMCAycmVtIDJyZW07IH1cbiAgICAubW9kdWxlLWZvcm0gLm1vZHVsZS1mb3JtLWNvbnRlbnQgcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubW9kdWxlLWZvcm0gLm1vZHVsZS1mb3JtLWNvbnRlbnQgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tb2R1bGUtZm9ybSAubW9kdWxlLWZvcm0tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubW9kdWxlLWZvcm0gLm1vZHVsZS1mb3JtLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgYXV0byAycmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDVDN0I0OyB9XG4gICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgLmZvcm0taW50cm8ge1xuICAgICAgcGFkZGluZzogMXJlbSAwIC45cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNENUM3QjQ7IH1cbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIC5mb3JtLWludHJvIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAycmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciAuZm9ybS1pbnRybyBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIGlucHV0LCAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHNlbGVjdCwgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSB0ZXh0YXJlYSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dDpmb2N1cywgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBzZWxlY3Q6Zm9jdXMsIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIC53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcDpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gLndwY2Y3LWZvcm0tY29udHJvbC13cmFwLm5vdGVzIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSAud3BjZjctZm9ybS1jb250cm9sLXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDQ5JTsgfSB9XG4gICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIGlucHV0LCAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRDVDN0I0OyB9XG4gICAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gaW5wdXQ6bnRoLWNoaWxkKGV2ZW4pLCAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHNlbGVjdDpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIGlucHV0Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIGZvcm0gc2VsZWN0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHNlbGVjdDo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDFyZW0gMC45cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dC5zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIGlucHV0Om50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIC5mb3JtLWRhdGVwaWNrZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2FsZW5kYXIuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5NSUgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIHRleHRhcmVhIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDguNTcxNDNyZW07XG4gICAgICAgIG1heC1oZWlnaHQ6IDE3LjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLm1vZHVsZS1mb3JtIC5mb3JtLXdyYXBwZXIgZm9ybSB7XG4gICAgICAgICAgcGFkZGluZzogMnJlbTsgfSB9XG4gICAgICAubW9kdWxlLWZvcm0gLmZvcm0td3JhcHBlciBmb3JtIC53cGNmNy1tYWlsLXNlbnQtb2sge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tb2R1bGUtZm9ybSAuZm9ybS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfSB9XG5cbi5zdWJzY3JpYmUtZm9ybSBpbnB1dCB7XG4gIGhlaWdodDogMy41NzE0M3JlbTtcbiAgcGFkZGluZzogMS4xNDI4NnJlbSAxLjQyODU3cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3Vic2NyaWJlLWZvcm0gaW5wdXQge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLnN1YnNjcmliZS1mb3JtIFt0eXBlPWVtYWlsXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1jb2xvcjogI2Q5MzgyNjsgfVxuICAuc3Vic2NyaWJlLWZvcm0gW3R5cGU9ZW1haWxdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2Q5MzgyNjsgfVxuICAuc3Vic2NyaWJlLWZvcm0gW3R5cGU9ZW1haWxdOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNkOTM4MjY7IH1cblxuLnN1YnNjcmliZS1mb3JtIFt0eXBlPXN1Ym1pdF0uYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgcGFkZGluZzogMS4xNDI4NnJlbSAxLjQyODU3cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnN1YnNjcmliZS1mb3JtIC5pbnB1dC1ncm91cCxcbiAgLnN1YnNjcmliZS1mb3JtIC5pbnB1dC1ncm91cC1maWVsZCxcbiAgLnN1YnNjcmliZS1mb3JtIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zdWJzY3JpYmUtZm9ybSAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzE0MjllbTsgfVxuICAuc3Vic2NyaWJlLWZvcm0gLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc3Vic2NyaWJlLWZvcm0gLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKioqKlxyXG4qICBHbG9iYWwgU3R5bGVzXHJcbiovXG4uc2l0ZS10aXRsZSBhIHtcbiAgcGFkZGluZy10b3A6IDE0LjcwNTg4JTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2VsLWNvc21pY28tc21hbGwucG5nXCIpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZWwtY29zbWljby1zbWFsbC5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgZm9udC1zaXplOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2l0ZS10aXRsZSBhIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2l0ZS10aXRsZSBhIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMy41Mjk0MSU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZWwtY29zbWljby5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZWwtY29zbWljby5zdmdcIik7IH0gfVxuXG4ubm8tYnVsbGV0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5yb3ctZnVsbC13aWR0aCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLXBhdHRlcm4ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmM2VmOyB9XG4gIGJvZHkgbWFpbiB7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuI3BhZ2Uge1xuICBtaW4td2lkdGg6IGVtLWNhbGMoMzIwKTsgfVxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0wLjA3MTQzcmVtO1xuICBwYWRkaW5nOiAwO1xuICBoZWlnaHQ6IDAuMDcxNDNyZW07XG4gIHdpZHRoOiAwLjA3MTQzcmVtO1xuICBib3JkZXI6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpOyB9XG5cbi5tb2JpbGUtbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMjU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDQzLCA0MywgMC45NSk7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG4gIC5tb2JpbGUtbWVudSAubW9iaWxlLXNpdGUtYnJhbmRpbmcge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgbWF4LXdpZHRoOiAyMzhweDtcbiAgICBtYXJnaW46IDEuMTByZW0gMCAwIDAuMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDAuOTQxMjFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubW9iaWxlLW1lbnUuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAubW9iaWxlLW1lbnUuaXMtb3BlbiAubW9iaWxlLXNpdGUtYnJhbmRpbmcge1xuICAgICAgei1pbmRleDogMTI2OyB9XG4gIC5tb2JpbGUtbWVudSBsaSB7XG4gICAgcGFkZGluZzogMS4wNzE0M3JlbSAwIDAuNTcxNDNyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cbiAgICAubW9iaWxlLW1lbnUgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC43MTQyOXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5oZWFkZXItY2Fyb3VzZWwtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGVhZGVyLXByb21vLWJhbm5lciB7XG4gIGNvbG9yOiAjMkYyRjJGO1xuICBsZXR0ZXItc3BhY2luZzogLjZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NCwgMjQ4LCAwLjg2KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4wMjUpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAuaGVhZGVyLXByb21vLWJhbm5lciBzcGFuLCAuaGVhZGVyLXByb21vLWJhbm5lciBhIHtcbiAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmhlYWRlci1wcm9tby1iYW5uZXIgc3BhbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uaGVhZGVyLXByb21vLWJhbm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI5O1xuICBwYWRkaW5nOiAxLjE0Mjg2cmVtIDAgMC43MTQyOXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5oZWFkZXItcHJvbW8tYmFubmVyIGEge1xuICAgIGNvbG9yOiAjZDY0NjI2OyB9XG5cbi5zaXRlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMC41NzE0M3JlbTtcbiAgbWluLWhlaWdodDogNi4yMTQyOXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgICAuc2l0ZS1oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC44NTcxNHJlbTsgfSB9XG4gIC5ob21lIC5zaXRlLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAuc2l0ZS1oZWFkZXIgLm1vYmlsZS1ib29rLW5vdyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjI4NTcxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDEuMjE0MjlyZW0gMS40Mjg1N3JlbSAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjg1NzE0cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREVEQkNDO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyIC5tb2JpbGUtYm9vay1ub3cge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuc2l0ZS1oZWFkZXIgLm1vYmlsZS1ib29rLW5vdyBhOmxpbmssIC5zaXRlLWhlYWRlciAubW9iaWxlLWJvb2stbm93IGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzRBNEE0QTsgfVxuICAgIC5zaXRlLWhlYWRlciAubW9iaWxlLWJvb2stbm93IGE6aG92ZXIsIC5zaXRlLWhlYWRlciAubW9iaWxlLWJvb2stbm93IGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZDY0NjI2OyB9XG4gIC5zaXRlLWhlYWRlciAuc2l0ZS1icmFuZGluZyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDEuMjVyZW0gMCAwO1xuICAgIHdpZHRoOiA1NiU7XG4gICAgbWF4LXdpZHRoOiAyMzhweDtcbiAgICB6LWluZGV4OiAxMTU7IH1cbiAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcgLnNpdGUtdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLnNpdGUtaGVhZGVyIC5zaXRlLWJyYW5kaW5nIC5zaXRlLXRpdGxlIGEge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zaXRlLWhlYWRlciAuc2l0ZS1icmFuZGluZyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMjQuMjg1NzFyZW07XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMzAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjcxNDI5cmVtO1xuICAgICAgICB3aWR0aDogMjJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zaXRlLWhlYWRlciAuc2l0ZS1icmFuZGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNzE0MjlyZW07XG4gICAgICAgIHdpZHRoOiAxN3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB0b3A6IDUwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcge1xuICAgICAgICB3aWR0aDogMjByZW07IH0gfVxuICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIG1hcmdpbjogNS43MTQyOXJlbSBhdXRvIDA7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAyLjM1NzE0cmVtIGF1dG8gMDtcbiAgICAgICAgbWF4LXdpZHRoOiA5Mi4yODU3MXJlbTtcbiAgICAgICAgd2lkdGg6IDkyLjI4NTcxcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5Ni40Mjg1N3JlbTtcbiAgICAgICAgd2lkdGg6IDk2LjQyODU3cmVtOyB9IH1cbiAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMXMgZWFzZS1pbi1vdXQsIGJvcmRlciAuMXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGE6bGluaywgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGE6dmlzaXRlZCB7XG4gICAgICAgICAgY29sb3I6ICM0QTRBNEE7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGE6aG92ZXIsIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhOmFjdGl2ZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IC4wNXJlbTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q2NDYyNjtcbiAgICAgICAgICBjb2xvcjogI2Q2NDYyNjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgYSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhIGE6bGluaywgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGEgYTp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgY29sb3I6ICM0QTRBNEE7IH1cbiAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhIGE6aG92ZXIsIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBhIGE6YWN0aXZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNkNjQ2MjY7IH0gfVxuICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5jdXJyZW50LXBhZ2UtYW5jZXN0b3IgYSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuMDVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDY0NjI2O1xuICAgICAgICBjb2xvcjogI2Q2NDYyNjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmN1cnJlbnQtcGFnZS1hbmNlc3RvciBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjQ0U0NDIzOyB9IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA1LjcxNDI5cmVtIDAgMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogMTEwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgbGkge1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMTQyODZyZW07IH1cbiAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsIGEge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41NzE0M3JlbTsgfSB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsID4gbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCA+IGxpOm50aC1sYXN0LW9mLXR5cGUoMikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuOTI4NTdyZW0gMC4yMTQyOXJlbTtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuOTI4NTdyZW0gMC4yMTQyOXJlbTsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODMuNDM3NWVtKSB7XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4wNzE0M3JlbTsgfSB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuOTI4NTdyZW07XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCA+IGxpLmJvb2stbm93LWJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgPiB1bCA+IGxpLmJvb2stbm93LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciA+IHVsID4gbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyID4gdWwgPiBkaXYge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5uYXYtZm9vdGVyLWxpbmtzIHtcbiAgICAgICAgbWFyZ2luOiAxLjE1cmVtIC41cmVtIDEuNXJlbSAxLjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLm5hdi1mb290ZXItbGlua3MgbGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLm5hdi1mb290ZXItbGlua3MgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5uYXYtZm9vdGVyLWxpbmtzIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLm5hdi1mb290ZXItbGlua3Mge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMjU1cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5uYXYtZm9vdGVyLWxpbmtzIGxpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAubmF2LWZvb3Rlci1saW5rcyBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIuaXMtb3BlbiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlci5pcy1vcGVuIHVsIGEge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlci5pcy1vcGVuIHVsIGxpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlci5pcy1vcGVuIHVsIGxpIC5uYXYtZm9vdGVyLWxpbmtzIHtcbiAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyLmlzLW9wZW4gLm1lbnUtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMTI2O1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbSAwLjhyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlci5pcy1vcGVuIC5tZW51LWNsb3NlLWJ1dHRvbiAuaWNvbi1tZW51LWNsb3NlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgICAgICAgIHJpZ2h0OiAtMC4zNXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAubWVudS1jbG9zZS1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLm1lbnUtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIge1xuICAgICAgICAgIG1heC13aWR0aDogNjFyZW07XG4gICAgICAgICAgd2lkdGg6IDYxcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIge1xuICAgICAgICAgIG1heC13aWR0aDogOTIuMjg1NzFyZW07XG4gICAgICAgICAgd2lkdGg6IDkyLjI4NTcxcmVtOyB9XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMy40NXJlbTsgfVxuICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBsaTpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMC44NTcxNHJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDQuMzc1ZW0pIHtcbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDk2LjQyODU3cmVtO1xuICAgICAgICAgIHdpZHRoOiA5Ni40Mjg1N3JlbTsgfVxuICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTEuMjVyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjIuODU3MTRyZW07IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLnRvcC1sZXZlbCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMuNTcxNDNyZW07IH0gfVxuICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNjQ2MjY7IH1cbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24gYSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmJvb2stbm93LWJ1dHRvbiBhOmhvdmVyLCAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmJvb2stbm93LWJ1dHRvbiBhOmFjdGl2ZSwgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24gYTpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm5hdi13cmFwcGVyIC5ib29rLW5vdy1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAgICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmJvb2stbm93LWJ1dHRvbiBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxLjI1ZW07XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuMTQyODZyZW0gMDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTM4MjY7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgIC1tcy1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICByaWdodDogMy41NzE0M3JlbTtcbiAgICAgICAgICAgICAgYm90dG9tOiAwLjg1NzE0cmVtO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxLjc1cmVtIDAgMCAuMTVyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNjQ2MjY7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDEuNXB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDUwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyB9XG4gICAgICAgICAgICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubmF2LXdyYXBwZXIgLmJvb2stbm93LWJ1dHRvbiBhIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwOyB9XG4gICAgICAgICAgICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAuYm9vay1ub3ctYnV0dG9uIGE6aG92ZXIsIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5uYXYtd3JhcHBlciAuYm9vay1ub3ctYnV0dG9uIGE6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiODMwMjA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuICAgIC5zaXRlLWhlYWRlciAubWFpbi1uYXZpZ2F0aW9uIC5tZW51LXRvZ2dsZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW46IDEuMjE0MjlyZW0gMCAwO1xuICAgICAgcGFkZGluZzogMC44OTI4NnJlbSAwLjcxNDI5cmVtIDFyZW0gMS4xNDI4NnJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICM0QTRBNEE7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIC1tcy1ib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnNpdGUtaGVhZGVyIC5tYWluLW5hdmlnYXRpb24gLm1lbnUtdG9nZ2xlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLm1haW4tbmF2aWdhdGlvbiAubWVudS10b2dnbGUgLmljb24tbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyLnNpbmdsZS1ibG9nLXBvc3QgLmhlYWRlci1jYXJvdXNlbCB7XG4gICAgaGVpZ2h0OiA1NXZoOyB9XG4gICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlci5zaW5nbGUtYmxvZy1wb3N0IC5oZWFkZXItY2Fyb3VzZWwgLmltZy1maWxsIHtcbiAgICAgIGhlaWdodDogNTV2aDsgfVxuICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2LXJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2LXJlbGF0aXZlIC5zdWItbmF2aWdhdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nOiAuOTVyZW0gMCAuNzVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMTQyODZyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTQsIDI0OCwgMC43Mik7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAgICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiBhIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiBhOmhvdmVyLCAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiBhOmFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2Q2NDYyNjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfSB9XG4gICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gdWwgbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMTQyODZyZW07IH1cbiAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGEge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiB1bCBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAuNjVyZW0gLjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gdWwgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGxpIGEge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAuOXJlbTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgICAgICAgICBjb2xvcjogIzJGMkYyRjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4xcyBlYXNlLWluLW91dCwgYm9yZGVyIC4xcyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGxpIGE6aG92ZXIsIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIgLnN1Yi1uYXZpZ2F0aW9uIHVsIGxpIGE6YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZDY0NjI2OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gdWwge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gdWwge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG4gICAgICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gdWwgbGkgYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjc1cmVtOyB9IH1cbiAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyIC5zdWItbmF2aWdhdGlvbiAuY3VycmVudF9wYWdlX2l0ZW0gYSB7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2Q2NDYyNjtcbiAgICAgIGNvbG9yOiAjZDY0NjI2OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciAuc3ViLW5hdmlnYXRpb24gLmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuICAgICAgICAgIGNvbG9yOiAjQ0U0NDIzOyB9IH1cbiAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlci5ibG9jay1zdWItbmF2IC5zdWItbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZzogLjlyZW0gMCAuODVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyLmJsb2NrLXN1Yi1uYXYgLnN1Yi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGMEU4REU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRjBFOERFO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5zZWNvbmRhcnktaGVhZGVyLXdyYXBwZXIuYmxvY2stc3ViLW5hdiAuc3ViLW5hdmlnYXRpb24gYSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlci5ibG9jay1zdWItbmF2IC5zdWItbmF2aWdhdGlvbiBhLmFjdGl2ZSwgLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlci5ibG9jay1zdWItbmF2IC5zdWItbmF2aWdhdGlvbiBhOmhvdmVyLCAuc2Vjb25kYXJ5LWhlYWRlci13cmFwcGVyLmJsb2NrLXN1Yi1uYXYgLnN1Yi1uYXZpZ2F0aW9uIGE6YWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZDY0NjI2OyB9IH1cblxubWFpbiBwLCBtYWluIHNwYW4ge1xuICBmb250LXNpemU6IDEuMTQyODZyZW07XG4gIGxldHRlci1zcGFjaW5nOiAuMDE1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICBtYWluIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG5tYWluIC5jb250ZW50LXdyYXBwZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDsgfVxuICBtYWluIC5jb250ZW50LXdyYXBwZXIgYSB7XG4gICAgY29sb3I6ICNkOTM4MjY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjI1cyBlYXNlLWluLW91dDsgfVxuICAgIG1haW4gLmNvbnRlbnQtd3JhcHBlciBhOmhvdmVyLCBtYWluIC5jb250ZW50LXdyYXBwZXIgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICNDRTQ0MjM7IH1cbiAgICBtYWluIC5jb250ZW50LXdyYXBwZXIgYS5yZWctYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbi5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uYWx0ZXJuYXRpbmctcm93czpub3QoLmludmVyc2UpIC5mZWF0dXJlZC1wb3N0Om50aC1jaGlsZChldmVuKSAuZmVhdHVyZWQtcG9zdC1pbWFnZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uYWx0ZXJuYXRpbmctcm93czpub3QoLmludmVyc2UpIC50ZXh0LWltYWdlLWJsb2NrOm50aC1jaGlsZChldmVuKSAuaW1hZ2UtYmxvY2sge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ucm93IC5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbnNlbGVjdCB7XG4gIHBhZGRpbmctdG9wOiAxLjM1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZG93bi1hcnJvdy5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTFweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBzZWxlY3Qge1xuICAgICAgcGFkZGluZy10b3A6IDEuMTVyZW07XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4ucGFnZS10aXRsZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRjBFOERFO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmNlbnRlcmVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ib3JkZXItdG9wIHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkZWUxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYm9yZGVyLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuXG4ubm8tcGFkZGluZyB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmFsdGVybmF0ZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4ucmVnLWJ1dHRvbiwgLmxlYXJuLW1vcmUtYnV0dG9uLFxuLnNvbGlkLWJnLWJ1dHRvbiwgLnN1Ym1pdC1idXR0b24ge1xuICBwYWRkaW5nOiAxLjM1cmVtIDEuNjVyZW0gMS4xcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIC4yNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJlZy1idXR0b24sIC5sZWFybi1tb3JlLWJ1dHRvbixcbiAgICAuc29saWQtYmctYnV0dG9uLCAuc3VibWl0LWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAxLjQ1cmVtIDEuNjVyZW0gMS4xNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzNTcxcmVtOyB9IH1cblxuLnJlZy1idXR0b24sXG4ubGVhcm4tbW9yZS1idXR0b24ge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5yZWctYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnJlZy1idXR0b246aG92ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNjQ2MjY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2NDYyNjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4ubGVhcm4tbW9yZS1idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDY0NjI2O1xuICBjb2xvcjogI2Q2NDYyNjsgfVxuICAubGVhcm4tbW9yZS1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNjQ2MjY7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuXG4uc29saWQtYmctYnV0dG9uLFxuLnN1Ym1pdC1idXR0b24ge1xuICBtYXJnaW46IDFyZW0gMCAwO1xuICBiYWNrZ3JvdW5kOiAjZDY0NjI2O1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5zb2xpZC1iZy1idXR0b246aG92ZXIsXG4gIC5zdWJtaXQtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0U0NDIzOyB9XG5cbi5zb2xpZC1iZy1idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDY0NjI2OyB9XG4gIC5zb2xpZC1iZy1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogI0NFNDQyMztcbiAgICBjb2xvcjogI2Q2NDYyNjsgfVxuXG4uc3VibWl0LWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLmxhcmdlLWJ1dHRvbiAucmctYnRuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEuNWVtO1xuICBmb250LXNpemU6IDEuMWVtOyB9XG5cbi5jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuY29udGVudCBoMiB7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtOyB9XG4gIC5jb250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmNvbnRlbnQgYSB7XG4gICAgY29sb3I6ICNkNjQ2MjY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluLW91dDsgfVxuICAgIC5jb250ZW50IGE6aG92ZXIsIC5jb250ZW50IGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjQ0U0NDIzOyB9XG4gIC5jb250ZW50IHNlY3Rpb24ge1xuICAgIG92ZXJmbG93OiBpbmhlcml0OyB9XG5cbi5jZW50ZXJlZC10aXRsZS1ibG9jayB7XG4gIG1hcmdpbjogMnJlbSBhdXRvIDNyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2VudGVyZWQtdGl0bGUtYmxvY2sgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY2VudGVyZWQtdGl0bGUtYmxvY2sgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmNlbnRlcmVkLXRpdGxlLWJsb2NrIGEge1xuICAgIGNvbG9yOiAjZDY0NjI2OyB9XG4gICAgLmNlbnRlcmVkLXRpdGxlLWJsb2NrIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNDRTQ0MjM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jZW50ZXJlZC10aXRsZS1ibG9jayB7XG4gICAgICBtYXJnaW46IDNyZW0gYXV0byA0cmVtOyB9IH1cblxuLmRlZmF1bHQtbW9kYWwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTsgfVxuICAuZGVmYXVsdC1tb2RhbC5uby1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAuZGVmYXVsdC1tb2RhbC5yZXZlYWwge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgd2lkdGg6IDkwJTsgfVxuICAgIC5kZWZhdWx0LW1vZGFsLnJldmVhbCBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZGVmYXVsdC1tb2RhbC5yZXZlYWwge1xuICAgICAgICB3aWR0aDogNzUlOyB9IH1cbiAgLmRlZmF1bHQtbW9kYWwgYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuNXJlbTtcbiAgICByaWdodDogLjJyZW07XG4gICAgY29sb3I6ICMyRjJGMkY7XG4gICAgZm9udC1zaXplOiAxLjI4NTcxcmVtOyB9XG5cbi8qKioqKioqKiogR0xPQkFMIFNFVFRJTkdTICYgTU9EVUxFUyAqKioqKioqKiovXG4ubW9kdWxlLWludGVybmFsLW5hdiB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAubW9kdWxlLWludGVybmFsLW5hdiBsaSB7XG4gICAgbWFyZ2luOiAwIC43NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubW9kdWxlLWludGVybmFsLW5hdiBsaSBhIHtcbiAgICAgIGNvbG9yOiAjZDY0NjI2O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjE1cyBlYXNlLWluLW91dDsgfVxuICAgICAgLm1vZHVsZS1pbnRlcm5hbC1uYXYgbGkgYS5hY3RpdmUge1xuICAgICAgICBjb2xvcjogIzRBNEE0QTsgfVxuICAgICAgLm1vZHVsZS1pbnRlcm5hbC1uYXYgbGkgYTpob3ZlcixcbiAgICAgIC5tb2R1bGUtaW50ZXJuYWwtbmF2IGxpIGEuYWN0aXZlIC5tb2R1bGUtaW50ZXJuYWwtbmF2IGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI0NFNDQyMztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNDRTQ0MjM7IH1cbiAgICAubW9kdWxlLWludGVybmFsLW5hdiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tb2R1bGUtaW50ZXJuYWwtbmF2IGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbnNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgc2VjdGlvbjo6YmVmb3JlLCBzZWN0aW9uOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgc2VjdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIHNlY3Rpb24uc3BsaXQtdGhpcmRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgc2VjdGlvbi5zcGxpdC10aGlyZHMgPiAucm93IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDcwcHg7IH1cbiAgICAgICAgc2VjdGlvbi5zcGxpdC10aGlyZHMgPiAucm93Omxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4OyB9IH1cblxuLnZpZGVvLW1vZGFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogMTAwJTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lOyB9XG4gIC52aWRlby1tb2RhbC5uby1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAudmlkZW8tbW9kYWwgYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzNnB4O1xuICAgIHJpZ2h0OiAycmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG5cbi5mb3VyLW8tZm91ci1wYWdlIHtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuICAuZm91ci1vLWZvdXItcGFnZSAuZm91ci1vLWZvdXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mb3VyLW8tZm91ci1wYWdlIC5mb3VyLW8tZm91ci13cmFwcGVyIC5mb3VyLW8tZm91ci1tZXNzYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmZvdXItby1mb3VyLXBhZ2UgLmZvdXItby1mb3VyLXdyYXBwZXIgLmZvdXItby1mb3VyLW1lc3NhZ2UgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNSU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgIC5mb3VyLW8tZm91ci1wYWdlIC5mb3VyLW8tZm91ci13cmFwcGVyIC5mb3VyLW8tZm91ci1tZXNzYWdlIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5mb3VyLW8tZm91ci1wYWdlIC5mb3VyLW8tZm91ci13cmFwcGVyIC5mb3VyLW8tZm91ci1tZXNzYWdlIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiQnJhbmRvbkdyb3Rlc3F1ZVwiLCBzYW5zLXNlcmlmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAuZm91ci1vLWZvdXItcGFnZSAuZm91ci1vLWZvdXItd3JhcHBlciAuZm91ci1vLWZvdXItbWVzc2FnZSBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5oZWFkZXItY2Fyb3VzZWwuc2l0ZW1hcC1oZWFkZXIsXG4uaGVhZGVyLWNhcm91c2VsLnNpdGVtYXAtaGVhZGVyIC5pbWctZmlsbCB7XG4gIGhlaWdodDogNTV2aDsgfVxuXG4uaGVhZGVyLWNhcm91c2VsLnNpdGVtYXAtaGVhZGVyIGgyIHtcbiAgbWFyZ2luOiAycmVtIDAgMCAhaW1wb3J0YW50OyB9XG5cbi5zaXRlbWFwLWxvZ28tb3V0c2lkZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zaXRlbWFwLWxvZ28tb3V0c2lkZSAuc2l0ZW1hcC1sb2dvIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuc2l0ZW1hcC1sb2dvLW91dHNpZGUgLnNpdGVtYXAtbG9nbyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZW1hcC1sb2dvLW91dHNpZGUgLnNpdGVtYXAtbG9nbyB7XG4gICAgICAgIHdpZHRoOiA0MCU7IH0gfVxuXG4uc2l0ZW1hcC1ibG9jayB7XG4gIHBhZGRpbmc6IDNyZW0gMDsgfVxuICAuc2l0ZW1hcC1ibG9jayAuc2l0ZW1hcC1uYXYge1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAxO1xuICAgIC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAxO1xuICAgIC8qIEZpcmVmb3ggKi9cbiAgICBjb2x1bW4tY291bnQ6IDE7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZW1hcC1ibG9jayAuc2l0ZW1hcC1uYXYge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAvKiBGaXJlZm94ICovXG4gICAgICAgIGNvbHVtbi1jb3VudDogMjsgfSB9XG4gICAgLnNpdGVtYXAtYmxvY2sgLnNpdGVtYXAtbmF2IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNkNjQ2MjY7IH1cbiAgICAuc2l0ZW1hcC1ibG9jayAuc2l0ZW1hcC1uYXYgLnN1Yi1tZW51IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uZnVsbC13aWR0aC1mbGV4LWNvbnRlbnQgc2VjdGlvbiA+IC5yb3cge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogaW5qZWN0Om1vZHVsZXMgKi9cbi8qIE1PRFVMRSBDT05URU5UIEJMT0NLUyAqL1xuLm1vZHVsZS1pbnRyby1ibG9jayxcbi5tb2R1bGUtcGxhaW4tY29udGVudC1ibG9jayxcbi5tb2R1bGUtcmV2aWV3LWJsb2NrIHtcbiAgbWFyZ2luOiAycmVtIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAubW9kdWxlLWludHJvLWJsb2NrLFxuICAgIC5tb2R1bGUtcGxhaW4tY29udGVudC1ibG9jayxcbiAgICAubW9kdWxlLXJldmlldy1ibG9jayB7XG4gICAgICBtYXJnaW46IC44NXJlbSBhdXRvIDJyZW07IH1cbiAgICAgIC5tb2R1bGUtaW50cm8tYmxvY2sgaDIsIC5tb2R1bGUtaW50cm8tYmxvY2sgcCwgLm1vZHVsZS1pbnRyby1ibG9jayB1bCxcbiAgICAgIC5tb2R1bGUtcGxhaW4tY29udGVudC1ibG9jayBoMixcbiAgICAgIC5tb2R1bGUtcGxhaW4tY29udGVudC1ibG9jayBwLFxuICAgICAgLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrIHVsLFxuICAgICAgLm1vZHVsZS1yZXZpZXctYmxvY2sgaDIsXG4gICAgICAubW9kdWxlLXJldmlldy1ibG9jayBwLFxuICAgICAgLm1vZHVsZS1yZXZpZXctYmxvY2sgdWwge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAubW9kdWxlLWludHJvLWJsb2NrIGgyLFxuICAgICAgLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrIGgyLFxuICAgICAgLm1vZHVsZS1yZXZpZXctYmxvY2sgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLm1vZHVsZS1pbnRyby1ibG9jayBwOmZpcnN0LW9mLXR5cGUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMjg1NzFyZW07IH1cblxuLm1vZHVsZS1yZXZpZXctYmxvY2sgLnNpZ25hdHVyZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubW9kdWxlLXJldmlldy1ibG9jayB7XG4gICAgbWFyZ2luOiA1LjM1NzE0cmVtIGF1dG87IH0gfVxuXG4ubW9kdWxlLXBsYWluLWNvbnRlbnQtYmxvY2sge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCxcbi5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QsXG4uYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IHtcbiAgZmxvYXQ6IG5vbmU7IH1cbiAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8sXG4gIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyxcbiAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbmZvIHtcbiAgICBtYXJnaW46IDMuMjE0MjlyZW0gYXV0bztcbiAgICB3aWR0aDogOTAlOyB9XG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8gaDIsXG4gICAgLm1vZHVsZS1ldmVudC1wb3N0cyAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbmZvIGgyLFxuICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBoMiB7XG4gICAgICBmb250LXNpemU6IDEuMjg1NzFyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8gYSwgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWluZm8gYnV0dG9uLFxuICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBhLFxuICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW5mbyBidXR0b24sXG4gICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbmZvIGEsXG4gICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbmZvIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QsXG4gICAgLm1vZHVsZS1ldmVudC1wb3N0cyAuZmVhdHVyZWQtcG9zdCxcbiAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3Q6bnRoLWNoaWxkKGV2ZW4pLFxuICAgICAgLm1vZHVsZS1ldmVudC1wb3N0cyAuZmVhdHVyZWQtcG9zdDpudGgtY2hpbGQoZXZlbiksXG4gICAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0Om50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCxcbiAgLm1vZHVsZS1ldmVudC1wb3N0cyxcbiAgLmJsb2ctcG9zdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4ubW9kdWxlLWV2ZW50LXBvc3RzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3Qge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3Q6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tb2R1bGUtZXZlbnQtcG9zdHMgLmZlYXR1cmVkLXBvc3Q6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgLm1vZHVsZS1ldmVudC1wb3N0cyAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbmZvIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LCAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmdyaWQtc2l6ZXIsXG4uYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0LFxuLmJsb2ctcG9zdCAuZ3JpZC1zaXplciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QsIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZ3JpZC1zaXplcixcbiAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0LFxuICAgIC5ibG9nLXBvc3QgLmdyaWQtc2l6ZXIge1xuICAgICAgd2lkdGg6IDQ5JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5ndXR0ZXItc2l6ZXIsXG4gIC5ibG9nLXBvc3QgLmd1dHRlci1zaXplciB7XG4gICAgd2lkdGg6IDIlOyB9IH1cblxuLm1vZHVsZS1ldmVudC1wb3N0cyAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbCB7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAubW9kdWxlLWV2ZW50LXBvc3RzIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbCBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLm1vZHVsZS1ldmVudC1wb3N0cyAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuZ2x5cGgge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFyZW07XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAuOHJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NywgMjQzLCAyMzksIDAuOTUpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgei1pbmRleDogNTsgfVxuXG4ubW9kdWxlLWNvbnRlbnQtYmxvY2sgLnJvb21zLWluZm8tYmxvY2sge1xuICBwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogLjI1cmVtOyB9XG4gIC5tb2R1bGUtY29udGVudC1ibG9jayAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0YwRThERTsgfVxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIC5yb29tcy1vdmVybGF5LWluZm8ge1xuICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIC5yb29tcy1vdmVybGF5LWluZm8gaDIge1xuICAgICAgICBmb250LXNpemU6IDEuMjg1NzFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIC5yb29tcy1vdmVybGF5LWluZm8gYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubW9kdWxlLWZlYXR1cmVkLXBvc3QsXG4ubW9kdWxlLWNvbnRlbnQtYmxvY2ssXG4uYmxvZy1wb3N0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlLFxuICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UsXG4gIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwsXG4gICAgLm1vZHVsZS1jb250ZW50LWJsb2NrIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbCxcbiAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbCBpbWcsXG4gICAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsIGltZyxcbiAgICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltZy1maWxsIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbC1mdWxsLFxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1nLWZpbGwtZnVsbCxcbiAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5pbWctZmlsbC1mdWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gICAgLm1vZHVsZS1mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIC5nbHlwaCxcbiAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmdseXBoLFxuICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmdseXBoIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAuOHJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDcsIDI0MywgMjM5LCAwLjk1KTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgei1pbmRleDogNTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1hZ2UtY292ZXIsXG4gICAgICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UgLmltYWdlLWNvdmVyLFxuICAgICAgLmJsb2ctcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSAuaW1hZ2UtY292ZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UsXG4gIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAucm9vbXMtaW5mby1ibG9jayxcbiAgLm1vZHVsZS1jb250ZW50LWJsb2NrIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlLFxuICAubW9kdWxlLWNvbnRlbnQtYmxvY2sgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2ssXG4gIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UsXG4gIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSBwOmxhc3Qtb2YtdHlwZSxcbiAgICAubW9kdWxlLWZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2sgcDpsYXN0LW9mLXR5cGUsXG4gICAgLm1vZHVsZS1jb250ZW50LWJsb2NrIC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIHA6bGFzdC1vZi10eXBlLFxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAucm9vbXMtaW5mby1ibG9jayBwOmxhc3Qtb2YtdHlwZSxcbiAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5mZWF0dXJlZC1wb3N0LWltYWdlIHA6bGFzdC1vZi10eXBlLFxuICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLnJvb21zLWluZm8tYmxvY2sgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZS5uby1wYWRkaW5nLFxuICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAucm9vbXMtaW5mby1ibG9jay5uby1wYWRkaW5nLFxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZS5uby1wYWRkaW5nLFxuICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAucm9vbXMtaW5mby1ibG9jay5uby1wYWRkaW5nLFxuICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2Uubm8tcGFkZGluZyxcbiAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5yb29tcy1pbmZvLWJsb2NrLm5vLXBhZGRpbmcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSxcbiAgICAgIC5tb2R1bGUtZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdCAucm9vbXMtaW5mby1ibG9jayxcbiAgICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSxcbiAgICAgIC5tb2R1bGUtY29udGVudC1ibG9jayAuZmVhdHVyZWQtcG9zdCAucm9vbXMtaW5mby1ibG9jayxcbiAgICAgIC5ibG9nLXBvc3QgLmZlYXR1cmVkLXBvc3QgLmZlYXR1cmVkLXBvc3QtaW1hZ2UsXG4gICAgICAuYmxvZy1wb3N0IC5mZWF0dXJlZC1wb3N0IC5yb29tcy1pbmZvLWJsb2NrIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07IH0gfVxuXG4uYmxvZy1wb3N0IHtcbiAgbWFyZ2luLXRvcDogMnJlbTsgfVxuXG4ub3RoZXItcHJvbW9zIC5mZWF0dXJlZC1wb3N0IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vdGhlci1wcm9tb3MgLmZlYXR1cmVkLXBvc3Qge1xuICAgICAgd2lkdGg6IDQ5LjUlOyB9IH1cbiAgLm90aGVyLXByb21vcyAuZmVhdHVyZWQtcG9zdCAuZmVhdHVyZWQtcG9zdC1pbWFnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLm90aGVyLW9mZmVycyB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuICBwYWRkaW5nLWxlZnQ6IC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGMEU4REU7IH1cbiAgLm90aGVyLW9mZmVycyA+IGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vdGhlci1vZmZlcnMge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cblxuLmhvbWUtb2ZmZXJzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4ubW9kYWwtZnVsbC1wcm9tbyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCwgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIHtcbiAgICBtYXgtaGVpZ2h0OiA1NjBweDsgfVxuICAgIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIGgzLCAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCBwLCAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gaDMsIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiBwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAuaW5mbywgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiA5cmVtIDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIC5pbmZvLmxpZ2h0LW92ZXJsYXksIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mby5saWdodC1vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgICBjb2xvcjogIzJGMkYyRjsgfVxuICAgICAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLmluZm8uZGFyay1vdmVybGF5LCAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gLmluZm8uZGFyay1vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLXF1b3RlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLm1vZGFsLWZ1bGwtcHJvbW8udGVzdGltb25pYWwgLnRlc3RpbW9uaWFsLXF1b3RlIGgzIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA3My4xNDI4NnJlbTtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBmb250LWZhbWlseTogXCJXaW5kc29yRFwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyLjg1NzE0cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuICAgIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIC50ZXN0aW1vbmlhbC1xdW90ZSAudGVzdGltb25pYWwtYXV0aG9yIHtcbiAgICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4OyB9XG4gIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4OyB9XG4gICAgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogNS4zNTcxNHJlbSAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gLmluZm8gLnByb21vLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDc1MHB4OyB9XG4gICAgICAgIC5tb2RhbC1mdWxsLXByb21vLnByb21vdGlvbiAuaW5mbyAucHJvbW8tYmxvY2sgLnByb21vLWxvZ28ge1xuICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgICAgICAgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvIC5wcm9tby1ibG9jayAucHJvbW8tYmx1cmIge1xuICAgICAgICAgIG1hcmdpbjogMi41cmVtIDA7XG4gICAgICAgICAgcGFkZGluZzogMCAycmVtOyB9XG4gICAgICAgICAgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvIC5wcm9tby1ibG9jayAucHJvbW8tYmx1cmIgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjE0MjlyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDQ1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIC5pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDEzcmVtIDA7IH1cbiAgICAubW9kYWwtZnVsbC1wcm9tby50ZXN0aW1vbmlhbCAudGVzdGltb25pYWwtcXVvdGUgaDMge1xuICAgICAgZm9udC1zaXplOiAyLjI4NTcxcmVtOyB9XG4gICAgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDcuMTQyODZyZW0gMDsgfVxuICAgICAgLm1vZGFsLWZ1bGwtcHJvbW8ucHJvbW90aW9uIC5pbmZvIC5wcm9tby1ibHVyYiB7XG4gICAgICAgIG1hcmdpbjogMy41NzE0M3JlbSAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIC5pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDE0cmVtIDA7IH1cbiAgICAgIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIC5pbmZvIC50ZXN0aW1vbmlhbC1xdW90ZSBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4yODU3MXJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTA3MTRyZW07IH1cbiAgICAgIC5tb2RhbC1mdWxsLXByb21vLnRlc3RpbW9uaWFsIC5pbmZvIC50ZXN0aW1vbmlhbC1hdXRob3Ige1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAubW9kYWwtZnVsbC1wcm9tby5wcm9tb3Rpb24gLmluZm8ge1xuICAgICAgcGFkZGluZzogMTAuMzU3MTRyZW0gMDsgfSB9XG5cbi5tb2R1bGUtdHdvLXVwLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5tb2R1bGUtdHdvLXVwLWxpc3QgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlLXR3by11cC1saXN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH1cbiAgICAgIC5tb2R1bGUtdHdvLXVwLWxpc3QgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgLm1vZHVsZS10d28tdXAtbGlzdCB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMTtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMTtcbiAgICBjb2x1bW4tY291bnQ6IDE7XG4gICAgZm9udC1zaXplOiAxLjA3MTQzcmVtOyB9XG4gICAgLm1vZHVsZS10d28tdXAtbGlzdCB1bCBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMS43NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzVyZW07XG4gICAgICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tb2R1bGUtdHdvLXVwLWxpc3QgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7IH0gfVxuICAgIC5tb2R1bGUtdHdvLXVwLWxpc3QgdWw6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnRleHQtaW1hZ2UtYmxvY2sge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5tb2R1bGUtaW50ZXJuYWwtbmF2IHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMy41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlLWludGVybmFsLW5hdiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjVyZW07IH0gfVxuXG4ubW9kdWxlLXRleHQtaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAubW9kdWxlLXRleHQtaW1hZ2UgPiAucm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLWNhcm91c2VsIC5pdGVtLFxuICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLWNhcm91c2VsIC5pdGVtID4gZGl2IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLm1vZHVsZS10ZXh0LWltYWdlIC50ZXh0LWJsb2NrLFxuICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLFxuICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLWNhcm91c2VsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07IH1cbiAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyLFxuICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyLFxuICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2stY2Fyb3VzZWwgLnRleHQtYmxvY2staW5mby13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICNGN0YzRUY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRjBFOERFOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAudGV4dC1ibG9jayAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIsXG4gICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyLFxuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLWNhcm91c2VsIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAudGV4dC1ibG9jayAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyxcbiAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8sXG4gICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLWNhcm91c2VsIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gaDIsXG4gICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gaDIsXG4gICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2stY2Fyb3VzZWwgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yODU3MXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAudGV4dC1ibG9jayAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBwLFxuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvIHAsXG4gICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2stY2Fyb3VzZWwgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mjg1N3JlbTsgfVxuICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAudGV4dC1ibG9jayAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBwOmxhc3QtY2hpbGQsIC5tb2R1bGUtdGV4dC1pbWFnZSAudGV4dC1ibG9jayAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBwLm5vLXNwYWNpbmcsXG4gICAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBwOmxhc3QtY2hpbGQsXG4gICAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBwLm5vLXNwYWNpbmcsXG4gICAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jay1jYXJvdXNlbCAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBwOmxhc3QtY2hpbGQsXG4gICAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jay1jYXJvdXNlbCAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBwLm5vLXNwYWNpbmcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLnRleHQtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8gYSxcbiAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyBhLFxuICAgICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLWNhcm91c2VsIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC50ZXh0LWJsb2NrIC50ZXh0LWJsb2NrLWluZm8td3JhcHBlciAudGV4dC1ibG9jay1pbmZvLFxuICAgICAgICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgLnRleHQtYmxvY2staW5mby13cmFwcGVyIC50ZXh0LWJsb2NrLWluZm8sXG4gICAgICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jay1jYXJvdXNlbCAudGV4dC1ibG9jay1pbmZvLXdyYXBwZXIgLnRleHQtYmxvY2staW5mbyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcmVtOyB9IH1cbiAgLm1vZHVsZS10ZXh0LWltYWdlIC50ZXh0LWltYWdlLWJsb2NrIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayxcbiAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayBkaXYge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLWhlaWdodDogMjQ5cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLXRleHQtaW1hZ2UgLmltYWdlLWJsb2NrLFxuICAgICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayBkaXYge1xuICAgICAgICBtaW4taGVpZ2h0OiA1NDBweDsgfSB9XG4gICAgLm1vZHVsZS10ZXh0LWltYWdlIC5pbWFnZS1ibG9jayAucm93LFxuICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuaW1hZ2UtYmxvY2sgZGl2IC5yb3cge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAubW9kdWxlLXRleHQtaW1hZ2UgLmV4dHJhLWltYWdlcyAuaW1hZ2UtYmxvY2std3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5tb2R1bGUtdGV4dC1pbWFnZSAuZXh0cmEtaW1hZ2VzIC5pbWFnZS1ibG9jay13cmFwcGVyIGltZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuLm1vZHVsZS10d28tdXAtaW1hZ2VzIC5pbWFnZS1ibG9jay13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIHBhZGRpbmctbGVmdDogLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07IH1cblxuLm1vZHVsZS10d28tdXAtaW1hZ2VzIC5pbWFnZS1jb3ZlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5tb2R1bGUtdHdvLXVwLWltYWdlcyAuaW1hZ2UtY292ZXIgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyB9XG5cbi5pbWFnZS1jb3ZlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaW1hZ2UtY292ZXIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi5tb2R1bGUtbXVsdGktaW1hZ2UtZ3JpZCB7XG4gIG1hcmdpbi1ib3R0b206IC4zNXJlbTsgfVxuICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWdyaWQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1vZHVsZS1tdWx0aS1pbWFnZS1ncmlkIC5pbWFnZS1ncmlkLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC4xNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA0OS4xNjIzN3Z3O1xuICAgICAgICBtYXgtaGVpZ2h0OiA3NjNweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS1ibG9jayAuaW1hZ2UtY292ZXIge1xuICAgICAgICBoZWlnaHQ6IDk2LjUlOyB9IH1cbiAgICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWdyaWQtY29udGFpbmVyIC5pbWFnZS1ibG9jay5oYWxmLWhlaWdodCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5tb2R1bGUtbXVsdGktaW1hZ2UtZ3JpZCAuaW1hZ2UtYmxvY2suY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IC4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tb2R1bGUtbXVsdGktaW1hZ2UtZ3JpZCAuaW1hZ2UtYmxvY2sge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICAgLm1vZHVsZS1tdWx0aS1pbWFnZS1ncmlkIC5pbWFnZS1ibG9jayAuaW1hZ2UtY292ZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAubW9kdWxlLW11bHRpLWltYWdlLWdyaWQgLmltYWdlLWJsb2NrLmhhbGYtaGVpZ2h0IHtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gLjI1cmVtKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfSB9XG4gICAgLm1vZHVsZS1tdWx0aS1pbWFnZS1ncmlkIC5pbWFnZS1ibG9jayAuaW1hZ2UtY292ZXIgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFweDsgfVxuXG4ubW9kdWxlLXZpZGVvLWVtYmVkIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAzLjU3MTQzcmVtOyB9XG4gIC5tb2R1bGUtdmlkZW8tZW1iZWQgLm1vZHVsZS12aWRlby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDE1LjVlbTsgfVxuICAgIC5tb2R1bGUtdmlkZW8tZW1iZWQgLm1vZHVsZS12aWRlby13cmFwcGVyID4gZGl2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZS12aWRlby1lbWJlZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gICAgICAubW9kdWxlLXZpZGVvLWVtYmVkIC5tb2R1bGUtdmlkZW8td3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tb2R1bGUtdmlkZW8tZW1iZWQgLm1vZHVsZS12aWRlby13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzOGVtOyB9IH1cblxuLnZpZGVvLW1vZGFsLnJldmVhbCB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bzsgfVxuXG4vKiBlbmRpbmplY3QgKi9cbi8qIGluamVjdDpjb21wb25lbnRzICovXG4uaGVhZGVyLWNhcm91c2VsLFxuLmdhbGxlcnktY2Fyb3VzZWwsXG4uZ2FsbGVyeS1zbGlkZS1uYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNzB2aDsgfVxuICAuaGVhZGVyLWNhcm91c2VsIC5pbWctZmlsbCxcbiAgLmdhbGxlcnktY2Fyb3VzZWwgLmltZy1maWxsLFxuICAuZ2FsbGVyeS1zbGlkZS1uYXYgLmltZy1maWxsIHtcbiAgICBoZWlnaHQ6IDcwdmg7IH1cbiAgICAuaGVhZGVyLWNhcm91c2VsIC5pbWctZmlsbCBpbWcsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwgLmltZy1maWxsIGltZyxcbiAgICAuZ2FsbGVyeS1zbGlkZS1uYXYgLmltZy1maWxsIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuaGVhZGVyLWNhcm91c2VsIC5zbGljay1kb3RzLFxuICAuZ2FsbGVyeS1jYXJvdXNlbCAuc2xpY2stZG90cyxcbiAgLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1kb3RzIHtcbiAgICBib3R0b206IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVhZGVyLWNhcm91c2VsIC5zbGljay1kb3RzLFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwgLnNsaWNrLWRvdHMsXG4gICAgICAuZ2FsbGVyeS1zbGlkZS1uYXYgLnNsaWNrLWRvdHMge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9IH1cbiAgLmhlYWRlci1jYXJvdXNlbCAuaW5mbyxcbiAgLmdhbGxlcnktY2Fyb3VzZWwgLmluZm8sXG4gIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaW5mbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAuaGVhZGVyLWNhcm91c2VsIC5pbmZvIC5zbGlkZS10ZXh0LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5pbmZvIC5zbGlkZS10ZXh0LFxuICAgIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaW5mbyAuc2xpZGUtdGV4dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5oZWFkZXItY2Fyb3VzZWwgLmluZm8gLnNsaWRlLXRleHQgaDIsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbCAuaW5mbyAuc2xpZGUtdGV4dCBoMixcbiAgICAgIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaW5mbyAuc2xpZGUtdGV4dCBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41NzE0M3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmhlYWRlci1jYXJvdXNlbCAuaW5mbyAuc2xpZGUtdGV4dCBoMixcbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwgLmluZm8gLnNsaWRlLXRleHQgaDIsXG4gICAgICAgIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaW5mbyAuc2xpZGUtdGV4dCBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAzLjQyODU3cmVtOyB9IH1cbiAgICAuaGVhZGVyLWNhcm91c2VsIC5pbmZvIC5wbGF5LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5pbmZvIC5wbGF5LFxuICAgIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaW5mbyAucGxheSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgd2lkdGg6IDU4cHg7XG4gICAgICBmb250LXNpemU6IDEuMDcxNDNyZW07IH1cbiAgLmhlYWRlci1jYXJvdXNlbC5zbGljay1zbGlkZXIsXG4gIC5nYWxsZXJ5LWNhcm91c2VsLnNsaWNrLXNsaWRlcixcbiAgLmdhbGxlcnktc2xpZGUtbmF2LnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlYWRlci1jYXJvdXNlbCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbCxcbiAgICAuZ2FsbGVyeS1zbGlkZS1uYXYge1xuICAgICAgaGVpZ2h0OiA3NXZoOyB9XG4gICAgICAuaGVhZGVyLWNhcm91c2VsIC5pbWctZmlsbCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsIC5pbWctZmlsbCxcbiAgICAgIC5nYWxsZXJ5LXNsaWRlLW5hdiAuaW1nLWZpbGwge1xuICAgICAgICBoZWlnaHQ6IDc1dmg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlYWRlci1jYXJvdXNlbC5ob21lLWNhcm91c2VsLFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLmhvbWUtY2Fyb3VzZWwsXG4gICAgLmdhbGxlcnktc2xpZGUtbmF2LmhvbWUtY2Fyb3VzZWwge1xuICAgICAgaGVpZ2h0OiA4NXZoOyB9XG4gICAgICAuaGVhZGVyLWNhcm91c2VsLmhvbWUtY2Fyb3VzZWwgLmltZy1maWxsLFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwuaG9tZS1jYXJvdXNlbCAuaW1nLWZpbGwsXG4gICAgICAuZ2FsbGVyeS1zbGlkZS1uYXYuaG9tZS1jYXJvdXNlbCAuaW1nLWZpbGwge1xuICAgICAgICBoZWlnaHQ6IDg1dmg7IH0gfVxuXG4uaW1hZ2UtYmxvY2stY2Fyb3VzZWwuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAuaW1hZ2UtYmxvY2stY2Fyb3VzZWwuc2xpY2stc2xpZGVyIC5zbGljay1saXN0LFxuICAgIC5pbWFnZS1ibG9jay1jYXJvdXNlbC5zbGljay1zbGlkZXIgLml0Yi1pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDI1dmggIWltcG9ydGFudDsgfSB9XG5cbi5pbWFnZS1ibG9jay1jYXJvdXNlbCAuc2xpY2stZG90cyB7XG4gIGJvdHRvbTogMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmltYWdlLWJsb2NrLWNhcm91c2VsIC5zbGljay1kb3RzIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9IH1cblxuLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDQuNzVyZW07IH1cbiAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCxcbiAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmltZy1maWxsLFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5pbWctZmlsbCB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsLnNsaWNrLXNsaWRlcixcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdi5zbGljay1zbGlkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5pdGVtLFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLXByZXYsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLW5leHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDEuMjE0MjlyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stcHJldiwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctcmlnaHQsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1uZXh0LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLmljb24tYXJyb3ctbGVmdCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1wcmV2LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLmljb24tYXJyb3ctcmlnaHQsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stbmV4dCxcbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1wcmV2IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1wcmV2LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1uZXh0LFxuICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LWxlZnQsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dCBzcGFuLnNsaWNrLXByZXYsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dCBzcGFuLmljb24tYXJyb3ctcmlnaHQsXG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dCBzcGFuLnNsaWNrLW5leHQge1xuICAgICAgICBjb2xvcjogcmVkOyB9XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldixcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtcHJldiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAuNTVyZW0gMXJlbSAuNDByZW07IH1cbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1uZXh0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAuNDByZW0gMXJlbSAuNTVyZW07IH1cbiAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuaW1hZ2UtY292ZXIge1xuICAgIGhlaWdodDogNjV2aDsgfVxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmltYWdlLWNvdmVyIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlOyB9XG4gIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LWxlZnQsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1wcmV2LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uaWNvbi1hcnJvdy1yaWdodCwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLnNsaWNrLW5leHQsXG4gIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LWxlZnQsXG4gIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1wcmV2LFxuICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1yaWdodCxcbiAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLnNsaWNrLW5leHQge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stcHJldiwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctcmlnaHQsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1uZXh0LFxuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LWxlZnQsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLnNsaWNrLXByZXYsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLmljb24tYXJyb3ctcmlnaHQsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLnNsaWNrLW5leHQge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5pY29uLWFycm93LWxlZnQsIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1wcmV2LCAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uaWNvbi1hcnJvdy1yaWdodCwgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLnNsaWNrLW5leHQsXG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCBzcGFuLmljb24tYXJyb3ctbGVmdCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stcHJldixcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1yaWdodCxcbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uc2xpY2stbmV4dCB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYge1xuICAgICAgcGFkZGluZzogLjc1cmVtIC4zNXJlbSAuNTVyZW0gLjIwcmVtOyB9XG4gICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1jYXJvdXNlbCAuY2Fyb3VzZWwtbmV4dCB7XG4gICAgICBwYWRkaW5nOiAuNzVyZW0gLjIwcmVtIC41NXJlbSAuMzVyZW07IH0gfVxuICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdi13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdi13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2LXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5zbGljay1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwIC0uMjVyZW07IH1cbiAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLnNsaWNrLWxpc3QgLml0ZW0ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogLjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcbiAgICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYtd3JhcHBlciAuZ2FsbGVyeS1zbGlkZS1uYXYgLnNsaWNrLWxpc3QgLml0ZW0gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdi13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwNC4xNjY2NyU7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdi13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgaW1nIHtcbiAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5nYWxsZXJ5LWNhcm91c2VsLXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2LXdyYXBwZXIgLmdhbGxlcnktc2xpZGUtbmF2IC5jYXJvdXNlbC1wcmV2IHtcbiAgICAgICAgcGFkZGluZzogLjc1cmVtIC4zNXJlbSAuNTVyZW0gLjIwcmVtOyB9XG4gICAgICAuZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdi13cmFwcGVyIC5nYWxsZXJ5LXNsaWRlLW5hdiAuY2Fyb3VzZWwtbmV4dCB7XG4gICAgICAgIHBhZGRpbmc6IC43NXJlbSAuMjByZW0gLjU1cmVtIC4zNXJlbTsgfVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaW1nLWZpbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNsaWRlc2hvdy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNsaWRlc2hvdy1jb250YWluZXIgLnNsaWNrLWRvdHMge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNTM1NzFyZW07XG4gICAgYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNsaWRlc2hvdy1jb250YWluZXIgLnNsaWNrLWRvdHMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjg1NzE0cmVtOyB9IH1cbiAgICAuc2xpZGVzaG93LWNvbnRhaW5lciAuc2xpY2stZG90cyBsaSwgLnNsaWRlc2hvdy1jb250YWluZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uLCAuc2xpZGVzaG93LWNvbnRhaW5lciAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9XG5cbi5zaW5nbGUtc2xpZGUgLnNsaWNrLXByZXYsXG4uc2luZ2xlLXNsaWRlIC5zbGljay1uZXh0IHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bzsgfVxuICAuc2luZ2xlLXNsaWRlIC5zbGljay1wcmV2OmJlZm9yZSxcbiAgLnNpbmdsZS1zbGlkZSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zaXplOiAyLjU3MTQzcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpbmdsZS1zbGlkZSAuc2xpY2stcHJldjpiZWZvcmUsXG4gICAgICAuc2luZ2xlLXNsaWRlIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG5cbi5zaW5nbGUtc2xpZGUgLnNsaWNrLXNsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG4gIC5zaW5nbGUtc2xpZGUgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAuc2luZ2xlLXNsaWRlIC5zbGljay1zbGlkZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuc2luZ2xlLXNsaWRlIC5zbGljay1zbGlkZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDYwMHB4OyB9IH1cblxuLnNpbmdsZS1zbGlkZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cblxuLnNpbmdsZS1zbGlkZSAuc2xpY2stcHJldiB7XG4gIGxlZnQ6IDEuMTQyODZyZW07IH1cblxuLnNpbmdsZS1zbGlkZSAuc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAxLjE0Mjg2cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNpbmdsZS1zbGlkZSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogMi4yODU3MXJlbTsgfVxuICAuc2luZ2xlLXNsaWRlIC5zbGljay1uZXh0IHtcbiAgICByaWdodDogMi4yODU3MXJlbTsgfSB9XG5cbi5zbGljay1wcmV2OmJlZm9yZSxcbi5zbGljay1uZXh0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG5cbi5pbnN0YWdyYW0tZmVlZCB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmluc3RhZ3JhbS1mZWVkIC5pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07IH1cbiAgLmluc3RhZ3JhbS1mZWVkIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmluc3RhZ3JhbS1mZWVkIGEge1xuICAgIGNvbG9yOiAjZDY0NjI2OyB9XG4gICAgLmluc3RhZ3JhbS1mZWVkIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNDRTQ0MjM7IH1cblxuLmNvbXBvbmVudC12aWRlby1nYWxsZXJ5IHtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuY29tcG9uZW50LXZpZGVvLWdhbGxlcnkgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY29tcG9uZW50LXZpZGVvLWdhbGxlcnkgLnZpZGVvLWdhbGxlcnktd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogLjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmNvbXBvbmVudC12aWRlby1nYWxsZXJ5IC52aWRlby1nYWxsZXJ5LXdyYXBwZXIgLnZpZGVvLXRodW1ibmFpbCB7XG4gICAgICBwYWRkaW5nLXRvcDogNTYuMzM4MDMlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5jb21wb25lbnQtdmlkZW8tZ2FsbGVyeSAudmlkZW8tZ2FsbGVyeS13cmFwcGVyIC52aWRlby10aHVtYm5haWwgLnRodW1ibmFpbC1vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwLjUlO1xuICAgICAgICB3aWR0aDogMTAwLjUlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICAgLmNvbXBvbmVudC12aWRlby1nYWxsZXJ5IC52aWRlby1nYWxsZXJ5LXdyYXBwZXIgLnBsYXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICByaWdodDogNTAlO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICAgIHdpZHRoOiA1OHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbi5wcmUtbG9hZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZWY4O1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLnByZS1sb2FkZXIgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MiU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1heC13aWR0aDogMzIlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAucHJlLWxvYWRlciBzdmcge1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTsgfSB9XG4gICAgLnByZS1sb2FkZXIgc3ZnIC5yYXlzIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cblxuLyogZW5kaW5qZWN0ICovXG4vKiBpbmplY3Q6dGVtcGxhdGVzICovXG4ubG9jYXRpb24tbWFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDU1dmg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5sb2NhdGlvbi1tYXAuY29udGFjdC1tYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubG9jYXRpb24tbWFwLmNvbnRhY3QtbWFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gICAgLmxvY2F0aW9uLW1hcC5jb250YWN0LW1hcCAjbWFwIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4ubG9jYXRpb24tbWFwIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxvY2F0aW9uLW1hcCB7XG4gICAgICBtYXJnaW4tdG9wOiA0Ljg1NzE0cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5sb2NhdGlvbi1tYXAgI21hcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2NXZoOyB9XG4gIC5sb2NhdGlvbi1tYXAuY29udGFjdC1tYXAge1xuICAgIGhlaWdodDogNTV2aDsgfVxuICAgIC5sb2NhdGlvbi1tYXAuY29udGFjdC1tYXAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubG9jYXRpb24tbWFwLmNvbnRhY3QtbWFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi44NTcxNHJlbTsgfSB9XG4gIC5sb2NhdGlvbi1tYXAgLnRvZG8tbWFwLWZpbHRlciB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubG9jYXRpb24tbWFwIC50b2RvLW1hcC1maWx0ZXIge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDNyZW0gMC41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubG9jYXRpb24tbWFwIC50b2RvLW1hcC1maWx0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDsgfSB9XG4gICAgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHVsIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHVsIGxpLCAubG9jYXRpb24tbWFwIC50b2RvLW1hcC1maWx0ZXIgdWwgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAubG9jYXRpb24tbWFwIC50b2RvLW1hcC1maWx0ZXIgdWwgLmZpbHRlci1zaG93LWFsbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gLjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAgICAgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHVsIGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAubG9jYXRpb24tbWFwIC50b2RvLW1hcC1maWx0ZXIgdWwgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHVsIGxpIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNzE0M3JlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA3MTQzcmVtOyB9XG4gICAgICAgICAgLmxvY2F0aW9uLW1hcCAudG9kby1tYXAtZmlsdGVyIHVsIGxpIGEgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGhlaWdodDogNC4yODU3MXJlbTtcbiAgICAgICAgICAgIHRvcDogLjI1cmVtO1xuICAgICAgICAgICAgei1pbmRleDogMjsgfVxuXG4uaW5mb0JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogIzJGMkYyRjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLmluZm9Cb3ggaDUsIC5pbmZvQm94IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkJyYW5kb25Hcm90ZXNxdWVcIiwgc2Fucy1zZXJpZjsgfVxuICAuaW5mb0JveCA+IGg1IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udC1zaXplOiAxLjE0Mjg2cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuICAuaW5mb0JveCBwIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuICAuaW5mb0JveCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmluZm9Cb3ggYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgY29sb3I6ICNkNjQ2MjY7IH1cbiAgICAuaW5mb0JveCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjQ0U0NDIzOyB9XG4gIC5pbmZvQm94OjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDIwcHggc29saWQgIzJGMkYyRjtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4OyB9XG4gIC5pbmZvQm94IGltZyB7XG4gICAgbWFyZ2luOiAwIC01cHggMCAwICFpbXBvcnRhbnQ7IH1cblxuLyoqIFJFU1RBVVJBTlQgVEVNUExBVEUgU1RZTElORyAqKi9cbi5yZXN0YXVyYW50LWNvbnRlbnQge1xuICBtYXJnaW46IDJyZW0gYXV0bzsgfVxuICAucmVzdGF1cmFudC1jb250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAucmVzdGF1cmFudC1jb250ZW50IC5yZXN0YXVyYW50LWxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAucmVzdGF1cmFudC1jb250ZW50IC5yZXN0YXVyYW50LWxvZ28gaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDkuMTQyODZyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5yZXN0YXVyYW50LWNvbnRlbnQgLnJlc3RhdXJhbnQtbG9nbyBpbWcge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yZXN0YXVyYW50LWNvbnRlbnQgLnJlc3RhdXJhbnQtbG9nbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLnJlc3RhdXJhbnQtY29udGVudCAucmVzdGF1cmFudC1sb2dvIC5sb2dvLWNvbnRhaW5lciArIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjcxNDI5ZW07XG4gICAgICBwYWRkaW5nLXRvcDogMS43MTQyOWVtO1xuICAgICAgYm9yZGVyLXRvcDogc29saWQgMnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmVzdGF1cmFudC1jb250ZW50IC5yZXN0YXVyYW50LWNvcHkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogNHJlbTsgfSB9XG4gIC5yZXN0YXVyYW50LWNvbnRlbnQgLnJlc3RhdXJhbnQtaG91cnMgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5yZXN0YXVyYW50LW1lbnUtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGMEU4REU7IH1cbiAgLnJlc3RhdXJhbnQtbWVudS1zZWN0aW9uIC5tZW51LWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnJlc3RhdXJhbnQtbWVudS1zZWN0aW9uIC5tZW51LWNvbnRhaW5lciAubGVhcm4tbW9yZS1idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXN0YXVyYW50LW1lbnUtc2VjdGlvbiAubWVudS1jb250YWluZXIgLmxlYXJuLW1vcmUtYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXN0YXVyYW50LW1lbnUtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubW9kdWxlLXJvb21zLWdyaWQge1xuICAgIG1hcmdpbi10b3A6IDQuNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4My40Mzc1ZW0pIHtcbiAgLm1vZHVsZS1yb29tcy1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiA0Ljg1NzE0cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA0LjM3NWVtKSB7XG4gIC5tb2R1bGUtcm9vbXMtZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogNS4xNDI4NnJlbTsgfSB9XG5cbi5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtYmxvY2ssXG4ubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IC4yNXJlbTsgfVxuICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWJsb2NrIC5yb3csXG4gIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiA5OC4wNDY4OCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4gICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1ibG9jayAucm93IC5yb29tcy1vdmVybGF5LFxuICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm93IC5yb29tcy1vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMTAwLjUlO1xuICAgICAgd2lkdGg6IDEwMC41JTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtYmxvY2sgLnJvdyAucm9vbXMtb3ZlcmxheSBzcGFuLnJlZy1idXR0b24sXG4gICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvdyAucm9vbXMtb3ZlcmxheSBzcGFuLnJlZy1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgIGJvdHRvbTogMnJlbTtcbiAgICAgICAgcGFkZGluZzogMS40NXJlbSAxLjY1cmVtIDEuMTVyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDUzNTdyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWJsb2NrIC5yb3cgLnJvb21zLW92ZXJsYXkgc3Bhbi5yZWctYnV0dG9uOmhvdmVyLCAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWJsb2NrIC5yb3cgLnJvb21zLW92ZXJsYXkgc3Bhbi5yZWctYnV0dG9uOmFjdGl2ZSxcbiAgICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb3cgLnJvb21zLW92ZXJsYXkgc3Bhbi5yZWctYnV0dG9uOmhvdmVyLFxuICAgICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvdyAucm9vbXMtb3ZlcmxheSBzcGFuLnJlZy1idXR0b246YWN0aXZlIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtYmxvY2sgLnJvdyAucm9vbXMtb3ZlcmxheSBzcGFuLnJlZy1idXR0b24sXG4gICAgICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb3cgLnJvb21zLW92ZXJsYXkgc3Bhbi5yZWctYnV0dG9uIHtcbiAgICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgICBib3R0b206IC43NXJlbTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjI1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTsgfSB9XG4gICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWJsb2NrIC5yb3cgLnJvb21zLW92ZXJsYXkgLnJvb21zLW92ZXJsYXktaW5mbyxcbiAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm93IC5yb29tcy1vdmVybGF5IC5yb29tcy1vdmVybGF5LWluZm8ge1xuICAgICAgICBwYWRkaW5nOiA0cmVtO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNywgMjI4LCAyMTQsIDAuOSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtYmxvY2sgLnJvdyAucm9vbXMtb3ZlcmxheSAucm9vbXMtb3ZlcmxheS1pbmZvIHAsXG4gICAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm93IC5yb29tcy1vdmVybGF5IC5yb29tcy1vdmVybGF5LWluZm8gcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1ibG9jayAucm93IC5yb29tcy1vdmVybGF5OmhvdmVyLFxuICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb3cgLnJvb21zLW92ZXJsYXk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDM1KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1ibG9jayAucm93LFxuICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb3cge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1ibG9jay5sYXJnZS04IC5yb3csXG4gICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrLmxhcmdlLTggLnJvdyB7XG4gICAgICBwYWRkaW5nLXRvcDogNDguODM3MjElOyB9IH1cblxuLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1ibG9jayBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayB7XG4gIHBhZGRpbmctbGVmdDogLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAuMjVyZW07IH1cbiAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb29tcy1pbmZvLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGMEU4REU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5tb2R1bGUtcm9vbXMtZ3JpZCAucm9vbXMtaW5mby1ibG9jayAucm9vbXMtaW5mby13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDNyZW07XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA4My4zNzVlbSkge1xuICAgICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjc1cmVtOyB9XG4gICAgICAgICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIC5yb29tcy1pbmZvLXdyYXBwZXIgLnJvb21zLW92ZXJsYXktaW5mbyB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvb21zLWluZm8td3JhcHBlciAucm9vbXMtb3ZlcmxheS1pbmZvIHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1vZHVsZS1yb29tcy1ncmlkIC5yb29tcy1pbmZvLWJsb2NrIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDMyMHB4OyB9XG4gICAgICAubW9kdWxlLXJvb21zLWdyaWQgLnJvb21zLWluZm8tYmxvY2sgLnJvdyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLnJvb21zLWNhcm91c2VsLXdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiA1cmVtOyB9IH1cbiAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNDI4NTdyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43MTQyOXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYsXG4gICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXJlbSk7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBmb250LXNpemU6IDEuMjE0MjlyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctbGVmdCwgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLXByZXYgc3Bhbi5zbGljay1wcmV2LCAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuY2Fyb3VzZWwtcHJldiBzcGFuLmljb24tYXJyb3ctcmlnaHQsIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHNwYW4uc2xpY2stbmV4dCxcbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHNwYW4uaWNvbi1hcnJvdy1sZWZ0LFxuICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1wcmV2LFxuICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5pY29uLWFycm93LXJpZ2h0LFxuICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLmNhcm91c2VsLW5leHQgc3Bhbi5zbGljay1uZXh0IHtcbiAgICAgICAgY29sb3I6IHJlZDsgfVxuICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1wcmV2IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAuODVyZW0gLjM1cmVtIC43NXJlbSAuMjByZW07XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDsgfVxuICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5jYXJvdXNlbC1uZXh0IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogLjg1cmVtIC4yMHJlbSAuNzVyZW0gLjM1cmVtO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4OyB9XG4gICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3Qge1xuICAgICAgbWFyZ2luOiAwIC0uMjVyZW07IH1cbiAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAuMjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IC4yNXJlbTsgfVxuICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwNC40Mzg2NCU7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgaW1nIHtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm8gc3BhbiB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMS4xcmVtIC42NXJlbTtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogMjAwO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm8gc3BhbiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjE1cmVtIDEuNXJlbSAuNzVyZW07XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm8gLm92ZXJsYXktaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm8gLm92ZXJsYXktaW5mby13cmFwcGVyIC5vdmVybGF5LWluZm8ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm8gLm92ZXJsYXktaW5mby13cmFwcGVyIC5vdmVybGF5LWluZm8gaDIge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjc1cmVtOyB9XG4gICAgICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvIC5vdmVybGF5LWluZm8td3JhcHBlciAub3ZlcmxheS1pbmZvIHAge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbyAub3ZlcmxheS1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3JlbTsgfSB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjQzNzVlbSkge1xuICAgICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbyAub3ZlcmxheS1pbmZvLXdyYXBwZXIgaDIge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbyAub3ZlcmxheS1pbmZvLXdyYXBwZXIgcCB7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS43NTsgfSB9XG4gICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm86aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgMjMyLCAyMjIsIDAuOSk7IH1cbiAgICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvOmhvdmVyIHNwYW4ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAycmVtOyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgICAgICAgIC5yb29tcy1jYXJvdXNlbC13cmFwcGVyIC5vdGhlci1yb29tLWNhcm91c2VsIC5zbGljay1saXN0IC5pdGVtIC5pbWctZmlsbCAuaW5mbzpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gICAgICAgICAgICAgICAgICAucm9vbXMtY2Fyb3VzZWwtd3JhcHBlciAub3RoZXItcm9vbS1jYXJvdXNlbCAuc2xpY2stbGlzdCAuaXRlbSAuaW1nLWZpbGwgLmluZm86aG92ZXIgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAgICAgLnJvb21zLWNhcm91c2VsLXdyYXBwZXIgLm90aGVyLXJvb20tY2Fyb3VzZWwgLnNsaWNrLWxpc3QgLml0ZW0gLmltZy1maWxsIC5pbmZvOmhvdmVyIC5vdmVybGF5LWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cblxuLyogZW5kaW5qZWN0ICovXG5mb290ZXIge1xuICBwYWRkaW5nOiAwIDEuNXJlbSAxLjQyODU3cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS40Mjg1N3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwLjg1NzE0cmVtOyB9IH1cbiAgZm9vdGVyIC5mb290ZXItbGlua3Mge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGZvb3RlciAuZm9vdGVyLWxpbmtzIHtcbiAgICAgICAgbWFyZ2luOiAwLjU3MTQzcmVtIDAgMS43MTQyOXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNDI4NTdyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgZm9vdGVyIC5mb290ZXItbGlua3MgbGkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMTQyODZyZW07IH1cbiAgICAgICAgZm9vdGVyIC5mb290ZXItbGlua3MgYSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgZm9vdGVyIC5mb290ZXItbGlua3Mge1xuICAgICAgICBtYXJnaW46IDEuNDI4NTdyZW0gMCAxLjcxNDI5cmVtOyB9IH1cbiAgICBmb290ZXIgLmZvb3Rlci1saW5rcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgZm9vdGVyIC5mb290ZXItbGlua3MgYSB7XG4gICAgICBjb2xvcjogIzJGMkYyRjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4xcyBlYXNlLWluLW91dDsgfVxuICAgICAgZm9vdGVyIC5mb290ZXItbGlua3MgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZDY0NjI2O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q2NDYyNjsgfVxuICBmb290ZXIgLm1haWxpbmctbGlzdCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogLjc1cmVtOyB9XG4gICAgZm9vdGVyIC5tYWlsaW5nLWxpc3QgI21jX2VtYmVkX3NpZ251cCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgZm9vdGVyIC5tYWlsaW5nLWxpc3QgI21jX2VtYmVkX3NpZ251cCBmb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBmb290ZXIgLm1haWxpbmctbGlzdCAjbWNfZW1iZWRfc2lnbnVwICNtY19lbWJlZF9zaWdudXBfc2Nyb2xsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICBmb290ZXIgLm1haWxpbmctbGlzdCAjbWNfZW1iZWRfc2lnbnVwICNtY19lbWJlZF9zaWdudXBfc2Nyb2xsIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgICBmb290ZXIgLm1haWxpbmctbGlzdCAjbWNfZW1iZWRfc2lnbnVwICNtY19lbWJlZF9zaWdudXBfc2Nyb2xsIC5tYy1maWVsZC1ncm91cCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgICAgZm9vdGVyIC5tYWlsaW5nLWxpc3QgI21jX2VtYmVkX3NpZ251cCAjbWNfZW1iZWRfc2lnbnVwX3Njcm9sbCAuc2ltcGxlLWN0YV9faW5wdXQge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGMEU4REU7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDQlOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgICBmb290ZXIgLm1haWxpbmctbGlzdCAjbWNfZW1iZWRfc2lnbnVwICNtY19lbWJlZF9zaWdudXBfc2Nyb2xsIC5zaW1wbGUtY3RhX19pbnB1dCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGU4ZGU7IH0gfVxuICAgICAgICAgIGZvb3RlciAubWFpbGluZy1saXN0ICNtY19lbWJlZF9zaWdudXAgI21jX2VtYmVkX3NpZ251cF9zY3JvbGwgLnNpbXBsZS1jdGFfX2lucHV0OmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgICAgICBmb290ZXIgLm1haWxpbmctbGlzdCAjbWNfZW1iZWRfc2lnbnVwICNtY19lbWJlZF9zaWdudXBfc2Nyb2xsIC5zaW1wbGUtY3RhX19pbnB1dDpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZThkZTsgfSB9XG4gICAgICAgIGZvb3RlciAubWFpbGluZy1saXN0ICNtY19lbWJlZF9zaWdudXAgI21jX2VtYmVkX3NpZ251cF9zY3JvbGwgLmhlbHBlcl90ZXh0LCBmb290ZXIgLm1haWxpbmctbGlzdCAjbWNfZW1iZWRfc2lnbnVwICNtY19lbWJlZF9zaWdudXBfc2Nyb2xsIC5oZWxwZXJfdGV4dCArIGRpdiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAgICAgICBmb290ZXIgLm1haWxpbmctbGlzdCAjbWNfZW1iZWRfc2lnbnVwICNtY19lbWJlZF9zaWdudXBfc2Nyb2xsIC5zaW1wbGUtY3RhX19idXR0b24ge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkJyYW5kb25Hcm90ZXNxdWVcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBtaW4td2lkdGg6IDE2LjA3MTQzcmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZlZjg7XG4gICAgICAgICAgY29sb3I6ICM0QTRBNEE7XG4gICAgICAgICAgaGVpZ2h0OiAzLjU3MTQzcmVtO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNGMEU4REU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICAgICAgICAgICBmb290ZXIgLm1haWxpbmctbGlzdCAjbWNfZW1iZWRfc2lnbnVwICNtY19lbWJlZF9zaWdudXBfc2Nyb2xsIC5zaW1wbGUtY3RhX19idXR0b24ge1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAgICAgZm9vdGVyIC5tYWlsaW5nLWxpc3QgI21jX2VtYmVkX3NpZ251cCAjbWNfZW1iZWRfc2lnbnVwX3Njcm9sbCAuc2ltcGxlLWN0YV9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgICAgZm9vdGVyIC5tYWlsaW5nLWxpc3QgI21jX2VtYmVkX3NpZ251cCAjbWNfZW1iZWRfc2lnbnVwX3Njcm9sbCAuc2ltcGxlLWN0YV9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I4MzAyMDtcbiAgICAgICAgICAgICAgY29sb3I6ICNmN2YzZWY7IH0gfVxuICAgICAgICAgIGZvb3RlciAubWFpbGluZy1saXN0ICNtY19lbWJlZF9zaWdudXAgI21jX2VtYmVkX3NpZ251cF9zY3JvbGwgLnNpbXBsZS1jdGFfX2J1dHRvbjpob3ZlciwgZm9vdGVyIC5tYWlsaW5nLWxpc3QgI21jX2VtYmVkX3NpZ251cCAjbWNfZW1iZWRfc2lnbnVwX3Njcm9sbCAuc2ltcGxlLWN0YV9fYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiODMwMjA7XG4gICAgICAgICAgICBjb2xvcjogI2Y3ZjNlZjsgfVxuICAgIGZvb3RlciAubWFpbGluZy1saXN0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICBmb290ZXIgLm1haWxpbmctbGlzdCBidXR0b24ge1xuICAgICAgcGFkZGluZzogMS4zNXJlbSAycmVtIC45cmVtO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIGZvb3RlciAubWFpbGluZy1saXN0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjBFOERFO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI0YwRThERTtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIGNvbG9yOiAjNUQ1MjQ3O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBmb290ZXIgLm1haWxpbmctbGlzdCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIGZvb3RlciAubWFpbGluZy1saXN0IGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgZm9vdGVyIC5tYWlsaW5nLWxpc3QgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZlZjg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjRjBFOERFOyB9XG4gICAgZm9vdGVyIC5tYWlsaW5nLWxpc3QgLnN1YnNjcmliZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMS4xNXJlbTtcbiAgICAgIGNvbG9yOiAjNEE0QTRBOyB9XG4gICAgICBmb290ZXIgLm1haWxpbmctbGlzdCAuc3Vic2NyaWJlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmN2YzZWY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBmb290ZXIgLm1haWxpbmctbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNzVyZW07IH0gfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi40XG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4LXZpZGVvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZygkZmxleDogZmFsc2UpIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LXZpZGVvO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlLCBRdWFsaWZ5aW5nRWxlbWVudCwgVmVuZG9yUHJlZml4XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMjE5OWU4LFxuICBzZWNvbmRhcnk6ICM3NzcsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZWM1ODQwLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG5cbi8vIFJlbW92ZSB0aGlzIGluIDYuM1xuJC16Zi1tZW51LWljb24taW1wb3J0ZWQ6IGZhbHNlO1xuJC16Zi1mbGV4LWNsYXNzZXMtaW1wb3J0ZWQ6IGZhbHNlO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSWRTZWxlY3RvclxuICAjbWFwX2NhbnZhcyxcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5cbiAgaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5cbiAgYXJ0aWNsZSxcbiAgYXNpZGUsXG4gIGRldGFpbHMsXG4gIGZpZ2NhcHRpb24sXG4gIGZpZ3VyZSxcbiAgZm9vdGVyLFxuICBoZWFkZXIsXG4gIGhncm91cCxcbiAgbWFpbixcbiAgbWVudSxcbiAgbmF2LFxuICBzZWN0aW9uLFxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuXG4gIGF1ZGlvLFxuICBjYW52YXMsXG4gIHByb2dyZXNzLFxuICB2aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5cbiAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5cbiAgW2hpZGRlbl0sXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cblxuICBhOmFjdGl2ZSxcbiAgYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xuXG4gIG1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuXG4gIHN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGNvZGUsXG4gIGtiZCxcbiAgcHJlLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICAvKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICBidXR0b24ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cblxuICBidXR0b24sXG4gIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5cbiAgYnV0dG9uW2Rpc2FibGVkXSxcbiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cblxuICBpbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXG4gICAqL1xuXG4gIC8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cblxuICBsZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5cbiAgb3B0Z3JvdXAge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG5cbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8qKioqIEZvbnRzICoqKiovXHJcblxyXG5AaW1wb3J0IHVybChcIi8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzU1NDFjXCIpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJ1dpbmRzb3JEJywgJy4uL2ZvbnRzLzM1NTQxQ18wXzAnLCBub3JtYWwsICRmaWxlLWZvcm1hdHM6IGVvdCB0dGYgd29mZiB3b2ZmMik7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgnV2luZHNvckQnLCAnLi4vZm9udHMvMzU1NDFDXzFfMCcsIGJvbGQsICRmaWxlLWZvcm1hdHM6IGVvdCB0dGYgd29mZiB3b2ZmMik7XHJcblxyXG4vKiBAaW1wb3J0IG11c3QgYmUgYXQgdG9wIG9mIGZpbGUsIG90aGVyd2lzZSBDU1Mgd2lsbCBub3Qgd29yayAqL1xyXG5AaW1wb3J0IHVybChcIi8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMzU1NmJjXCIpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJ0JyYW5kb25Hcm90ZXNxdWUnLCAnLi4vZm9udHMvMzU1NkJDXzBfMCcsIG5vcm1hbCwgJGZpbGUtZm9ybWF0czogZW90IHR0ZiB3b2ZmIHdvZmYyKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCdCcmFuZG9uR3JvdGVzcXVlJywgJy4uL2ZvbnRzLzM1NTZCQ18xXzAnLCBib2xkLCAkZmlsZS1mb3JtYXRzOiBlb3QgdHRmIHdvZmYgd29mZjIpO1xyXG5cclxuLy8gSUNPTiBGT05UXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xyXG4gIHNyYzogdXJsKCcuLi9mb250cy9mb250ZWxsby5lb3Q/NjA2NjYxNjcnKTtcclxuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGVsbG8uZW90PzYwNjY2MTY3I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby53b2ZmMj82MDY2NjE2NycpIGZvcm1hdCgnd29mZjInKSxcclxuICAgICAgIHVybCgnLi4vZm9udHMvZm9udGVsbG8ud29mZj82MDY2NjE2NycpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby50dGY/NjA2NjYxNjcnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2ZvbnRlbGxvLnN2Zz82MDY2NjE2NyNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbi8qIENocm9tZSBoYWNrOiBTVkcgaXMgcmVuZGVyZWQgbW9yZSBzbW9vdGggaW4gV2luZG96emUuIDEwMCUgbWFnaWMsIHVuY29tbWVudCBpZiB5b3UgbmVlZCBpdC4gKi9cclxuLyogTm90ZSwgdGhhdCB3aWxsIGJyZWFrIGhpbnRpbmchIEluIG90aGVyIE9TLWVzIGZvbnQgd2lsbCBiZSBub3QgYXMgc2hhcnAgYXMgaXQgY291bGQgYmUgKi9cclxuLypcclxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XHJcbiAgQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcclxuICAgIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLnN2Zz82MDY2NjE2NyNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgfVxyXG59XHJcbiovXHJcbiBcclxuIFtjbGFzc149XCJpY29uLVwiXTpiZWZvcmUsIFtjbGFzcyo9XCIgaWNvbi1cIl06YmVmb3JlLFxyXG4gW2NsYXNzXj1cImZhLVwiXTpiZWZvcmUsIFtjbGFzcyo9XCIgZmEtXCJdOmJlZm9yZSwgW2NsYXNzKj1cIiBmaS1cIl06YmVmb3JlIHtcclxuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIHNwZWFrOiBub25lO1xyXG4gXHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcclxuICB3aWR0aDogMWVtO1xyXG4gIG1hcmdpbi1yaWdodDogLjJlbTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgLyogb3BhY2l0eTogLjg7ICovXHJcbiBcclxuICAvKiBGb3Igc2FmZXR5IC0gcmVzZXQgcGFyZW50IHN0eWxlcywgdGhhdCBjYW4gYnJlYWsgZ2x5cGggY29kZXMqL1xyXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gXHJcbiAgLyogZml4IGJ1dHRvbnMgaGVpZ2h0LCBmb3IgdHdpdHRlciBib290c3RyYXAgKi9cclxuICBsaW5lLWhlaWdodDogMWVtO1xyXG4gXHJcbiAgLyogQW5pbWF0aW9uIGNlbnRlciBjb21wZW5zYXRpb24gLSBtYXJnaW5zIHNob3VsZCBiZSBzeW1tZXRyaWMgKi9cclxuICAvKiByZW1vdmUgaWYgbm90IG5lZWRlZCAqL1xyXG4gIG1hcmdpbi1sZWZ0OiAuMmVtO1xyXG4gXHJcbiAgLyogeW91IGNhbiBiZSBtb3JlIGNvbWZvcnRhYmxlIHdpdGggaW5jcmVhc2VkIGljb25zIHNpemUgKi9cclxuICAvKiBmb250LXNpemU6IDEyMCU7ICovXHJcbiBcclxuICAvKiBGb250IHNtb290aGluZy4gVGhhdCB3YXMgdGFrZW4gZnJvbSBUV0JTICovXHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuIFxyXG4gIC8qIFVuY29tbWVudCBmb3IgM0QgZWZmZWN0ICovXHJcbiAgLyogdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4zKTsgKi9cclxufVxyXG4gXHJcbi5pY29uLWFycm93LWxlZnQ6YmVmb3JlLFxyXG4uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZSwgXHJcbi5maS1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDAnOyB9IC8qICfuoIAnICovXHJcblxyXG4uaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUsXHJcbi5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSxcclxuLmZpLWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDEnOyB9IC8qICfuoIEnICovXHJcblxyXG4uaWNvbi1tZW51OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDInOyB9IC8qICfuoIInICovXHJcbi5pY29uLW1lbnUtY2xvc2U6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMyc7IH0gLyogJ+6ggycgKi9cclxuLmljb24tY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNCc7IH0gLyogJ+6ghCcgKi9cclxuLmljb24tcmVjb3JkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDUnOyB9IC8qICfuoIUnICovXHJcbi5pY29uLWRvd24tb3BlbjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA2JzsgfSAvKiAn7qCGJyAqLyIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9cclxuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAgIDEuIEdsb2JhbFxyXG4vLyAgIDIuIEJyZWFrcG9pbnRzXHJcbi8vICAgMy4gVGhlIEdyaWRcclxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gICA2LiBBYmlkZVxyXG4vLyAgIDcuIEFjY29yZGlvblxyXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XHJcbi8vICAgOS4gQmFkZ2VcclxuLy8gIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAgMTEuIEJ1dHRvblxyXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAgMTMuIENhbGxvdXRcclxuLy8gIDE0LiBDbG9zZSBCdXR0b25cclxuLy8gIDE1LiBEcmlsbGRvd25cclxuLy8gIDE2LiBEcm9wZG93blxyXG4vLyAgMTcuIERyb3Bkb3duIE1lbnVcclxuLy8gIDE4LiBGbGV4IFZpZGVvXHJcbi8vICAxOS4gRm9ybXNcclxuLy8gIDIwLiBMYWJlbFxyXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjIuIE1lbnVcclxuLy8gIDIzLiBNZXRlclxyXG4vLyAgMjQuIE9mZi1jYW52YXNcclxuLy8gIDI1LiBPcmJpdFxyXG4vLyAgMjYuIFBhZ2luYXRpb25cclxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI4LiBSZXZlYWxcclxuLy8gIDI5LiBTbGlkZXJcclxuLy8gIDMwLiBTd2l0Y2hcclxuLy8gIDMxLiBUYWJsZVxyXG4vLyAgMzIuIFRhYnNcclxuLy8gIDMzLiBUaHVtYm5haWxcclxuLy8gIDM0LiBUaXRsZSBCYXJcclxuLy8gIDM1LiBUb29sdGlwXHJcbi8vICAzNi4gVG9wIEJhclxyXG5cclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxNHB4O1xyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxNDAwKTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuXHRwcmltYXJ5OiAjZDkzODI2LFxyXG5cdHNlY29uZGFyeTogIzVhMGUwMCxcclxuXHRzdWNjZXNzOiAjM2FkYjc2LFxyXG5cdHdhcm5pbmc6ICNmZmFlMDAsXHJcblx0YWxlcnQ6ICNlYzU4NDAsXHJcbik7XHJcblxyXG4kcHJvbW8tY29sb3I6ICM0QTRBNEE7XHJcblxyXG4kbGlnaHQtZ3JheTogI2Q5ZGVlMTtcclxuJG1lZGl1bS1ncmF5OiAjYmNiZmMwO1xyXG4kZGFyay1ncmF5OiAjNzc4NjhmO1xyXG4kYmxhY2s6ICMyRjJGMkY7XHJcbiR3aGl0ZTogI2ZmZmZmZjtcclxuJGJvZHktYmFja2dyb3VuZDogI2Y3ZjNlZjtcclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xyXG5cclxuJHRhbi1ib3JkZXItY29sb3I6ICNGMEU4REU7XHJcbiR0YW4tZGFyay1ib3JkZXItY29sb3I6ICNENUM3QjQ7XHJcbiR0YW4tYmFja2dyb3VuZC1jb2xvcjogI2ZmZmVmODtcclxuXHJcbiRhbmNob3ItY29sb3I6ICNFNzREMjg7XHJcblxyXG4kbmF2LWxpbmstY29sb3I6ICM0QTRBNEE7XHJcbiRuYXYtaG92ZXItY29sb3I6ICNkNjQ2MjY7XHJcbiRuYXYtYWN0aXZlLWNvbG9yOiAjQ0U0NDIzO1xyXG5cclxuJGlucHV0LXRleHQtY29sb3I6ICM1RDUyNDc7XHJcblxyXG4kaGFpcmxpbmUtY29sb3I6ICNERURCQ0M7XHJcbiRmb290ZXItdGV4dC1jb2xvcjogIzY4Njg2ODtcclxuXHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnQnJhbmRvbkdyb3Rlc3F1ZScsIHNhbnMtc2VyaWY7XHJcbiRib2R5LWFudGlhbGlhc2VkOiBmYWxzZTtcclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiAyMDA7XHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IDcwMDtcclxuXHJcbiRnbG9iYWwtbWFyZ2luOiByZW0tY2FsYygxNik7XHJcbiRnbG9iYWwtcGFkZGluZzogcmVtLWNhbGMoMzYgMzIpO1xyXG4kZ2xvYmFsLXJhZGl1czogMDtcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xyXG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuXHRzbWFsbDogMCxcclxuXHRtZWRpdW06IDY0MHB4LFxyXG5cdGxhcmdlOiAxMDI0cHgsXHJcblx0eGxhcmdlOiAxMzM1cHgsXHJcblx0eHhsYXJnZTogMTY3MHB4LFxyXG4pO1xyXG5cclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XHJcblxyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAje21hcC1nZXQoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKX07XHJcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XHJcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcclxuXHRzbWFsbDogMjBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogJGJvZHktZm9udC1mYW1pbHk7XHJcblxyXG4kaGVhZGVyLXNpemVzOiAoXHJcblx0c21hbGw6IChcclxuXHRcdCdoMSc6IDI0LFxyXG5cdFx0J2gyJzogMjQsXHJcblx0XHQnaDMnOiAyNCxcclxuXHRcdCdoNCc6IDE4LFxyXG5cdFx0J2g1JzogMTYsXHJcblx0XHQnaDYnOiAxNCxcclxuXHQpLFxyXG5cdG1lZGl1bTogKFxyXG5cdFx0J2gxJzogMzIsXHJcblx0XHQnaDInOiAyNixcclxuXHRcdCdoMyc6IDI2LFxyXG5cdFx0J2g0JzogMjAsXHJcblx0XHQnaDUnOiAxNixcclxuXHRcdCdoNic6IDE0LFxyXG5cdCksXHJcbik7XHJcblxyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6ICg0MC8zMik7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogLjQ1ZW07XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6ICgyOC8xNik7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogKDI0ZW0vMTQpO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcblxyXG4kaHItd2lkdGg6IHJlbS1jYWxjKDExODApO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG5cclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuXHJcbi8vIDYuIEFiaWRlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xyXG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gcmVtLWNhbGMoMTYpO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tcGFkZGluZzogMS4yNWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuXHR0aW55OiAwLjZyZW0sXHJcblx0c21hbGw6IDAuNzVyZW0sXHJcblx0ZGVmYXVsdDogMC45cmVtLFxyXG5cdGxhcmdlOiAxLjI1cmVtLFxyXG4pO1xyXG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcblxyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRidXR0b25ncm91cC1tYXJnaW46IHJlbS1jYWxjKDE2KTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG5cclxuLy8gMTMuIENhbGxvdXRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XHJcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgcmVtLWNhbGMoMTYpIDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiByZW0tY2FsYygxNik7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcblxyXG4vLyAxNS4gRHJpbGxkb3duXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHJcbi8vIDE2LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiByZW0tY2FsYygxNik7XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGRyb3Bkb3duLXNpemVzOiAoXHJcblx0dGlueTogMTAwcHgsXHJcblx0c21hbGw6IDIwMHB4LFxyXG5cdGxhcmdlOiA0MDBweCxcclxuKTtcclxuXHJcbi8vIDE3LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuXHJcbi8vIDE4LiBGbGV4IFZpZGVvXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzO1xyXG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XHJcblxyXG4vLyAxOS4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDI0KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kaW5wdXQtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJHdoaXRlO1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuJGlucHV0LXNoYWRvdzogbm9uZTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogbm9uZTtcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogZGVmYXVsdDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIwLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKTtcclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XHJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjEuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcblxyXG4vLyAyMi4gTWVudVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiByZW0tY2FsYygxNik7XHJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIHJlbS1jYWxjKDE2KTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gMjMuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogcmVtLWNhbGMoMTYpO1xyXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJG1ldGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNC4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcclxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcclxuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XHJcblxyXG4vLyAyNS4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI2LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG5cclxuLy8gMjcuIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiByZW0tY2FsYygxNik7XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjguIFJldmVhbFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHJldmVhbC13aWR0aDogNjAwcHg7XHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDI5LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzMC4gU3dpdGNoXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc3dpdGNoLWhlaWdodDogMnJlbTtcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcblxyXG4vLyAzMS4gVGFibGVcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xyXG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLXN0cmlwZTogZXZlbjtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuXHJcbi8vIDMyLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcclxuJHRhYi1leHBhbmQtbWF4OiA2O1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogcmVtLWNhbGMoMTYpO1xyXG5cclxuLy8gMzMuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzQuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDM1LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDM2LiBUb3AgQmFyXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbWFwOiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbWFwOiBtYXAtcmVtb3ZlKCRtYXAsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRzaXplIGluICRtYXAge1xuICAgICQtemYtc2l6ZTogJHNpemUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtcm93LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIHJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYG51bGxgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW251bGxdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBudWxsKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICRmbGV4OiAxIDEgMHB4O1xuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW251bGxdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2UgYmV0d2VlbiBjb2x1bW5zLCBhZGRlZCBhcyBhIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcuXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgfVxuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IG51bGwge1xuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgfVxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IG51bGwgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGdyaWQgY29sdW1uLiBDb2x1bW5zIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LWdyaWQtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtb3JkZXIoKS4gZmxleC1ncmlkLW9yZGVyKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtb3JkZXIoJG9yZGVyKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgY29sdW1ucyB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtZ3JpZC1yb3ctYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtYWxpZ24oKS4gZmxleC1ncmlkLXJvdy1hbGlnbigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4LCAkeSk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oJHk6IG51bGwpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZmxleC1hbGlnbi1zZWxmKCkuIGZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5KTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVuZG8gbmVnYXRpdmUgbWFyZ2luc1xuICAgIC8vIEZyb20gY29sbGFwc2VkIGNoaWxkXG4gICAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgICAmLmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAucm93IC5jb2x1bW4ucm93LnJvdyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGdyaWQtY29sdW1uLWd1dHRlciwgJC16Zi1zaXplKTtcblxuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIC8vIFJlbW92ZSB0aGVzZSBpbiA2LjNcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmNvbHVtbi5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQbGFjZWhvbGRlckluRXh0ZW5kXG4gICAgQGV4dGVuZCAuY29sdW1uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB8bnVsbH0gJGd1dHRlciBbbnVsbF0gLSBHdXR0ZXIgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIHRoZSBtYXJnaW5zLiBTZXQgdG8gYG51bGxgIHRvIHJlZmVyIHRvIHRoZSByZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncy5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicge1xuICAgICRndXR0ZXI6ICgkLXpmLXplcm8tYnJlYWtwb2ludDogJGd1dHRlcik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKCR2YWx1ZSkgLyAyICogLTE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIHN0cmluZyBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgfVxuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcjogJGd1dHRlcik7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nXG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLidcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJ1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwLiBJZiB0aGUgY29uZmlnIG1hcCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuIElmIHRoZSBjb25maWcgbWFwIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBJbnB1dCBjb25maWcgbWFwLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vIExlZ2FjeSBicmVha3BvaW50IHZhcmlhYmxlc1xuLy8gVGhlc2Ugd2lsbCBiZSByZW1vdmVkIGluIDYuM1xuJHNtYWxsLXVwOiBudWxsO1xuJHNtYWxsLW9ubHk6IG51bGw7XG4kbWVkaXVtLXVwOiBudWxsO1xuJG1lZGl1bS1vbmx5OiBudWxsO1xuJGxhcmdlLXVwOiBudWxsO1xuJGxhcmdlLW9ubHk6IG51bGw7XG4keGxhcmdlLXVwOiBudWxsO1xuJHhsYXJnZS1vbmx5OiBudWxsO1xuJHh4bGFyZ2UtdXA6IG51bGw7XG4keHhsYXJnZS1vbmx5OiBudWxsO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT7igJQ8aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBvZiBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDI0LFxuICAgICdoMic6IDIwLFxuICAgICdoMyc6IDE5LFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE3LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiA0OCxcbiAgICAnaDInOiA0MCxcbiAgICAnaDMnOiAzMSxcbiAgICAnaDQnOiAyNSxcbiAgICAnaDUnOiAyMCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZW9jcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRlci1saW5laGVpZ2h0O1xuXG4gICAgc21hbGwge1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc2l6ZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgICAjeyRoZWFkZXJ9IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuICBcbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIGFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMsIGlmIHRoZSBiYWNrZ3JvdW5kIGlzIGxpZ2h0LlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBmb3JlZ3JvdW5kKCRiYWNrZ3JvdW5kLCAkYnV0dG9uLWNvbG9yLWFsdCwgJGJ1dHRvbi1jb2xvcik7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJHByaW1hcnktY29sb3IsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgY29sb3I6ICRidXR0b24tY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAsICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzLCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDElO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ1NlbGVjdG9yXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1hbHBoYSBbMC4xXSAtIFRyYW5zcGFyZW5jeSBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtYWxwaGE6IDAuMVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWFscGhhKTtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLCAkYm9keS1mb250LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+KAkyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tc2l6ZTogMmVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgI3skeH06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDtcbiAgI3skeX06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw7XG4gIGZvbnQtc2l6ZTogJGNsb3NlYnV0dG9uLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY2xvc2VidXR0b24tbGluZWhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgbWFyZ2luOiAkbWVudS1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zIGFyZSB0YWJsZSBjZWxsIHRvIGFsbG93IGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnRcbiAgPiBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgbGluZSBoZWlnaHQgdG8gbWFrZSB0aGUgaGVpZ2h0IG9mIHRoZSBvdmVyYWxsIGl0ZW0gZWFzaWVyIHRvIGNhbGN1bGF0ZVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICA+IGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbkBtaXhpbiBtZW51LXNpbXBsZSB7XG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IGdldC1zaWRlKCRtZW51LWl0ZW0tcGFkZGluZywgJGdsb2JhbC1yaWdodCk7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHBhZGRpbmcgW2F1dG9dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG5AbWl4aW4gbWVudS1uZXN0ZWQoJG1hcmdpbjogJG1lbnUtbWFyZ2luLW5lc3RlZCkge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xufVxuXG4vLy8gQWRkcyBzdXBwb3J0IGZvciBpY29ucyB0byBNZW51IGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHBvc2l0aW9uIFtzaWRlXSAtIFBvc2l0aW9uaW5nIGZvciBpY29ucy4gQ2FuIGJlIGBzaWRlYCAobGVmdCwgb3IgcmlnaHQgb24gUlRMKSBvciBgdG9wYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgdGhlIHNoYXJlZCBDU1MgYmV0d2VlbiBzaWRlLSBhbmQgdG9wLWFsaWduZWQgaWNvbnMgZnJvbSBiZWluZyBwcmludGVkLiBTZXQgdGhpcyB0byBgZmFsc2VgIGlmIHlvdSdyZSBjYWxsaW5nIHRoZSBtaXhpbiBtdWx0aXBsZSB0aW1lcyBvbiB0aGUgc2FtZSBlbGVtZW50LlxuQG1peGluIG1lbnUtaWNvbnMoJHBvc2l0aW9uOiBzaWRlLCAkYmFzZTogdHJ1ZSkge1xuICBAaWYgJGJhc2Uge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGltZyxcbiAgICAgICAgaSxcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgKyBzcGFuIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBzaWRlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtZW51LWljb24tc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBPcmllbnRhdGlvblxuICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGhcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuXG4gICAgICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBpY29uc1xuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucyh0b3AsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICB9XG5cbiAgLy8gQWxpZ24gY2VudGVyXG4gIC5tZW51LWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICA+IC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtdmlkZW9cbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgNDozIGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSAxNjo5IGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSBwZXJjZW50YWdlIGhlaWdodCB0aGF0IGNhbiBiZSB1c2VkIGFzIHBhZGRpbmcgaW4gYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIGBwYWRkaW5nLWJvdHRvbWAgcGFyYW1ldGVyIG9mIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG5AZnVuY3Rpb24gZmxleC12aWRlbygkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBDcmVhdGVzIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gWyRmbGV4dmlkZW8tcmF0aW9dIC0gUmF0aW8gdG8gdXNlIGZvciB0aGUgY29udGFpbmVyLCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRmbGV4dmlkZW8tcmF0aW8pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRyYXRpbyk7XG4gIG1hcmdpbi1ib3R0b206ICRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSBmbGV4LXZpZGVvO1xuXG4gICAgJi53aWRlc2NyZWVuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbik7XG4gICAgfVxuXG4gICAgJi52aW1lbyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmLm1pZGRsZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgRHVwbGljYXRlUHJvcGVydHlcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCBsZWZ0KSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vICoqKioqKioqKioqKioqKioqKioqKioqXHJcbi8vIFNsaWNrIENhcm91c2VsIFNldHRpbmdzXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4kc2xpY2stZm9udC1wYXRoOiBcIi4uL2ZvbnRzL1wiO1xyXG4kc2xpY2stZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcclxuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4uL2ltYWdlcy9cIjtcclxuJHNsaWNrLWFycm93LWNvbG9yOiAkd2hpdGU7XHJcbiRzbGljay1kb3QtY29sb3I6ICNlMmU1ZTc7XHJcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAjYTNhYmIxO1xyXG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6ICdcXGU4MDAnO1xyXG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6ICdcXGU4MDEnO1xyXG4kc2xpY2stZG90LWNoYXJhY3RlcjogJ1xcZTgwNSc7XHJcbiRzbGljay1kb3Qtc2l6ZTogMjBweDtcclxuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMTtcclxuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDE7XHJcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDE7XHJcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkd2hpdGU7XHJcbiRzbGljay1kb3QtY29sb3I6ICMyRjJGMkY7XHJcblxyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKlxyXG4vLyBNYWduaWZpYyBQb3B1cCBTZXR0aW5nc1xyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cclxuLy8gb3ZlcmxheVxyXG4kbWZwLW92ZXJsYXktY29sb3I6ICAgICAgICAgICAgICAgICAgICMwYjBiMGI7ICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBvdmVybGF5IHNjcmVlblxyXG4kbWZwLW92ZXJsYXktb3BhY2l0eTogICAgICAgICAgICAgICAgIDAuODsgICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGFjaXR5IG9mIG92ZXJsYXkgc2NyZWVuXHJcbiRtZnAtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7IC8vIFNoYWRvdyBvbiBpbWFnZSBvciBpZnJhbWVcclxuXHJcbi8vIHNwYWNpbmdcclxuJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICA4cHg7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGFkZGluZyBmcm9tIGxlZnQgYW5kIGZyb20gcmlnaHQgc2lkZVxyXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcclxuXHJcbiRtZnAtei1pbmRleC1iYXNlOiAgICAgICAgICAgICAgICAgICAgMTA0MDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBCYXNlIHotaW5kZXggb2YgcG9wdXBcclxuXHJcbi8vIGNvbnRyb2xzXHJcbiRtZnAtaW5jbHVkZS1hcnJvd3M6ICAgICAgICAgICAgICAgICAgdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY2x1ZGUgc3R5bGVzIGZvciBuYXYgYXJyb3dzXHJcbiRtZnAtY29udHJvbHMtb3BhY2l0eTogICAgICAgICAgICAgICAgMC42NTsgICAgICAgICAgICAgICAgICAgICAgIC8vIE9wYWNpdHkgb2YgY29udHJvbHNcclxuJG1mcC1jb250cm9scy1jb2xvcjogICAgICAgICAgICAgICAgICAjRkZGOyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY29udHJvbHNcclxuJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I6ICAgICAgICAgICAjM0YzRjNGOyBcdCAgICAgICAgICAgICAgICAgIC8vIEJvcmRlciBjb2xvciBvZiBjb250cm9sc1xyXG4kbWZwLWlubmVyLWNsb3NlLWljb24tY29sb3I6ICAgICAgICAgICMzMzM7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjbG9zZSBidXR0b24gd2hlbiBpbnNpZGVcclxuJG1mcC1jb250cm9scy10ZXh0LWNvbG9yOiAgICAgICAgICAgICAjQ0NDOyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgcHJlbG9hZGVyIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvclxyXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI6ICAgICAgICNGRkY7ICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3ZlciBjb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXHJcbiRtZnAtSUU3c3VwcG9ydDogICAgICAgICAgICAgICAgICAgICAgdHJ1ZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIFZlcnkgYmFzaWMgSUU3IHN1cHBvcnRcclxuXHJcbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcclxuJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlOiAgICAgICAgICAgICB0cnVlOyAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlIElmcmFtZS10eXBlIHBvcHVwc1xyXG4kbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgIDQwcHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJZnJhbWUgcGFkZGluZyB0b3BcclxuJG1mcC1pZnJhbWUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAjMDAwOyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFja2dyb3VuZCBjb2xvciBvZiBpZnJhbWVzXHJcbiRtZnAtaWZyYW1lLW1heC13aWR0aDogICAgICAgICAgICAgICAgOTAwcHg7ICAgICAgICAgICAgICAgICAgICAgIC8vIE1heGltdW0gd2lkdGggb2YgaWZyYW1lc1xyXG4kbWZwLWlmcmFtZS1yYXRpbzogICAgICAgICAgICAgICAgICAgIDkvMTY7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSYXRpbyBvZiBpZnJhbWUgKDkvMTYgPSB3aWRlc2NyZWVuLCAzLzQgPSBzdGFuZGFyZCwgZXRjLilcclxuXHJcbi8vIEltYWdlLXR5cGUgb3B0aW9uc1xyXG4kbWZwLWluY2x1ZGUtaW1hZ2UtdHlwZTogICAgICAgICAgICAgIHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBFbmFibGUgSW1hZ2UtdHlwZSBwb3B1cHNcclxuJG1mcC1pbWFnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xyXG4kbWZwLWltYWdlLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgIDQwcHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbWFnZSBwYWRkaW5nIHRvcFxyXG4kbWZwLWltYWdlLXBhZGRpbmctYm90dG9tOiAgICAgICAgICAgIDQwcHg7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbWFnZSBwYWRkaW5nIGJvdHRvbVxyXG4kbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2U6IHRydWU7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmVzIHBhZGRpbmdzIGZyb20gdG9wIGFuZCBib3R0b21cclxuXHJcbi8vIEltYWdlIGNhcHRpb24gb3B0aW9uc1xyXG4kbWZwLWNhcHRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICNGM0YzRjM7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHRpdGxlIGNvbG9yXHJcbiRtZnAtY2FwdGlvbi1zdWJ0aXRsZS1jb2xvcjogICAgICAgICAgI0JEQkRCRDsgICAgICAgICAgICAgICAgICAgIC8vIENhcHRpb24gc3VidGl0bGUgY29sb3JcclxuXHJcbi8vIEExMXlcclxuJG1mcC11c2UtdmlzdWFsbHloaWRkZW46ICAgICAgICAgICAgICBmYWxzZTtcclxuXHJcbi8vIE1GUCBhZGRpdGlvbmFsXHJcblxyXG4vKipcclxuICogRmFkZS16b29tIGFuaW1hdGlvbiBmb3IgZmlyc3QgZGlhbG9nXHJcbiAqL1xyXG5cclxuLyogc3RhcnQgc3RhdGUgKi9cclxuLm15LW1mcC16b29tLWluIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cclxuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcblx0LW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cclxuXHJcblx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcblx0LW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcblx0LW1zLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuXHQtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG59XHJcblxyXG4vKiBhbmltYXRlIGluICovXHJcbi5teS1tZnAtem9vbS1pbi5tZnAtcmVhZHkge1xyXG5cdG9wYWNpdHk6IDE7XHJcblxyXG5cdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHQtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0LW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0LW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG59XHJcblxyXG4vKiBhbmltYXRlIG91dCAqL1xyXG4ubXktbWZwLXpvb20taW4ubWZwLXJlbW92aW5nIHtcclxuXHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuXHQtbW96LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuXHQtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG5cdC1vLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcblxyXG5cdG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi8qIERhcmsgb3ZlcmxheSwgc3RhcnQgc3RhdGUgKi9cclxuLm15LW1mcC16b29tLWluLm1mcC1iZyB7XHJcblx0b3BhY2l0eTogMDtcclxuXHQtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcclxuXHQtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcclxuXHQtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xyXG59XHJcbi8qIGFuaW1hdGUgaW4gKi9cclxuLm15LW1mcC16b29tLWluLm1mcC1yZWFkeS5tZnAtYmcge1xyXG5cdG9wYWNpdHk6IDAuODtcclxufVxyXG4vKiBhbmltYXRlIG91dCAqL1xyXG4ubXktbWZwLXpvb20taW4ubWZwLXJlbW92aW5nLm1mcC1iZyB7XHJcblx0b3BhY2l0eTogMDtcclxufVxyXG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBmZGF0ZXBpY2tlciB2YXJpYWJsZXMgYW5kIHRoZWlyIGRlZmF1bHRzXG4kZmRhdGVwaWNrZXItdWktcHJpbWFyeTogIzJiYTZjYiAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1jb2xvcjogIzAwMCAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1iZzogI2ZmZiAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1kaXNhYmxlZDogI2VlZSAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1ib3JkZXItY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeTogMC4yICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGZkYXRlcGlja2VyLXVpLWNvbG9yLCAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeSkgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoJGZkYXRlcGlja2VyLXVpLWNvbG9yLCAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeSkgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLWJlZm9yZS1jb2xvcjogI2NjYyAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1vbGQtbmV3LWNvbG9yOiAjOTk5ICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLXRleHQtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItaW5saW5lLXdpZHRoOiAyMjBweCAhZGVmYXVsdDtcblxuLy8gdW5jb21tZW50IGlmIHVzZWQgd2l0aCBmb3VuZGF0aW9uIDUgdG8gZ2V0IGNvbXBhdGlibGUgZGVmYXVsdHMsIHRoYW5rcyBqYW1lc3N0b25lY29cbi8vICRmZGF0ZXBpY2tlci11aS1wcmltYXJ5OiAkcHJpbWFyeS1jb2xvcjtcbi8vICRmZGF0ZXBpY2tlci11aS1iZzogJGYtZHJvcGRvd24tYmc7XG4vLyAkZmRhdGVwaWNrZXItdWktdGV4dC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbi8vICRmZGF0ZXBpY2tlci11aS1kaXNhYmxlZDogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC43KTtcbi8vICRmZGF0ZXBpY2tlci11aS1iZWZvcmUtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4vLyAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeTogMC4yICFkZWZhdWx0O1xuLy8gJGZkYXRlcGlja2VyLXVpLWJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4vLyAkZmRhdGVwaWNrZXItdWktc2hhZG93OiBub25lO1xuLy8gJGZkYXRlcGlja2VyLXVpLWJvcmRlci1yYWRpdXM6IDA7XG4vLyAkZmRhdGVwaWNrZXItdWktYmVmb3JlLWNvbG9yOiBsaWdodGVuKCRmZGF0ZXBpY2tlci11aS10ZXh0LWNvbG9yLCAzMCUpO1xuLy8gJGZkYXRlcGlja2VyLXVpLW9sZC1uZXctY29sb3I6IGxpZ2h0ZW4oJGZkYXRlcGlja2VyLXVpLXRleHQtY29sb3IsIDIwJSk7XG4vLyAkZmRhdGVwaWNrZXItaW5saW5lLXdpZHRoOiAkZi1kcm9wZG93bi1tYXgtd2lkdGg7XG5cbkBtaXhpbiBkYXRlcGlja2VyKCkge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRiYWNrZ3JvdW5kOiAkZmRhdGVwaWNrZXItdWktYmc7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRhdGVwaWNrZXIge1xuXHRkaXNwbGF5OiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBhZGRpbmc6IDRweDtcblx0bWFyZ2luLXRvcDogMXB4O1xuXHRkaXJlY3Rpb246IGx0cjtcblx0Ji5kcm9wZG93bi1tZW51IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0ei1pbmRleDogMTAwMDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdG1pbi13aWR0aDogMTYwcHg7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmRhdGVwaWNrZXItdWktYmc7XG5cdFx0Ym9yZGVyOiAkZmRhdGVwaWNrZXItdWktYm9yZGVyO1xuXG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXJhZGl1cztcblx0XHQtbW96LWJvcmRlci1yYWRpdXM6ICRmZGF0ZXBpY2tlci11aS1ib3JkZXItcmFkaXVzO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRmZGF0ZXBpY2tlci11aS1ib3JkZXItcmFkaXVzO1xuXG5cdFx0LXdlYmtpdC1ib3gtc2hhZG93OiAkZmRhdGVwaWNrZXItdWktc2hhZG93O1xuXHRcdC1tb3otYm94LXNoYWRvdzogJGZkYXRlcGlja2VyLXVpLXNoYWRvdztcblx0XHRib3gtc2hhZG93OiAkZmRhdGVwaWNrZXItdWktc2hhZG93O1xuXG5cdFx0LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHRcdC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nO1xuXHRcdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cblx0XHQqYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG5cdFx0KmJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcblx0XHRjb2xvcjogJGZkYXRlcGlja2VyLXVpLXRleHQtY29sb3I7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdHRoIHsgcGFkZGluZzogNHB4IDVweDsgfVxuXHRcdHRkIHsgcGFkZGluZzogNHB4IDVweDsgfVxuXHR9XG5cdHRhYmxlIHtcblx0XHRib3JkZXI6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHRyIHRkIHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMjMlO1xuXHRcdFx0aGVpZ2h0OiA1NHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDU0cHg7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbjogMSU7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG5cdHRkIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdGJvcmRlcjogMDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0cGFkZGluZzogNHB4IDhweDtcblx0XHRiYWNrZ3JvdW5kOiAkZmRhdGVwaWNrZXItdWktYmc7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdCYuYWN0aXZlLmRheSwgJi5hY3RpdmUueWVhciB7IGJhY2tncm91bmQ6ICRmZGF0ZXBpY2tlci11aS1wcmltYXJ5OyB9XG5cdFx0Ji5vbGQgLCAmLm5ldyB7IGNvbG9yOiAkZmRhdGVwaWNrZXItdWktb2xkLW5ldy1jb2xvcjsgfVxuXHRcdHNwYW4uYWN0aXZlIHsgYmFja2dyb3VuZDogJGZkYXRlcGlja2VyLXVpLXByaW1hcnk7IH1cblx0XHQmLmRheS5kaXNhYmxlZCB7IGNvbG9yOiAkZmRhdGVwaWNrZXItdWktZGlzYWJsZWQ7IH1cblx0XHRzcGFuLm1vbnRoLmRpc2FibGVkLCBzcGFuLnllYXIuZGlzYWJsZWQge1xuXHRcdFx0Y29sb3I6ICRmZGF0ZXBpY2tlci11aS1kaXNhYmxlZDtcblx0XHR9XG5cdH1cblx0dGgge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogMjBweDtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRwYWRkaW5nOiA0cHggOHB4O1xuXHRcdGJhY2tncm91bmQ6ICRmZGF0ZXBpY2tlci11aS1iZztcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Ji5hY3RpdmUuZGF5LCAmLmFjdGl2ZS55ZWFyIHsgYmFja2dyb3VuZDogJGZkYXRlcGlja2VyLXVpLXByaW1hcnk7IH1cblx0XHQmLmRhdGUtc3dpdGNoIHsgd2lkdGg6IDE0NXB4OyB9XG5cdFx0c3Bhbi5hY3RpdmUgeyBiYWNrZ3JvdW5kOiAkZmRhdGVwaWNrZXItdWktcHJpbWFyeTsgfVxuXHR9XG5cdC5jdyB7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdHdpZHRoOiAxMnB4O1xuXHRcdHBhZGRpbmc6IDAgMnB4IDAgNXB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblx0Ji5kYXlzIGRpdi5kYXRlcGlja2VyLWRheXMgeyBkaXNwbGF5OiBibG9jazsgfVxuXHQmLm1vbnRocyBkaXYuZGF0ZXBpY2tlci1tb250aHMgeyBkaXNwbGF5OiBibG9jazsgfVxuXHQmLnllYXJzIGRpdi5kYXRlcGlja2VyLXllYXJzIHsgZGlzcGxheTogYmxvY2s7IH1cblx0dGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQmLmN3IHtcblx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0fVxuXHR0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCB7IGN1cnNvcjogcG9pbnRlcjsgfVxufVxuLmRhdGVwaWNrZXItaW5saW5lIHsgd2lkdGg6ICRmZGF0ZXBpY2tlci1pbmxpbmUtd2lkdGg7IH1cbi5kYXRlcGlja2VyLXJ0bCB7XG5cdGRpcmVjdGlvbjogcnRsO1xuXHR0YWJsZSB0ciB0ZCBzcGFuIHsgZmxvYXQ6IHJpZ2h0OyB9XG59XG4uZGF0ZXBpY2tlci1kcm9wZG93biB7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAkZmRhdGVwaWNrZXItdWktYmVmb3JlLWNvbG9yO1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRmZGF0ZXBpY2tlci11aS1ib3JkZXI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTdweDtcblx0XHRsZWZ0OiA2cHg7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRmZGF0ZXBpY2tlci11aS1iZztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtNnB4O1xuXHRcdGxlZnQ6IDdweDtcblx0fVxufVxuLmRhdGVwaWNrZXI+ZGl2LFxuLmRhdGVwaWNrZXItZHJvcGRvd246OmJlZm9yZSxcbi5kYXRlcGlja2VyLWRyb3Bkb3duOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbi5kYXRlcGlja2VyLWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0zMHB4O1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDE1cHg7XG5cdGhlaWdodDogMzBweDtcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi50YWJsZS1zdHJpcGVkIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLFxuLnRhYmxlLXN0cmlwZWQgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGgge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbiIsIi8qIVxyXG4gKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yayAxLjExLjRcclxuICogaHR0cDovL2pxdWVyeXVpLmNvbVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xyXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXHJcbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcclxuICpcclxuICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2F0ZWdvcnkvdGhlbWluZy9cclxuICovXHJcblxyXG4vKiBMYXlvdXQgaGVscGVyc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLnVpLWhlbHBlci1oaWRkZW4ge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0bWFyZ2luOiAtMXB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cGFkZGluZzogMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0d2lkdGg6IDFweDtcclxufVxyXG4udWktaGVscGVyLXJlc2V0IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDA7XHJcblx0b3V0bGluZTogMDtcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRmb250LXNpemU6IDEwMCU7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcclxuLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7XHJcblx0Y29udGVudDogXCJcIjtcclxuXHRkaXNwbGF5OiB0YWJsZTtcclxuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG59XHJcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xyXG5cdGNsZWFyOiBib3RoO1xyXG59XHJcbi51aS1oZWxwZXItY2xlYXJmaXgge1xyXG5cdG1pbi1oZWlnaHQ6IDA7IC8qIHN1cHBvcnQ6IElFNyAqL1xyXG59XHJcbi51aS1oZWxwZXItemZpeCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTApOyAvKiBzdXBwb3J0OiBJRTggKi9cclxufVxyXG5cclxuLnVpLWZyb250IHtcclxuXHR6LWluZGV4OiAxMDA7XHJcbn1cclxuXHJcblxyXG4vKiBJbnRlcmFjdGlvbiBDdWVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4udWktc3RhdGUtZGlzYWJsZWQge1xyXG5cdGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyogSWNvbnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKiBzdGF0ZXMgYW5kIGltYWdlcyAqL1xyXG4udWktaWNvbiB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0dGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5cclxuXHJcbi8qIE1pc2MgdmlzdWFsc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi8qIE92ZXJsYXlzICovXHJcbi51aS13aWRnZXQtb3ZlcmxheSB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG4iLCIvKiFcclxuICogalF1ZXJ5IFVJIERhdGVwaWNrZXIgMS4xMS40XHJcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cclxuICpcclxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxyXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXHJcbiAqXHJcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2RhdGVwaWNrZXIvI3RoZW1pbmdcclxuICovXHJcbi51aS1kYXRlcGlja2VyIHtcclxuXHR3aWR0aDogMTdlbTtcclxuXHRwYWRkaW5nOiAuMmVtIC4yZW0gMDtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHotaW5kZXg6IDk5OTtcclxufVxyXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nOiAuMmVtIDA7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldixcclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMnB4O1xyXG5cdHdpZHRoOiAxLjhlbTtcclxuXHRoZWlnaHQ6IDEuOGVtO1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIsXHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xyXG5cdHRvcDogMXB4O1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYge1xyXG5cdGxlZnQ6IDJweDtcclxufVxyXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHtcclxuXHRyaWdodDogMnB4O1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIge1xyXG5cdGxlZnQ6IDFweDtcclxufVxyXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHtcclxuXHRyaWdodDogMXB4O1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbixcclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogNTAlO1xyXG5cdG1hcmdpbi1sZWZ0OiAtOHB4O1xyXG5cdHRvcDogNTAlO1xyXG5cdG1hcmdpbi10b3A6IC04cHg7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUge1xyXG5cdG1hcmdpbjogMCAyLjNlbTtcclxuXHRsaW5lLWhlaWdodDogMS44ZW07XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHNlbGVjdCB7XHJcblx0Zm9udC1zaXplOiAxZW07XHJcblx0bWFyZ2luOiAxcHggMDtcclxufVxyXG4udWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCxcclxuLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7XHJcblx0d2lkdGg6IDQ1JTtcclxufVxyXG4udWktZGF0ZXBpY2tlciB0YWJsZSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblx0bWFyZ2luOiAwIDAgLjRlbTtcclxufVxyXG4udWktZGF0ZXBpY2tlciB0aCB7XHJcblx0cGFkZGluZzogLjdlbSAuM2VtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRib3JkZXI6IDA7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXIgdGQge1xyXG5cdGJvcmRlcjogMDtcclxuXHRwYWRkaW5nOiAxcHg7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXIgdGQgc3BhbixcclxuLnVpLWRhdGVwaWNrZXIgdGQgYSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cGFkZGluZzogLjJlbTtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuXHRtYXJnaW46IC43ZW0gMCAwIDA7XHJcblx0cGFkZGluZzogMCAuMmVtO1xyXG5cdGJvcmRlci1sZWZ0OiAwO1xyXG5cdGJvcmRlci1yaWdodDogMDtcclxuXHRib3JkZXItYm90dG9tOiAwO1xyXG59XHJcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcclxuXHRmbG9hdDogcmlnaHQ7XHJcblx0bWFyZ2luOiAuNWVtIC4yZW0gLjRlbTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0cGFkZGluZzogLjJlbSAuNmVtIC4zZW0gLjZlbTtcclxuXHR3aWR0aDogYXV0bztcclxuXHRvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4vKiB3aXRoIG11bHRpcGxlIGNhbGVuZGFycyAqL1xyXG4udWktZGF0ZXBpY2tlci51aS1kYXRlcGlja2VyLW11bHRpIHtcclxuXHR3aWR0aDogYXV0bztcclxufVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAgdGFibGUge1xyXG5cdHdpZHRoOiA5NSU7XHJcblx0bWFyZ2luOiAwIGF1dG8gLjRlbTtcclxufVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcclxuXHR3aWR0aDogNTAlO1xyXG59XHJcbi51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xyXG5cdHdpZHRoOiAzMy4zJTtcclxufVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3VwIHtcclxuXHR3aWR0aDogMjUlO1xyXG59XHJcbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxyXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcclxuXHRib3JkZXItbGVmdC13aWR0aDogMDtcclxufVxyXG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcclxuXHRjbGVhcjogbGVmdDtcclxufVxyXG4udWktZGF0ZXBpY2tlci1yb3ctYnJlYWsge1xyXG5cdGNsZWFyOiBib3RoO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGZvbnQtc2l6ZTogMDtcclxufVxyXG5cclxuLyogUlRMIHN1cHBvcnQgKi9cclxuLnVpLWRhdGVwaWNrZXItcnRsIHtcclxuXHRkaXJlY3Rpb246IHJ0bDtcclxufVxyXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7XHJcblx0cmlnaHQ6IDJweDtcclxuXHRsZWZ0OiBhdXRvO1xyXG59XHJcbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0IHtcclxuXHRsZWZ0OiAycHg7XHJcblx0cmlnaHQ6IGF1dG87XHJcbn1cclxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIge1xyXG5cdHJpZ2h0OiAxcHg7XHJcblx0bGVmdDogYXV0bztcclxufVxyXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dDpob3ZlciB7XHJcblx0bGVmdDogMXB4O1xyXG5cdHJpZ2h0OiBhdXRvO1xyXG59XHJcbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcclxuXHRjbGVhcjogcmlnaHQ7XHJcbn1cclxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcclxuXHRmbG9hdDogbGVmdDtcclxufVxyXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50LFxyXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xyXG5cdGZsb2F0OiByaWdodDtcclxufVxyXG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsXHJcbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcclxuXHRib3JkZXItcmlnaHQtd2lkdGg6IDA7XHJcblx0Ym9yZGVyLWxlZnQtd2lkdGg6IDFweDtcclxufVxyXG4iLCIvKiFcclxuICogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsgMS4xMS40XHJcbiAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cclxuICpcclxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxyXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXHJcbiAqXHJcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2NhdGVnb3J5L3RoZW1pbmcvXHJcbiAqXHJcbiAqIFRvIHZpZXcgYW5kIG1vZGlmeSB0aGlzIHRoZW1lLCB2aXNpdCBodHRwOi8vanF1ZXJ5dWkuY29tL3RoZW1lcm9sbGVyL1xyXG4gKi9cclxuXHJcblxyXG4vKiBDb21wb25lbnQgY29udGFpbmVyc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLnVpLXdpZGdldCB7XHJcblx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cdGZvbnQtc2l6ZTogMS4xZW0vKntmc0RlZmF1bHR9Ki87XHJcblxyXG5cdC51aS13aWRnZXQge1xyXG5cdFx0Zm9udC1zaXplOiAxZW07XHJcblx0fVxyXG5cclxuXHRpbnB1dCxcclxuXHRzZWxlY3QsXHJcblx0dGV4dGFyZWEsXHJcblx0YnV0dG9uIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdH1cclxufVxyXG5cclxuLnVpLXdpZGdldC1jb250ZW50IHtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwuOTQpO1xyXG5cdGNvbG9yOiAjMjIyMjIyLyp7ZmNDb250ZW50fSovO1xyXG5cdGEge1xyXG5cdFx0Y29sb3I6ICMyMjIyMjIvKntmY0NvbnRlbnR9Ki87XHJcblx0fVxyXG59XHJcblxyXG4udWktd2lkZ2V0LWhlYWRlciB7XHJcblx0Ly8gYmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdGNvbG9yOiAkYmxhY2s7XHJcblx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblx0YSB7XHJcblx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdH1cclxufVxyXG5cclxuLyogSW50ZXJhY3Rpb24gc3RhdGVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4udWktc3RhdGUtZGVmYXVsdCxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0LFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCB7XHJcblx0Ym9yZGVyOiAkaW5wdXQtYm9yZGVyO1xyXG5cdGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kO1xyXG5cdGNvbG9yOiAkaW5wdXQtY29sb3I7XHJcbn1cclxuLnVpLXN0YXRlLWRlZmF1bHQgYSxcclxuLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLFxyXG4udWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQge1xyXG5cdGNvbG9yOiAjNTU1NTU1Lyp7ZmNEZWZhdWx0fSovO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4udWktc3RhdGUtaG92ZXIsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3ZlcixcclxuLnVpLXN0YXRlLWZvY3VzLFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMge1xyXG5cdGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcclxuXHRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcclxuXHRjb2xvcjogJGlucHV0LWNvbG9yO1xyXG59XHJcbi51aS1zdGF0ZS1ob3ZlciBhLFxyXG4udWktc3RhdGUtaG92ZXIgYTpob3ZlcixcclxuLnVpLXN0YXRlLWhvdmVyIGE6bGluayxcclxuLnVpLXN0YXRlLWhvdmVyIGE6dmlzaXRlZCxcclxuLnVpLXN0YXRlLWZvY3VzIGEsXHJcbi51aS1zdGF0ZS1mb2N1cyBhOmhvdmVyLFxyXG4udWktc3RhdGUtZm9jdXMgYTpsaW5rLFxyXG4udWktc3RhdGUtZm9jdXMgYTp2aXNpdGVkIHtcclxuXHRjb2xvcjogJGFuY2hvci1jb2xvcjtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLnVpLXN0YXRlLWFjdGl2ZSxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUge1xyXG5cdGJvcmRlcjogc29saWQgMXB4ICRhbmNob3ItY29sb3I7XHJcblx0YmFja2dyb3VuZDogJGFuY2hvci1jb2xvcjtcclxuXHRjb2xvcjogJHdoaXRlO1xyXG59XHJcbi51aS1zdGF0ZS1hY3RpdmUgYSxcclxuLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssXHJcbi51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHtcclxuXHRjb2xvcjogJHdoaXRlO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLnVpLXN0YXRlLWhpZ2hsaWdodCxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQge1xyXG5cdGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcclxuXHRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZDtcclxuXHRjb2xvcjogJGlucHV0LWNvbG9yO1xyXG59XHJcbi51aS1zdGF0ZS1oaWdobGlnaHQgYSxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSxcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHtcclxuXHRjb2xvcjogJGlucHV0LWNvbG9yO1xyXG59XHJcbi51aS1zdGF0ZS1lcnJvcixcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvcixcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjY2QwYTBhLyp7Ym9yZGVyQ29sb3JFcnJvcn0qLztcclxuXHRiYWNrZ3JvdW5kOiAjZmVmMWVjLyp7YmdDb2xvckVycm9yfSovIHVybChcImltYWdlcy91aS1iZ19nbGFzc185NV9mZWYxZWNfMXg0MDAucG5nXCIpLyp7YmdJbWdVcmxFcnJvcn0qLyA1MCUvKntiZ0Vycm9yWFBvc30qLyA1MCUvKntiZ0Vycm9yWVBvc30qLyByZXBlYXQteC8qe2JnRXJyb3JSZXBlYXR9Ki87XHJcblx0Y29sb3I6ICNjZDBhMGEvKntmY0Vycm9yfSovO1xyXG59XHJcbi51aS1zdGF0ZS1lcnJvciBhLFxyXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciBhIHtcclxuXHRjb2xvcjogI2NkMGEwYS8qe2ZjRXJyb3J9Ki87XHJcbn1cclxuLnVpLXN0YXRlLWVycm9yLXRleHQsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCxcclxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHQge1xyXG5cdGNvbG9yOiAjY2QwYTBhLyp7ZmNFcnJvcn0qLztcclxufVxyXG4udWktcHJpb3JpdHktcHJpbWFyeSxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LFxyXG4udWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJpbWFyeSB7XHJcblx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbn1cclxuLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcclxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnkge1xyXG5cdG9wYWNpdHk6IC43O1xyXG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTsgLyogc3VwcG9ydDogSUU4ICovXHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG4udWktc3RhdGUtZGlzYWJsZWQsXHJcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsXHJcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7XHJcblx0b3BhY2l0eTogLjM1O1xyXG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4ICovXHJcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG4udWktc3RhdGUtZGlzYWJsZWQgLnVpLWljb24ge1xyXG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4IC0gU2VlICM2MDU5ICovXHJcbn1cclxuXHJcbi8qIEljb25zXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cclxuLnVpLWljb24ge1xyXG5cdHdpZHRoOiAxNnB4O1xyXG5cdGhlaWdodDogMTZweDtcclxuXHR0ZXh0LWluZGVudDogMDtcclxufVxyXG5cclxuLyogTWlzYyB2aXN1YWxzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyogT3ZlcmxheXMgKi9cclxuLnVpLXdpZGdldC1vdmVybGF5IHtcclxuXHRiYWNrZ3JvdW5kOiAjYWFhYWFhLyp7YmdDb2xvck92ZXJsYXl9Ki8gdXJsKFwiaW1hZ2VzL3VpLWJnX2ZsYXRfMF9hYWFhYWFfNDB4MTAwLnBuZ1wiKS8qe2JnSW1nVXJsT3ZlcmxheX0qLyA1MCUvKntiZ092ZXJsYXlYUG9zfSovIDUwJS8qe2JnT3ZlcmxheVlQb3N9Ki8gcmVwZWF0LXgvKntiZ092ZXJsYXlSZXBlYXR9Ki87XHJcblx0b3BhY2l0eTogLjMvKntvcGFjaXR5T3ZlcmxheX0qLztcclxuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MzApLyp7b3BhY2l0eUZpbHRlck92ZXJsYXl9Ki87IC8qIHN1cHBvcnQ6IElFOCAqL1xyXG59XHJcbi51aS13aWRnZXQtc2hhZG93IHtcclxuXHRtYXJnaW46IC04cHgvKntvZmZzZXRUb3BTaGFkb3d9Ki8gMCAwIC04cHgvKntvZmZzZXRMZWZ0U2hhZG93fSovO1xyXG5cdHBhZGRpbmc6IDhweC8qe3RoaWNrbmVzc1NoYWRvd30qLztcclxuXHRiYWNrZ3JvdW5kOiAjYWFhYWFhLyp7YmdDb2xvclNoYWRvd30qLyB1cmwoXCJpbWFnZXMvdWktYmdfZmxhdF8wX2FhYWFhYV80MHgxMDAucG5nXCIpLyp7YmdJbWdVcmxTaGFkb3d9Ki8gNTAlLyp7YmdTaGFkb3dYUG9zfSovIDUwJS8qe2JnU2hhZG93WVBvc30qLyByZXBlYXQteC8qe2JnU2hhZG93UmVwZWF0fSovO1xyXG5cdG9wYWNpdHk6IC4zLyp7b3BhY2l0eVNoYWRvd30qLztcclxuXHRmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MzApLyp7b3BhY2l0eUZpbHRlclNoYWRvd30qLzsgLyogc3VwcG9ydDogSUU4ICovXHJcbn1cclxuXHJcblxyXG4vKiBDdXN0b20gT3ZlcnJpZGVzXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLWRhdGVwaWNrZXIge1xyXG5cdHdpZHRoOiBhdXRvO1xyXG5cdHBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcclxuXHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG5cdHRhYmxlIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHR0aGVhZCxcclxuXHRcdHRib2R5LFxyXG5cdFx0dGZvb3Qge1xyXG5cdFx0XHRib3JkZXI6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gdGJvZHkge1xyXG5cdFx0Ly8gXHR0cjpudGgtY2hpbGQoZXZlbikge1xyXG5cdFx0Ly8gXHRcdGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHJcblx0XHR0ZCB7XHJcblx0XHRcdHNwYW4sIGEge1xyXG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdFx0Ym9yZGVyOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg4IDEwKSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji51aS1kYXRlcGlja2VyLXRvZGF5LFxyXG5cdFx0XHQmLnVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkge1xyXG5cdFx0XHRcdHNwYW4sIGEge1xyXG5cdFx0XHRcdFx0Ym9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji51aS1kYXRlcGlja2VyLWN1cnJlbnQtZGF5IHtcclxuXHRcdFx0XHRzcGFuLCBhIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHRcdFx0XHRib3JkZXItd2lkdGg6IDJweDtcclxuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC51aS1zdGF0ZS1kZWZhdWx0LFxyXG5cdFx0XHQudWktc3RhdGUtaGlnaGxpZ2h0LFxyXG5cdFx0XHQudWktc3RhdGUtYWN0aXZlIHtcclxuXHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnVpLWRhdGVwaWNrZXItcHJldixcclxuXHQudWktZGF0ZXBpY2tlci1uZXh0IHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdGJvcmRlcjogc29saWQgMXB4ICRibGFjaztcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRvcGFjaXR5OiAwLjg7XHJcblx0XHR9XHJcblxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTZweDtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtMTBweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC51aS1kYXRlcGlja2VyLXByZXYsXHJcblx0LnVpLWRhdGVwaWNrZXItbmV4dCxcclxuXHQudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxyXG5cdC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xyXG5cdFx0dG9wOiAycHg7XHJcblx0fVxyXG5cclxuXHQudWktZGF0ZXBpY2tlci1wcmV2LFxyXG5cdC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIge1xyXG5cdFx0bGVmdDogMnB4O1xyXG5cdH1cclxuXHQudWktZGF0ZXBpY2tlci1uZXh0LFxyXG5cdC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xyXG5cdFx0cmlnaHQ6IDJweDtcclxuXHR9XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbGlnaHRuZXNzIG9mIGAkY29sb3JgLCBhbmQgaWYgaXQgcGFzc2VzIHRoZSBgJHRocmVzaG9sZGAgb2YgbGlnaHRuZXNzLCBpdCByZXR1cm5zIHRoZSBgJHllc2AgY29sb3IuIE90aGVyd2lzZSwgaXQgcmV0dXJucyB0aGUgYCRub2AgY29sb3IuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGR5bmFtaWNhbGx5IG91dHB1dCBhIGZvcmVncm91bmQgY29sb3IgYmFzZWQgb24gYSBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGxpZ2h0bmVzcyBvZi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkeWVzIFskYmxhY2tdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGxpZ2h0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRubyBbJHdoaXRlXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBkYXJrLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNjAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gVGhlICR5ZXMgY29sb3Igb3IgJG5vIGNvbG9yLlxuQGZ1bmN0aW9uIGZvcmVncm91bmQoJGNvbG9yLCAkeWVzOiAkYmxhY2ssICRubzogJHdoaXRlLCAkdGhyZXNob2xkOiA2MCUpIHtcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgJGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWVzO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRubztcbiAgfVxufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgbGlnaHRlciBpZiBpdCdzIGxpZ2h0LCBvciBkYXJrZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCB2YXJpYWJsZSBpbnRvIHRoZSBsZWdhY3kgY29sb3IgdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4gICAgUHJvamVjdFxyXG4gICAgPT09PT09PT09PVxyXG4gICAgRWwgQ29zbWljb1xyXG5cclxuICAgIEF1dGhvclxyXG4gICAgPT09PT09PT09PVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsOCAgLDhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4OCAgODhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4OCAgODhcclxuICAgIGA4YiAgICAgIGRiICAgICAgZDgnICxhZFBQWVliYSwgICA4OCAgODggICAsYWRQUFliYSwgICAsYixkUFBZYmEsXHJcbiAgICAgYDhiICAgIGQ4OGIgICAgZDgnICBcIlwiICAgICBgWTggICA4OCAgODggIGE4XCIgICAgIFwiOGEgIDg4UCcgICAgXCI4YVxyXG4gICAgICBgOGIgIGQ4J2A4YiAgZDgnICAgLGFkUFBQUFA4OCAgIDg4ICA4OCAgOGIgICAgICAgZDggIDg4ICAgICAgIGQ4XHJcbiAgICAgICBgOGJkOCcgIGA4YmQ4JyAgICA4OCwgICAgLDg4ICAgODggIDg4ICBcIjhhLCAgICxhOFwiICA4OGIsICAgLGE4XCJcclxuICAgICAgICAgWVAgICAgICBZUCAgICAgIGBcIjhiYmRQXCJZOFwiICA4OCAgODggICBgXCJZYmJkUFwiJyAgIDg4YFliYmRQXCInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4XCJcclxuXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKipcclxuICogIENvbXBvbmVudHNcclxuICovXHJcblxyXG5AaW1wb3J0XHJcblwiY29tcG9uZW50cy9mb250c1wiLFxyXG5cImNvbXBvbmVudHMvbWl4aW5zXCIsXHJcblwiY29tcG9uZW50cy9zdmdcIixcclxuXCJjb21wb25lbnRzL2Zvcm1zXCIsXHJcblwiY29tcG9uZW50cy9zdWJzY3JpYmVcIjtcclxuXHJcbi8qKioqXHJcbiogIEdsb2JhbCBTdHlsZXNcclxuKi9cclxuXHJcbi5zaXRlLXRpdGxlIHtcclxuICBhIHtcclxuICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDM1LzIzOCk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZWwtY29zbWljby1zbWFsbC5wbmcnKTtcclxuICAgIGJhY2tncm91bmQ6IHtcclxuICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2VsLWNvc21pY28tc21hbGwuc3ZnJyk7XHJcbiAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBzaXplOiBjb250YWluO1xyXG4gICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIH1cclxuICAgIGZvbnQtc2l6ZTogMDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg1Ni8yMzgpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9lbC1jb3NtaWNvLnBuZycpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9lbC1jb3NtaWNvLnN2ZycpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm5vLWJ1bGxldCB7XHJcbiAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEFkZGl0aW9uYWwgcnVsZXMgZm9yIHRoZW1lXHJcblxyXG4vLyBQYWRkaW5nXHJcbiRzbWFsbC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRsYXJnZS1wYWRkaW5nOiByZW0tY2FsYygzMCk7XHJcblxyXG4vLyBNaXhpbnNcclxuQG1peGluIGNyaXN0b2JhbC11cHBlcmNhc2UoJGxldHRlci1zcGFjaW5nOiAycHgpIHtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XHJcbn1cclxuXHJcbi8vIEdsb2JhbCBydWxlc1xyXG4ucm93LWZ1bGwtd2lkdGggeyBtYXgtd2lkdGg6IDEwMCU7IH1cclxuXHJcbmJvZHkge1xyXG4gIGJhY2tncm91bmQ6IHtcclxuICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy1wYXR0ZXJuLnBuZycpO1xyXG4gICAgY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XHJcbiAgfVxyXG5cclxuICBtYWluIHsgXHJcbiAgICBwYWRkaW5nOiAwIDFyZW07IFxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuXHJcbiNwYWdlIHsgbWluLXdpZHRoOiBlbS1jYWxjKDMyMCk7IH1cclxuXHJcbi5zci1vbmx5IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICBtYXJnaW46IHJlbS1jYWxjKC0xKTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGhlaWdodDogcmVtLWNhbGMoMSk7XHJcbiAgd2lkdGg6IHJlbS1jYWxjKDEpO1xyXG4gIGJvcmRlcjogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xyXG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcclxufVxyXG5cclxuQGltcG9ydFxyXG5cIm1vYmlsZS1tZW51XCIsXHJcblwiaGVhZGVyXCIsXHJcblwibGF5b3V0XCIsXHJcblwibW9kdWxlc1wiLFxyXG5cImNvbXBvbmVudHNcIixcclxuXCJ0ZW1wbGF0ZXNcIixcclxuXCJmb290ZXJcIjtcclxuIiwiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmc6ICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncztcbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZ2xvYmFsO1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGZvbnQtdXJsLXByZWZpeGVyYCBpcyBkZXByZWNhdGVkIGFuZCBcIiArXG4gICAgXCJ3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gIEBpZiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3MgPT0gdHJ1ZSB7XG4gICAgQHdhcm4gXCJbQm91cmJvbl0gW0RlcHJlY2F0aW9uXSBgZm9udC1zb3VyY2UtZGVjbGFyYXRpb25gIGlzIGRlcHJlY2F0ZWQgXCIgK1xuICAgIFwiYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiA1LjAuMC5cIjtcbiAgfVxuXG4gICRzcmM6ICgpO1xuXG4gICRmb3JtYXRzLW1hcDogKFxuICAgIGVvdDogICBcIiN7JGZpbGUtcGF0aH0uZW90PyNpZWZpeFwiIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHdvZmYyOiBcIiN7JGZpbGUtcGF0aH0ud29mZjJcIiBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB3b2ZmOiAgXCIjeyRmaWxlLXBhdGh9LndvZmZcIiBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHR0ZjogICBcIiN7JGZpbGUtcGF0aH0udHRmXCIgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgc3ZnOiAgIFwiI3skZmlsZS1wYXRofS5zdmcjI3skZm9udC1mYW1pbHl9XCIgZm9ybWF0KFwic3ZnXCIpXG4gICk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkZm9ybWF0cy1tYXAge1xuICAgIEBpZiBjb250YWlucygkZmlsZS1mb3JtYXRzLCAka2V5KSB7XG4gICAgICAkZmlsZS1wYXRoOiBudGgoJHZhbHVlcywgMSk7XG4gICAgICAkZm9udC1mb3JtYXQ6IG50aCgkdmFsdWVzLCAyKTtcblxuICAgICAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIGZvbnQtdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCB1cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3JjO1xufVxuIiwiW3R5cGU9Y29sb3JdLFxyXG5bdHlwZT1kYXRlXSxcclxuW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxyXG5bdHlwZT1kYXRldGltZV0sXHJcblt0eXBlPWVtYWlsXSxcclxuW3R5cGU9bW9udGhdLFxyXG5bdHlwZT1udW1iZXJdLFxyXG5bdHlwZT1wYXNzd29yZF0sXHJcblt0eXBlPXNlYXJjaF0sXHJcblt0eXBlPXRlbF0sXHJcblt0eXBlPXRleHRdLFxyXG5bdHlwZT10aW1lXSxcclxuW3R5cGU9dXJsXSxcclxuW3R5cGU9d2Vla10sXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG5cdG9wYWNpdHk6IDAuNTU7XHJcblx0cGFkZGluZzogcmVtLWNhbGMoMTYpO1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0dHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcblxyXG5cdEBtZWRpYSAjeyRsYXJnZS11cH0ge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0fVxyXG5cclxuXHQmOnZhbGlkLFxyXG5cdCY6Zm9jdXMge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHR0cmFuc2l0aW9uOiAkZ2xvYmFsLXRyYW5zaXRpb247XHJcblx0fVxyXG5cclxuXHQmW3JlYWRvbmx5XSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxufVxyXG5cclxuaW5wdXQge1xyXG5cdCZbdHlwZT1yYWRpb106bm90KG9sZCkge1xyXG5cdFx0d2lkdGg6IHJlbS1jYWxjKDI0KTtcclxuXHRcdGhlaWdodDogcmVtLWNhbGMoMjQpO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHRcdCsgbGFiZWwge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNik7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XHJcblxyXG5cdFx0XHQmOmJlZm9yZSxcclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR0b3A6IDUwJTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygyNCk7XHJcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygyNCk7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoLTEyKTtcclxuXHRcdFx0XHRib3JkZXI6IHNvbGlkIDFweCAkbGlnaHQtZ3JheTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0ei1pbmRleDogMTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRsZWZ0OiByZW0tY2FsYygxMik7XHJcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDEyKTtcclxuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDEyKTtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygtNik7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC02KTtcclxuXHRcdFx0XHR6LWluZGV4OiAyO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JjpjaGVja2VkIHtcclxuXHRcdFx0KyBsYWJlbCB7XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcblx0cGFkZGluZy1yaWdodDogNjVweDtcclxuXHRiYWNrZ3JvdW5kOiB7XHJcblx0XHQvLyBpbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCA0OSUsICN7JGxpZ2h0LWdyYXl9IDUwJSwgdHJhbnNwYXJlbnQgNTElKSwgc3ZnLWlubGluZShkcm9wZG93bik7XHJcblx0XHRwb3NpdGlvbjogY2FsYygxMDAlICsgMTZweCkgY2VudGVyLCBjYWxjKDEwMCUgKyA0OHB4KSBjZW50ZXI7XHJcblx0XHRzaXplOiAxcHggNDBweCwgMTZweCBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuaW5wdXQuZGF0ZXBpY2tlciB7XHJcblx0YmFja2dyb3VuZDoge1xyXG5cdFx0Ly8gY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xyXG5cdFx0Ly8gaW1hZ2U6IHN2Zy1pbmxpbmUoZGF0ZXBpY2tlcik7XHJcblx0XHRwb3NpdGlvbjogY2FsYygxMDAlIC0gMTZweCk7XHJcblx0XHRzaXplOiBhdXRvIDE0cHg7XHJcblx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHR9XHJcblx0Y29sb3I6ICRibGFjaztcclxufVxyXG5cclxuW3R5cGU9c3VibWl0XSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcblxyXG5cdCY6aG92ZXIsXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTE1JSk7XHJcblx0fVxyXG59XHJcblxyXG5mb3JtIHtcclxuXHQucm93ICsgLnJvdyB7IG1hcmdpbi10b3A6IHJlbS1jYWxjKDE2KSAhaW1wb3J0YW50OyB9XHJcblx0LnNtYWxsLTEyICsgLnNtYWxsLTEyIHsgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTYpOyB9XHJcbn1cclxuXHJcbi5pbnB1dC1ncm91cCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHJcblx0LmlucHV0LWxhYmVsLFxyXG5cdC5pbnB1dC13cmFwcGVyIHtcclxuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdH1cclxuXHJcblx0LmlucHV0LWxhYmVsIHtcclxuXHRcdHdpZHRoOiAxJTtcclxuXHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDI0KTtcclxuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5pbnB1dC13cmFwcGVyIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuI3N1YkZvcm0ge1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0PiAucm93IHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDFyZW07XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMXJlbTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qIEZPUk0gQkxPQ0sgKi9cclxuLm1vZHVsZS1mb3JtIHtcclxuXHRtYXJnaW46IDRyZW0gYXV0bztcclxuXHJcblx0Lm1vZHVsZS1mb3JtLWNvbnRlbnQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHRcdHBhZGRpbmc6IDAgMCAycmVtIDJyZW07XHJcblxyXG5cdFx0cDpmaXJzdC1vZi10eXBlIHtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblx0XHR9XHJcblx0XHRwOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogM3JlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQuZm9ybS13cmFwcGVyIHtcclxuXHRcdG1hcmdpbjogMCBhdXRvIDJyZW07XHJcblx0XHQvL2Zsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICR0YW4tZGFyay1ib3JkZXItY29sb3I7XHJcblxyXG5cdFx0LmZvcm0taW50cm8geyBcclxuXHRcdFx0cGFkZGluZzogMXJlbSAwIC45cmVtO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRhbi1kYXJrLWJvcmRlci1jb2xvcjtcclxuXHJcblx0XHRcdGgzIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDFyZW0gMnJlbTtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRmb250OiB7XHJcblx0XHRcdFx0XHRzaXplOiAxcmVtO1xyXG5cdFx0XHRcdFx0d2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMXJlbTtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHJcblx0XHRmb3JtIHtcclxuXHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdHBhZGRpbmc6IDJyZW07XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47IFx0XHJcblx0XHRcdFxyXG5cdFx0XHRpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XHJcblx0XHRcdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdFx0XHQmOmZvY3VzIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQud3BjZjctZm9ybS1jb250cm9sLXdyYXAge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcblx0XHRcdFx0JjpudGgtb2YtdHlwZShldmVuKSB7XHJcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLm5vdGVzIHsgd2lkdGg6IDEwMCU7IH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDQ5JTsgXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpbnB1dCwgc2VsZWN0IHsgXHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkdGFuLWRhcmstYm9yZGVyLWNvbG9yO1xyXG5cclxuXHRcdFx0XHQmOm50aC1jaGlsZChldmVuKSB7XHJcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5cdFx0XHRcdCY6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdCAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW5wdXQge1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEuMjVyZW0gMXJlbSAwLjlyZW07XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHRcdFx0XHRoZWlnaHQ6IGluaGVyaXQ7XHJcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQmLnN1Ym1pdC1idXR0b24geyBcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7IFxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoZXZlbikge1xyXG5cdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmZvcm0tZGF0ZXBpY2tlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDoge1xyXG5cdFx0XHRcdFx0aW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NhbGVuZGFyLnN2ZycpO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IDk1JSBjZW50ZXI7XHJcblx0XHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRleHRhcmVhIHtcclxuXHRcdFx0XHRjbGVhcjogYm90aDtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiByZW0tY2FsYygxMjBweCk7XHJcblx0XHRcdFx0bWF4LWhlaWdodDogcmVtLWNhbGMoMjQ1cHgpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDJyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC53cGNmNy1tYWlsLXNlbnQtb2sge1xyXG5cdFx0XHRcdGNsZWFyOiBib3RoO1xyXG5cdFx0XHRcdHBhZGRpbmc6IHtcclxuXHRcdFx0XHRcdHRvcDogMnJlbTtcclxuXHRcdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdC8vIFx0ZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNHJlbTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIvLyBBZGRpdGlvbmFsIG5vbi1Gb3VuZGF0aW9uIHZhcmlhYmxlcztcclxuXHJcbiRzZWN0aW9uU3BhY2luZzogNjRweDtcclxuJHNlY3Rpb25TcGFjaW5nTW9iaWxlOjMycHg7XHJcblxyXG4kcm93R3V0dGVyTW9iaWxlOiAzMnB4O1xyXG4kcm93R3V0dGVyVGFibGV0OiA2NHB4O1xyXG4kcm93R3V0dGVyOiA0MHB4O1xyXG5cclxuJGZvb3Rlci1iZzogJHdoaXRlO1xyXG5cclxuJGdsb2JhbC10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7IiwiLnN1YnNjcmliZS1mb3JtIHtcclxuXHRpbnB1dCB7XHJcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcclxuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE2IDIwKTtcclxuXHJcblx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdFt0eXBlPWVtYWlsXSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblx0XHRib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cclxuXHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjo6cGxhY2Vob2xkZXIge1xyXG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0XHR9XHJcblx0fVxyXG5cdFt0eXBlPXN1Ym1pdF0uYnV0dG9uIHtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTYgMjApO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHJcblx0QG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcclxuXHRcdC5pbnB1dC1ncm91cCxcclxuXHRcdC5pbnB1dC1ncm91cC1maWVsZCxcclxuXHRcdC5pbnB1dC1ncm91cC1idXR0b24geyBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuXHRcdC5pbnB1dC1ncm91cC1maWVsZCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuXHRcdH1cclxuXHJcblx0XHQuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRpbnB1dFt0eXBlPXN1Ym1pdF0ge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLy8gLyoqKipcclxuLy8gICogIE1vYmlsZSBNZW51XHJcbi8vICAqICA9PT09PT09PT09PT09PT09PT1cclxuLy8gICovXHJcblxyXG4ubW9iaWxlLW1lbnUge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR6LWluZGV4OiAxMjU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDB2aDtcclxuXHRtaW4taGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcblx0b3ZlcmZsb3cteTpzY3JvbGw7XHJcblx0b3ZlcmZsb3cteDpoaWRkZW47XHJcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNDMsIDQzLCAwLjk1KTtcclxuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTYpO1xyXG5cclxuXHQubW9iaWxlLXNpdGUtYnJhbmRpbmcge1xyXG5cdFx0d2lkdGg6IDYwJTtcclxuXHRcdG1heC13aWR0aDogMjM4cHg7XHJcblx0XHRtYXJnaW46IDEuMTByZW0gMCAwIDAuMjVyZW07XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTMuMTc3KTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdH1cclxuXHJcblx0Ji5pcy1vcGVuIHtcclxuXHRcdC8vIE92ZXJsYXkgbmF2aWdhdGlvblxyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0Lm1vYmlsZS1zaXRlLWJyYW5kaW5nIHtcclxuXHRcdFx0ei1pbmRleDogMTI2O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bGkge1xyXG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTVweCAwIDhweCk7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwgLjI1KTtcclxuXHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTBweCk7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwgLjI1KTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLy8gQ1NTIHJ1bGVzIGZvciBBdXN0aW4gTW90ZWwncyBoZWFkZXJcclxuLmhlYWRlci1jYXJvdXNlbC13cmFwcGVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8vIFBST01PVElPTlNcclxuLmhlYWRlci1wcm9tby1iYW5uZXIge1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIGxldHRlci1zcGFjaW5nOiAuNnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkdGFuLWJhY2tncm91bmQtY29sb3IsIC44Nik7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjAyNSk7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTtcclxuXHRcclxuXHRzcGFuLGEgeyBcclxuXHRcdGZvbnQtc2l6ZTogMS4xNXJlbTsgXHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHR9XHJcblxyXG5cdHNwYW4geyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XHJcbn1cclxuXHJcbi8vIFBST01PIEJBTk5FUlxyXG4uaGVhZGVyLXByb21vLWJhbm5lciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHotaW5kZXg6IDI5O1xyXG5cclxuXHRwYWRkaW5nOiByZW0tY2FsYygxNiAwIDEwKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdGEgeyBjb2xvcjogI2Q2NDYyNjsgfVxyXG59XHJcblxyXG4vLyBTSVRFIEhFQURFUlxyXG4uc2l0ZS1oZWFkZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcclxuXHRtaW4taGVpZ2h0OiByZW0tY2FsYyg4Nyk7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xyXG5cdH1cclxuXHJcblx0LmhvbWUgJiB7XHJcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdH1cclxuXHJcblx0Lm1vYmlsZS1ib29rLW5vdyB7XHJcblx0XHRAaW5jbHVkZSBjcmlzdG9iYWwtdXBwZXJjYXNlO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdG1hcmdpbjogKCRzbWFsbC1wYWRkaW5nICogMC44NSkgJHNtYWxsLXBhZGRpbmcgMDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAoJHNtYWxsLXBhZGRpbmcgKiAwLjYpO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRoYWlybGluZS1jb2xvcjtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0YTpsaW5rLCBhOnZpc2l0ZWQge1xyXG5cdFx0XHRjb2xvcjogJG5hdi1saW5rLWNvbG9yO1xyXG5cdFx0fVxyXG5cclxuXHRcdGE6aG92ZXIsIGE6YWN0aXZlIHtcclxuXHRcdFx0Y29sb3I6ICRuYXYtaG92ZXItY29sb3I7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBMT0dPXHJcblx0LnNpdGUtYnJhbmRpbmcge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRtYXJnaW46IDEuMjVyZW0gMS4yNXJlbSAwIDA7XHJcblx0XHR3aWR0aDogNTYlO1xyXG5cdFx0bWF4LXdpZHRoOiAyMzhweDtcclxuXHRcdHotaW5kZXg6IDExNTtcclxuXHJcblx0XHQuc2l0ZS10aXRsZSB7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHQgICAgYSB7IHBhZGRpbmctdG9wOiAyMCU7IH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMzQwKTtcclxuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAzMCU7XHJcblx0XHRcdGxlZnQ6IDUwJTsgLy8gYWRkZWQgaW4gdG8gY29tcGVuc2F0ZSBmb3IgbWlzc2luZyBcIm9mZmVyc1wiIG5hdiBpdGVtXHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xyXG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMzA4KTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcclxuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDIzOCk7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHsgXHJcblx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRcdHRvcDogNTAlOyBcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UgdXApIHsgXHJcblx0XHRcdHdpZHRoOiByZW0tY2FsYygyODApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHJcblx0Ly8gTkFWSUdBVElPTlxyXG5cdC5tYWluLW5hdmlnYXRpb24ge1xyXG5cdFx0Ly8gTW9iaWxlIHRvZ2dsZSBwb3NpdGlvbmluZ1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDgwKSBhdXRvIDA7XHJcblx0XHRcdHdpZHRoOiA5MCU7XHJcblx0XHRcdGZsb2F0OiBub25lOyAvLyBhbGxvdyBmb3IgZGVza3RvcCBhbGlnbm1lbnRcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDMzKSBhdXRvIDA7XHJcblx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMTI5Mik7XHJcblx0XHRcdHdpZHRoOiByZW0tY2FsYygxMjkyKTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiByZW0tY2FsYygxMzUwKTtcclxuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDEzNTApO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIE5BVklHQVRJT04gV1JBUFBFUlxyXG5cdFx0Lm5hdi13cmFwcGVyIHtcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRcdFxyXG5cdFx0XHRhIHsgXHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7IFxyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAuMXMgZWFzZS1pbi1vdXQsIGJvcmRlciAuMXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0JjpsaW5rLCAmOnZpc2l0ZWQgeyBjb2xvcjogJG5hdi1saW5rLWNvbG9yOyB9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Jjpob3ZlciwgJjphY3RpdmUsIHsgXHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogLjA1cmVtOyAvLyBhZGRlZCBpbiBmb3IgdGhlIHRleHRhIHR5cGVmYWNlIHVwZGF0ZVxyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuYXYtaG92ZXItY29sb3I7XHJcblx0XHRcdFx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjsgXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0XHRcdFx0YTpsaW5rLCBhOnZpc2l0ZWQgeyBjb2xvcjogJG5hdi1saW5rLWNvbG9yOyB9XHJcblx0XHRcdFx0XHRhOmhvdmVyLCBhOmFjdGl2ZSB7IGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yOyB9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY3VycmVudC1wYWdlLWFuY2VzdG9yIHtcclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAuMDVyZW07IC8vIGFkZGVkIGluIGZvciB0aGUgdGV4dGEgdHlwZWZhY2UgdXBkYXRlXHJcblxyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuYXYtaG92ZXItY29sb3I7XHJcblx0XHRcdFx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjsgXHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJG5hdi1hY3RpdmUtY29sb3I7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdD4gdWwge1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg4MCkgMCAwO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGNyaXN0b2JhbC11cHBlcmNhc2U7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTQpO1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0ei1pbmRleDogMTEwO1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdFx0XHRcdC8vIENhbmNlbCBvdmVybGF5IG5hdmlnYXRpb24gLSBETyBOT1QgUkVNT1ZFXHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygyMik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQ+IGxpIHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcclxuXHJcblx0XHRcdFx0XHQmOm50aC1sYXN0LW9mLXR5cGUoMikge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHR9XHRcclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjogMCByZW0tY2FsYygxMykgcmVtLWNhbGMoMyk7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IFxyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgcmVtLWNhbGMoMTMpIHJlbS1jYWxjKDMpO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdG1hcmdpbjoge1xyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDE1KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgcmVtLWNhbGMoMTMpO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmLmJvb2stbm93LWJ1dHRvbiB7IFxyXG5cdFx0XHRcdFx0XHRtYXJnaW46IHtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHRcdHJpZ2h0OiAwOyBcclxuXHRcdFx0XHRcdFx0XHRib3R0b206IDA7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDAuNzVyZW07XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiBub25lO1xyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0fSBcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7IGJvcmRlci10b3A6IDA7IH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdD4gZGl2IHsgbWFyZ2luLXRvcDogMS41cmVtOyB9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5uYXYtZm9vdGVyLWxpbmtzIHtcclxuXHRcdFx0XHRtYXJnaW46IDEuMTVyZW0gLjVyZW0gMS41cmVtIDEuNXJlbTtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG5cclxuXHRcdFx0XHRsaSB7IFxyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lOyBcclxuXHJcblx0XHRcdFx0XHQmOmxhc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHNwYW4geyBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0XHRcdHdpZHRoOiAyNTVweDtcclxuXHRcdFx0XHRcdG1hcmdpbjoge1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdFx0XHRyaWdodDogYXV0bztcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiAuNXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdFx0XHRcdFx0bGkgeyBcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0XHQmOm50aC1jaGlsZCg0KXsgbWFyZ2luLXJpZ2h0OiAwOyB9IFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gV0hFTiBNT0JJTEUgTUVOVSBJUyBPUEVOXHJcblx0XHRcdCYuaXMtb3BlbiB7XHJcblx0XHRcdFx0dWwge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0XHRcdFx0YSB7IGNvbG9yOiAkd2hpdGU7IH1cclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0bGkgeyBcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlOyBcclxuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdFx0Lm5hdi1mb290ZXItbGlua3Mge1xyXG5cdFx0XHRcdFx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyBDTE9TRSBCVVRUT05cclxuXHRcdFx0XHQubWVudS1jbG9zZS1idXR0b24geyBcclxuXHRcdFx0XHRcdG1hcmdpbjoge1xyXG5cdFx0XHRcdFx0XHR0b3A6IDEuMnJlbTtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IDFyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHRcdHotaW5kZXg6IDEyNjtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDFyZW0gMS41cmVtIDAuOHJlbTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrOyBcclxuXHRcdFx0XHRcdG91dGxpbmU6IG5vbmU7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcuNSk7XHJcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cclxuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcclxuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRcdFxyXG5cdFx0XHRcdFx0Lmljb24tbWVudS1jbG9zZSB7IFxyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4xNXJlbTtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IC0wLjM1cmVtO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gTU9CSUxFIENMT1NFIEJVVFRPTlxyXG5cdFx0XHQubWVudS1jbG9zZS1idXR0b24ge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkgeyB3aWR0aDogMTAwJTsgfVxyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBcclxuXHRcdFx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDg1NCk7XHJcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDg1NCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7IFxyXG5cdFx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMTI5Mik7XHJcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDEyOTIpO1xyXG5cclxuXHRcdFx0XHRsaTpmaXJzdC1jaGlsZCB7IG1hcmdpbi1sZWZ0OiAtMy40NXJlbTsgfVxyXG5cclxuXHRcdFx0XHQvLyBTcGFjaW5nIHRvIGFsbG93IGZvciBuYXYgZ2FwIGZvciBjZW50ZXIgbG9nbyBwbGFjZW1lbnRcclxuXHRcdFx0XHRsaTpudGgtY2hpbGQoMykgeyBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDI5Mik7IH1cclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7IFxyXG5cdFx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMTM1MCk7XHJcblx0XHRcdFx0d2lkdGg6IHJlbS1jYWxjKDEzNTApOyBcclxuXHJcblx0XHRcdFx0Ly8gU3BhY2luZyB0byBhbGxvdyBmb3IgbmF2IGdhcCBmb3IgY2VudGVyIGxvZ28gcGxhY2VtZW50XHJcblx0XHRcdFx0Ly9saTpmaXJzdC1jaGlsZCB7IG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNzEuNSk7IH1cclxuXHRcdFx0XHRsaTpmaXJzdC1jaGlsZCB7IG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNTcuNSk7IH1cclxuXHRcdFx0XHRsaTpudGgtY2hpbGQoMykgeyBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMyMCk7IH1cclxuXHJcblx0XHRcdFx0LnRvcC1sZXZlbCB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8vIEJPT0sgTk9XIEJVVFRPTlxyXG5cdFx0XHQuYm9vay1ub3ctYnV0dG9uIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcclxuXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0XHRcdFx0Jjpob3ZlciwgXHJcblx0XHRcdFx0XHQmOmFjdGl2ZSxcclxuXHRcdFx0XHRcdCY6Zm9jdXMgeyBjb2xvcjogJHdoaXRlOyB9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblxyXG5cdFx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJ1dHRvbigpO1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IHJlbS1jYWxjKDUwKTtcclxuXHRcdFx0XHRcdFx0Ym90dG9tOiByZW0tY2FsYygxMik7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDEuNzVyZW0gMCAwIC4xNXJlbTsgLy8gYWRkZWQgaW4gZm9yIHRoZSB0ZXh0YSBmb250IHVwZGF0ZVxyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDgwcHg7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiA4MHB4O1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDBweCAxLjVweCA3cHggcmdiYSgwLDAsMCwuMSk7XHJcblx0XHRcdFx0XHRcdHotaW5kZXg6IDUwO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTsgXHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvLyBNT0JJTEUgTUVOVSBUT0dHTEUgQlVUVE9OXHJcblx0XHQubWVudS10b2dnbGUge1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMTcpIDAgMDtcclxuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTIuNSAxMCAxNCAxNik7XHJcblxyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkbmF2LWxpbmstY29sb3I7XHJcblx0XHRcdG91dGxpbmU6IG5vbmU7XHJcblx0XHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcclxuXHRcdFx0QGluY2x1ZGUgY3Jpc3RvYmFsLXVwcGVyY2FzZTtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG5cdFx0XHRcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lmljb24tbWVudSB7IFxyXG5cdFx0XHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHRvcDogMnB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMS40NXJlbTtcclxuXHRcdCAgICBcdGxpbmUtaGVpZ2h0OiAwO1xyXG5cdFx0ICBcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIFNFQ09OREFSWSBIRUFERVJcclxuLnNlY29uZGFyeS1oZWFkZXItd3JhcHBlciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlOyBcclxuXHRtYXJnaW4tYm90dG9tOiAzLjc1cmVtO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxuXHJcblx0Ji5zaW5nbGUtYmxvZy1wb3N0IHtcclxuXHRcdC5oZWFkZXItY2Fyb3VzZWwgeyBcclxuXHRcdFx0aGVpZ2h0OiA1NXZoOyBcclxuXHJcblx0XHRcdC5pbWctZmlsbCB7IGhlaWdodDogNTV2aDsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gU1VCIE5BVklHQVRJT05cclxuXHQuc3ViLW5hdi1yZWxhdGl2ZSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0LnN1Yi1uYXZpZ2F0aW9uIHsgbWFyZ2luLWJvdHRvbTogMDt9XHJcblx0fVxyXG5cclxuXHQuc3ViLW5hdmlnYXRpb24ge1xyXG5cdFx0cGFkZGluZzogLjk1cmVtIDAgLjc1cmVtO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7IFxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR6LWluZGV4OiAxO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0YW4tYmFja2dyb3VuZC1jb2xvciwgLjcyKTtcclxuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTtcclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcblx0XHRcdFx0Jjpob3ZlciwgJjphY3RpdmUsIHsgXHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJG5hdi1ob3Zlci1jb2xvcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7IFxyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHR1bCB7IFxyXG5cdFx0XHRAaW5jbHVkZSBtZW51LXNpbXBsZTsgXHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdG1hcmdpbjogMCAuNjVyZW0gLjVyZW07XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7IG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuXHJcblx0XHRcdFx0YSB7IFxyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IC45cmVtO1xyXG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IC41cHg7XHJcblxyXG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkOyBcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIC4xcyBlYXNlLWluLW91dCwgYm9yZGVyIC4xcyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0Jjpob3ZlciwgJjphY3RpdmUsIHsgXHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yOyBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNSk7XHJcblxyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdGEgeyBwYWRkaW5nLWJvdHRvbTogLjc1cmVtOyB9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmN1cnJlbnRfcGFnZV9pdGVtIHtcclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRuYXYtaG92ZXItY29sb3I7XHJcblx0XHRcdFx0Y29sb3I6ICRuYXYtaG92ZXItY29sb3I7IFxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcblx0XHRcdFx0XHRjb2xvcjogJG5hdi1hY3RpdmUtY29sb3I7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmJsb2NrLXN1Yi1uYXYge1xyXG5cdFx0LnN1Yi1uYXZpZ2F0aW9uIHtcclxuXHRcdFx0cGFkZGluZzogLjlyZW0gMCAuODVyZW07XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICR0YW4tYm9yZGVyLWNvbG9yO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGFuLWJvcmRlci1jb2xvcjtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuXHRcdFx0XHRcdCYuYWN0aXZlLFxyXG5cdFx0XHRcdFx0Jjpob3ZlciwgJjphY3RpdmUsIHsgXHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkbmF2LWhvdmVyLWNvbG9yO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufSIsIkBtaXhpbiBpY29uLWZvbnQge1xyXG5cdGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xyXG5cdHNwZWFrOiBub25lO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuXHQvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cclxuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBwYWRkaW5nXHJcbkBtaXhpbiB2ZXJ0LXBhZGRpbmcoJHNwYWNpbmcpIHtcclxuXHRwYWRkaW5nOiB7XHJcblx0XHR0b3A6JHNwYWNpbmc7XHJcblx0XHRib3R0b206JHNwYWNpbmc7XHJcblx0fVxyXG59XHJcblxyXG4vLyBIb3Jpem9udGFsIHBhZGRpbmdcclxuQG1peGluIGhvcml6LXBhZGRpbmcoJHNwYWNpbmcpIHtcclxuXHRwYWRkaW5nOiB7XHJcblx0XHRsZWZ0OiRzcGFjaW5nO1xyXG5cdFx0cmlnaHQ6JHNwYWNpbmc7XHJcblx0fVxyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBtYXJnaW5cclxuQG1peGluIHZlcnQtbWFyZ2luKCRzcGFjaW5nKSB7XHJcblx0bWFyZ2luOiB7XHJcblx0XHR0b3A6JHNwYWNpbmc7XHJcblx0XHRib3R0b206JHNwYWNpbmc7XHJcblx0fVxyXG59XHJcblxyXG4vLyBIb3Jpem9udGFsIG1hcmdpblxyXG5AbWl4aW4gaG9yaXotbWFyZ2luKCRzcGFjaW5nKSB7XHJcblx0bWFyZ2luOiB7XHJcblx0XHRsZWZ0OiRzcGFjaW5nO1xyXG5cdFx0cmlnaHQ6JHNwYWNpbmc7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgICAgLW1zLWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG59IiwiLy8gQ09OVFJPTCBTRVRUSU5HU1xyXG5tYWluIHtcclxuXHRwLCBzcGFuIHsgIFxyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7IFxyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IC4wMTVyZW07XHJcblx0XHRsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xyXG5cdFx0cCB7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cclxuXHR9XHJcblxyXG5cdC5jb250ZW50LXdyYXBwZXIgeyBcclxuXHRcdG1hcmdpbjoge1xyXG5cdFx0XHRsZWZ0OiBhdXRvO1xyXG5cdFx0XHRyaWdodDogYXV0bztcclxuXHRcdH1cclxuXHRcdG1heC13aWR0aDogMTI4MHB4OyBcclxuXHRcdFxyXG5cdFx0YSB7XHJcblx0XHRcdGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAuMjVzIGVhc2UtaW4tb3V0O1xyXG5cclxuXHRcdFx0Jjpob3ZlcixcclxuXHRcdFx0JjphY3RpdmUge1xyXG5cdFx0XHRcdGNvbG9yOiAkbmF2LWFjdGl2ZS1jb2xvcjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5yZWctYnV0dG9uIHsgY29sb3I6ICR3aGl0ZTsgfVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gRklYIEZPUiBGb3VuZGF0aW9uIGZsb2F0IHJpZ2h0IC0gd2FzIGNhdXNpbmcgb3ZlcmZsb3cgaXNzdWVzXHJcbi5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgXHJcbi5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4vLyBBTFRFUk5BVEUgQ09OVEVOVCBCTE9DS1NcclxuLmFsdGVybmF0aW5nLXJvd3M6bm90KC5pbnZlcnNlKSB7XHJcblx0LmZlYXR1cmVkLXBvc3Q6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHRcdC5mZWF0dXJlZC1wb3N0LWltYWdlIHtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRleHQtaW1hZ2UtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHRcdC5pbWFnZS1ibG9jayB7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnJvdyAucm93IHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxyXG5cclxuLy8gRk9STSBTRVRUSU5HUyBcclxuc2VsZWN0IHtcclxuXHRwYWRkaW5nOiB7XHJcblx0XHR0b3A6IDEuMzVyZW07XHJcblx0XHRyaWdodDogMXJlbTtcclxuXHRcdGJvdHRvbTogMC44cmVtO1xyXG5cdH1cclxuXHRsaW5lLWhlaWdodDogMS41cmVtO1xyXG5cdGJhY2tncm91bmQ6IHtcclxuXHRcdGltYWdlOiB1cmwoJy4uL2ltYWdlcy9kb3duLWFycm93LnN2ZycpO1xyXG5cdFx0cG9zaXRpb246IDEwMCUgNDAlO1xyXG5cdFx0cmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRzaXplOiAxNnB4IDExcHg7XHJcblx0fVxyXG5cdFxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0cGFkZGluZy10b3A6MS4xNXJlbTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyBNSVNDIFNFVFRJTkdTXHJcbi5wYWdlLXRpdGxlIHsgXHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICR0YW4tYm9yZGVyLWNvbG9yO1xyXG5cdHBhZGRpbmctdG9wOiAycmVtOyBcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRwYWRkaW5nLXRvcDogM3JlbTsgXHJcblx0XHRtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxufVxyXG5cclxuLmNlbnRlcmVkIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcblxyXG4uYm9yZGVyLXRvcCB7IFxyXG5cdHBhZGRpbmctdG9wOiAycmVtO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTsgXHJcblx0XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcblx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cdFx0cGFkZGluZy10b3A6IDNyZW07XHJcblx0fVxyXG59XHJcbi5uby1wYWRkaW5nIHsgcGFkZGluZzogMDsgfVxyXG5cclxuLmFsdGVybmF0ZSB7IGZsb2F0OiByaWdodDsgfVxyXG5cclxuXHJcbi8vIEJVVFRPTlNcclxuLnJlZy1idXR0b24sIC5sZWFybi1tb3JlLWJ1dHRvbixcclxuLnNvbGlkLWJnLWJ1dHRvbiwgLnN1Ym1pdC1idXR0b24ge1xyXG5cdHBhZGRpbmc6IDEuMzVyZW0gMS42NXJlbSAxLjFyZW07XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGZvbnQ6IHtcclxuXHRcdHNpemU6IHJlbS1jYWxjKDE0cHgpO1xyXG5cdFx0d2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cdH1cclxuXHRsaW5lLWhlaWdodDogMXJlbTtcclxuXHR0cmFuc2l0aW9uOiBjb2xvciAuMjVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRwYWRkaW5nOiAxLjQ1cmVtIDEuNjVyZW0gMS4xNXJlbTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMC41cHgpO1xyXG5cdH1cclxufVxyXG5cclxuLnJlZy1idXR0b24sXHJcbi5sZWFybi1tb3JlLWJ1dHRvbiB7XHJcblx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHRtYXJnaW4tYm90dG9tOiAuMjVyZW07XHJcblx0bGluZS1oZWlnaHQ6IDFyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLnJlZy1idXR0b24ge1xyXG5cdC8vcGFkZGluZzogMS4yNXJlbSAxLjY1cmVtIDEuMTVyZW07XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJG5hdi1ob3Zlci1jb2xvcjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXYtaG92ZXItY29sb3I7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdH1cclxufVxyXG5cclxuLmxlYXJuLW1vcmUtYnV0dG9uIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkbmF2LWhvdmVyLWNvbG9yO1xyXG5cdGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXYtaG92ZXItY29sb3I7XHJcblx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcblxyXG4uc29saWQtYmctYnV0dG9uLFxyXG4uc3VibWl0LWJ1dHRvbiB7XHJcblx0bWFyZ2luOiAxcmVtIDAgMDtcclxuXHRiYWNrZ3JvdW5kOiAkbmF2LWhvdmVyLWNvbG9yO1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRjb2xvcjogJHdoaXRlO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yO1xyXG5cdH1cclxufVxyXG5cclxuLnNvbGlkLWJnLWJ1dHRvbiB7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkbmF2LWhvdmVyLWNvbG9yO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkbmF2LWFjdGl2ZS1jb2xvcjtcclxuXHRcdGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yO1xyXG5cdH1cclxufVxyXG5cclxuLnN1Ym1pdC1idXR0b24geyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XHJcblxyXG5cclxuLy8gRGV2IG5vdGU6IG5vdCBzdXJlIGlmIHRoaXMgdmVyc2lvbiBpcyBuZWVkZWQgLSBjaGVja1xyXG4ubGFyZ2UtYnV0dG9uIHtcclxuXHQucmctYnRuIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZzogMS41ZW07XHJcblx0XHRmb250LXNpemU6IDEuMWVtO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vIENPTlRFTlQgU0VDVElPTiBTVFlMSU5HXHJcbi5jb250ZW50IHtcclxuXHRtYXJnaW46IHtcclxuXHRcdHRvcDogMnJlbTtcclxuXHRcdGJvdHRvbTogMnJlbTtcclxuXHR9XHJcblxyXG5cdGgyIHsgZm9udC1zaXplOiAxLjE1cmVtOyB9XHJcblx0aDMgeyBmb250LXNpemU6IDFyZW07IH1cclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcclxuXHRcdHRyYW5zaXRpb246IGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdFx0Jjpob3ZlciwgJjphY3RpdmUge1xyXG5cdFx0XHRjb2xvcjogJG5hdi1hY3RpdmUtY29sb3I7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzZWN0aW9uIHsgb3ZlcmZsb3c6IGluaGVyaXQ7IH1cclxufVxyXG5cclxuLmNlbnRlcmVkLXRpdGxlLWJsb2NrIHtcclxuXHRtYXJnaW46IDJyZW0gYXV0byAzcmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0YSB7IGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkOyB9XHJcblxyXG5cdGgyIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxyXG5cclxuXHRhIHsgXHJcblx0XHRjb2xvcjogJG5hdi1ob3Zlci1jb2xvcjtcclxuXHRcdCY6aG92ZXIgeyBjb2xvcjogJG5hdi1hY3RpdmUtY29sb3I7IH1cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRtYXJnaW46IDNyZW0gYXV0byA0cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLmRlZmF1bHQtbW9kYWwge1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpO1xyXG5cclxuXHQmLm5vLWJhY2tncm91bmQge1xyXG5cdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHR9XHJcblx0XHJcblx0Ji5yZXZlYWwgeyBcclxuXHRcdHBhZGRpbmc6IDJyZW07XHJcblx0XHR3aWR0aDogOTAlO1xyXG5cclxuXHRcdGltZyB7IHdpZHRoOiAxMDAlOyB9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdFx0d2lkdGg6IDc1JTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYgYnV0dG9uIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogLjVyZW07XHJcblx0XHRyaWdodDogLjJyZW07XHJcblx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqIEdMT0JBTCBTRVRUSU5HUyAmIE1PRFVMRVMgKioqKioqKioqL1xyXG5cclxuLy8gSW50ZXJuYWwgTmF2XHJcbi5tb2R1bGUtaW50ZXJuYWwtbmF2IHtcclxuXHRjbGVhcjogYm90aDtcclxuXHRtYXJnaW4tbGVmdDogMDtcclxuXHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0QGluY2x1ZGUgY3Jpc3RvYmFsLXVwcGVyY2FzZSgpO1xyXG5cclxuXHRsZXR0ZXItc3BhY2luZzogLjVweDsgLy8gYWRkZWQgaW4gZm9yIHRleHRhXHJcblxyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR3aWR0aDogMTAwJTtcclxuXHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuXHRsaSB7IFxyXG5cdFx0bWFyZ2luOiAwIC43NXJlbTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcclxuXHRcdGEgeyBcclxuXHRcdFx0Y29sb3I6ICRuYXYtaG92ZXItY29sb3I7IFxyXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UtaW4tb3V0O1xyXG5cdFx0XHRcclxuXHRcdFx0Ji5hY3RpdmUgeyBcclxuXHRcdFx0XHRjb2xvcjogJG5hdi1saW5rLWNvbG9yOyBcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlcixcclxuXHRcdFx0Ji5hY3RpdmUgJjpob3ZlciB7XHJcblx0XHRcdFx0Y29sb3I6ICRuYXYtYWN0aXZlLWNvbG9yOyBcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJG5hdi1hY3RpdmUtY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cclxuXHRcdCY6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMDsgfVxyXG5cdH1cclxufVxyXG5cclxuc2VjdGlvbiB7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdCYuc3BsaXQtdGhpcmRzIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcblxyXG5cdFx0QG1lZGlhICN7JG1lZGl1bS11cH0ge1xyXG5cdFx0XHQ+IC5yb3cge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiA3MHB4O1xyXG5cclxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDkwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHRcclxuXHR9XHJcbn1cclxuXHJcbi8vIFZJREVPIE1PREFMXHJcbi52aWRlby1tb2RhbCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNTAlICFpbXBvcnRhbnQ7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cclxuXHQmLm5vLWJhY2tncm91bmQge1xyXG5cdFx0YmFja2dyb3VuZDogbm9uZTtcclxuICAgIFx0Ym9yZGVyOiBub25lO1xyXG5cdH1cclxuXHJcblx0YnV0dG9uIHsgXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDM2cHg7XHJcblx0XHRyaWdodDogMnJlbTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0Zm9udC1zaXplOiAxLjJyZW07XHJcblx0fVxyXG59XHJcblxyXG4vLyA0MDQgUGFnZVxyXG4uZm91ci1vLWZvdXItcGFnZSB7XHJcblx0aGVpZ2h0OiAxMDB2aDtcclxuXHJcblx0LmZvdXItby1mb3VyLXdyYXBwZXIgeyBcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdC5mb3VyLW8tZm91ci1tZXNzYWdlIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ICAgIHRvcDogNTAlO1xyXG5cdFx0ICAgIGxlZnQ6IDUwJTtcclxuXHRcdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZTsgXHJcblxyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdG1heC13aWR0aDogMzUlO1xyXG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRoMiB7IFxyXG5cdFx0XHRcdG1hcmdpbjoge1xyXG5cdFx0XHRcdFx0dG9wOiAycmVtO1xyXG5cdFx0XHRcdFx0Ym90dG9tOiAwO1x0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwIHsgXHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVx0XHJcbn1cclxuXHJcbi8vIFNJVEVNQVAgXHJcbi5oZWFkZXItY2Fyb3VzZWwge1xyXG5cdCYuc2l0ZW1hcC1oZWFkZXIsXHJcblx0Ji5zaXRlbWFwLWhlYWRlciAuaW1nLWZpbGwge1xyXG5cdFx0aGVpZ2h0OiA1NXZoO1xyXG5cdH1cclxuXHJcblx0Ji5zaXRlbWFwLWhlYWRlciB7XHJcblx0XHRoMiB7IG1hcmdpbjogMnJlbSAwIDAgIWltcG9ydGFudDsgfVxyXG5cdH1cclxufVxyXG5cclxuLnNpdGVtYXAtbG9nby1vdXRzaWRlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0LnNpdGVtYXAtbG9nbyB7XHJcblx0XHR3aWR0aDogNTAlO1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHR3aWR0aDogNDAlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnNpdGVtYXAtYmxvY2sge1xyXG5cdHBhZGRpbmc6IDNyZW0gMDtcclxuXHJcblx0LnNpdGVtYXAtbmF2IHtcclxuXHRcdC13ZWJraXQtY29sdW1uLWNvdW50OiAxOyAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cclxuXHRcdC1tb3otY29sdW1uLWNvdW50OiAxOyAvKiBGaXJlZm94ICovXHJcblx0XHRjb2x1bW4tY291bnQ6IDE7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHQtd2Via2l0LWNvbHVtbi1jb3VudDogMjsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXHJcblx0XHRcdC1tb3otY29sdW1uLWNvdW50OiAyOyAvKiBGaXJlZm94ICovXHJcblx0XHRcdGNvbHVtbi1jb3VudDogMjtcclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Jjpob3ZlciB7IGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yOyB9XHJcblx0XHR9XHJcblxyXG5cdFx0LnN1Yi1tZW51IHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLy8gTUlTQyBcclxuLmZ1bGwtd2lkdGgtZmxleC1jb250ZW50IHtcclxuXHRzZWN0aW9uID4gLnJvdyB7IG1heC13aWR0aDogMTAwJTsgfVxyXG59IiwiLyogaW5qZWN0Om1vZHVsZXMgKi9cclxuQGltcG9ydCBcIm1vZHVsZXMvX2NvbnRlbnQtYmxvY2tzLnNjc3NcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvX2Z1bGwtcHJvbW8uc2Nzc1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9fdHdvLXVwLWxpc3Quc2Nzc1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9fdHdvLXVwLXRleHQtaW1hZ2Uuc2Nzc1wiO1xyXG5AaW1wb3J0IFwibW9kdWxlcy9fdmlkZW8tZW1iZWQuc2Nzc1wiO1xyXG4vKiBlbmRpbmplY3QgKi9cclxuIiwiLyogTU9EVUxFIENPTlRFTlQgQkxPQ0tTICovXHJcblxyXG4vLyBJbnRybyBQYXJhZ3JhcGhcclxuLm1vZHVsZS1pbnRyby1ibG9jayxcclxuLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrLFxyXG4ubW9kdWxlLXJldmlldy1ibG9jayB7XHJcblx0bWFyZ2luOiAycmVtIGF1dG87XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdG1hcmdpbjogLjg1cmVtIGF1dG8gMnJlbTtcclxuXHJcblx0XHRoMiwgcCwgdWwge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0fVxyXG5cclxuXHRcdGgyIHsgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxyXG5cdH1cclxufVxyXG5cclxuLm1vZHVsZS1pbnRyby1ibG9jayB7XHJcblx0cDpmaXJzdC1vZi10eXBlIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0fVxyXG5cdC8vIHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxyXG59XHJcblxyXG4ubW9kdWxlLXJldmlldy1ibG9jayB7XHJcblx0LnNpZ25hdHVyZSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG5cdFx0bWFyZ2luOiByZW0tY2FsYyg3NSkgYXV0bztcclxuXHR9XHJcbn1cclxuXHJcbi8vIFBsYWluIENvbnRlbnQgYmxvY2tcclxuLm1vZHVsZS1wbGFpbi1jb250ZW50LWJsb2NrIHtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4vLyBNT0RVTEUgRkVBVFVSRUQgUE9TVFxyXG4ubW9kdWxlLWZlYXR1cmVkLXBvc3QsXHJcbi5tb2R1bGUtZXZlbnQtcG9zdHMsXHJcbi5ibG9nLXBvc3Qge1xyXG5cdC5mZWF0dXJlZC1wb3N0IHtcclxuXHRcdGZsb2F0OiBub25lO1xyXG5cclxuXHRcdC5mZWF0dXJlZC1wb3N0LWluZm8ge1xyXG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDQ1cHgpIGF1dG87XHJcblx0XHRcdHdpZHRoOiA5MCU7XHJcblxyXG5cdFx0XHRoMiB7XHJcblx0XHRcdFx0Zm9udDoge1xyXG5cdFx0XHRcdFx0c2l6ZTogcmVtLWNhbGMoMThweCk7XHJcblx0XHRcdFx0XHR3ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhLCBidXR0b24geyBtYXJnaW4tdG9wOiAwOyB9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcblx0XHRcdGZsb2F0OmxlZnQ7XHJcblxyXG5cdFx0XHQmOm50aC1jaGlsZChldmVuKSB7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xyXG5cdFx0cGFkZGluZzoge1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5tb2R1bGUtZXZlbnQtcG9zdHMge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0LmZlYXR1cmVkLXBvc3Qge1xyXG5cdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdH0gLy9vdmVycmlkZXMgZm91bmRhdGlvbiBzdHlsaW5nIHRvIHJlbW92ZSBsYXN0IGNoaWxkXHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdFx0JjpudGgtY2hpbGQoZXZlbikge1xyXG5cdFx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5mZWF0dXJlZC1wb3N0LWluZm8geyB0ZXh0LWFsaWduOiBsZWZ0OyB9XHJcblx0fVxyXG59XHJcblxyXG4ubW9kdWxlLWZlYXR1cmVkLXBvc3QsXHJcbi5ibG9nLXBvc3Qge1xyXG5cdC5mZWF0dXJlZC1wb3N0LCAuZ3JpZC1zaXplciB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHR3aWR0aDogNDklO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lmd1dHRlci1zaXplciB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHR3aWR0aDogMiU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBFVkVOVFMgUEFHRSBURU1QTEFURSBQT1NUU1xyXG4ubW9kdWxlLWV2ZW50LXBvc3RzIHtcclxuXHQuZmVhdHVyZWQtcG9zdCB7XHJcblx0XHQuZmVhdHVyZWQtcG9zdC1pbWFnZSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdC5pbWctZmlsbCB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNzY0Lzc2NCk7XHJcblx0XHRcdFx0aGVpZ2h0OiAwO1xyXG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRvYmplY3QtZml0OiBjb3ZlcjtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5nbHlwaCB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMXJlbTtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtIC44cmVtO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0Y3RjNFRiwuOTUpO1xyXG5cdFx0XHRcdGZvbnQ6IHtcclxuXHRcdFx0XHRcdHNpemU6IHJlbS1jYWxjKDE0cHgpO1xyXG5cdFx0XHRcdFx0d2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdHotaW5kZXg6IDU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIEdFTkVSQUwgTU9EVUxFIENPTlRFTlQgQkxPQ0tcclxuLm1vZHVsZS1jb250ZW50LWJsb2NrIHtcclxuXHQucm9vbXMtaW5mby1ibG9jayB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcclxuXHJcblx0XHQucm9vbXMtaW5mby13cmFwcGVyIHtcclxuXHRcdFx0ZGlzcGxheTogdGFibGU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR0YW4tYm9yZGVyLWNvbG9yO1xyXG5cclxuXHRcdFx0LnJvb21zLW92ZXJsYXktaW5mbyB7XHJcblx0XHRcdFx0cGFkZGluZzogM3JlbTtcclxuXHRcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuXHRcdFx0XHRoMiB7XHJcblx0XHRcdFx0XHRmb250OiB7XHJcblx0XHRcdFx0XHRcdHNpemU6IHJlbS1jYWxjKDE4cHgpO1xyXG5cdFx0XHRcdFx0XHR3ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRhIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyBGRUFUVVJFRCBQT1NUICYgQ09OVEVOVCBCTE9DS1xyXG4ubW9kdWxlLWZlYXR1cmVkLXBvc3QsXHJcbi5tb2R1bGUtY29udGVudC1ibG9jayxcclxuLmJsb2ctcG9zdCB7XHJcbiBcdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHQuZmVhdHVyZWQtcG9zdCB7XHJcblx0XHQuZmVhdHVyZWQtcG9zdC1pbWFnZSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdC5pbWctZmlsbCB7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNzY0Lzc2NCk7XHJcblx0XHRcdFx0aGVpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmltZy1maWxsLWZ1bGwgeyBcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMTAwJTsgXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5nbHlwaCB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMXJlbTtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtIC44cmVtO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0Y3RjNFRiwuOTUpO1xyXG5cdFx0XHRcdGZvbnQ6IHtcclxuXHRcdFx0XHRcdHNpemU6IHJlbS1jYWxjKDE0cHgpO1xyXG5cdFx0XHRcdFx0d2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdHotaW5kZXg6IDU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdFx0LmltYWdlLWNvdmVyIHsgaGVpZ2h0OiAxMDAlOyB9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuZmVhdHVyZWQtcG9zdC1pbWFnZSxcclxuXHRcdC5yb29tcy1pbmZvLWJsb2NrIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdFx0cDpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcblxyXG5cdFx0XHQmLm5vLXBhZGRpbmcge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IC41cmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IC41cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBCTE9HIFBPU1Qge1xyXG4uYmxvZy1wb3N0IHtcclxuXHRtYXJnaW4tdG9wOiAycmVtO1xyXG59XHJcblxyXG4ub3RoZXItcHJvbW9zIHtcclxuXHQuZmVhdHVyZWQtcG9zdCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHR3aWR0aDogNDkuNSU7XHJcblx0XHR9XHJcblxyXG5cdFx0LmZlYXR1cmVkLXBvc3QtaW1hZ2Uge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyAmLnByb21vLWltYWdlLXNpemluZyB7XHJcblx0Ly8gXHQuZmVhdHVyZWQtcG9zdC1pbWFnZSB7XHJcblx0Ly8gXHRcdC5pbWctZmlsbCB7XHJcblx0Ly8gXHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0Ly8gXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdC8vIFx0XHRcdGltZyB7XHJcblx0Ly8gXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ly8gXHRcdFx0fVxyXG5cdC8vIFx0XHR9XHJcblx0Ly8gXHR9XHJcblx0Ly8gfVxyXG59XHJcblxyXG4vLyBTSU5HTEUgT0ZGRVJTIFBBR0VcclxuLm90aGVyLW9mZmVycyB7XHJcblx0cGFkZGluZy10b3A6IDJyZW07XHJcblx0cGFkZGluZy1sZWZ0OiAuNXJlbTtcclxuXHRwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRhbi1ib3JkZXItY29sb3I7XHJcblxyXG5cdD4gaDIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdG1hcmdpbi10b3A6IDNyZW07XHJcblx0XHRwYWRkaW5nLXRvcDogM3JlbTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIEhPTUUgT0ZGRVJTIFNFQ1RJT05cclxuLmhvbWUtb2ZmZXJzIHtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn0iLCIubW9kYWwtZnVsbC1wcm9tbyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHJcblx0Ji50ZXN0aW1vbmlhbCxcclxuXHQmLnByb21vdGlvbiB7XHJcblx0XHRtYXgtaGVpZ2h0OiA1NjBweDtcclxuXHJcblx0XHRoMywgcCB7IGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkOyB9XHJcblxyXG5cdFx0Ly8gSU5GTyBCTE9DS1xyXG5cdFx0LmluZm8ge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0cGFkZGluZzogOXJlbSAwO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cclxuXHRcdFx0Ji5saWdodC1vdmVybGF5IHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC43KTtcclxuXHRcdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuZGFyay1vdmVybGF5IHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4yNSk7IFxyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIFRFU1RJTU9OSUFMXHJcblx0Ji50ZXN0aW1vbmlhbCB7XHJcblx0XHQudGVzdGltb25pYWwtcXVvdGUge1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdFx0aDMge1xyXG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRcdG1heC13aWR0aDogcmVtLWNhbGMoMTAyNCk7XHJcblx0XHRcdFx0d2lkdGg6IDgwJTtcclxuXHJcblx0XHRcdFx0Zm9udDoge1xyXG5cdFx0XHRcdFx0ZmFtaWx5OiBcIldpbmRzb3JEXCIsIHNhbnMtc2VyaWY7XHJcblx0XHRcdFx0XHRzaXplOiByZW0tY2FsYyg0MHB4KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50ZXN0aW1vbmlhbC1hdXRob3Ige1xyXG5cdFx0XHRcdG1hcmdpbjogMXJlbSAwIDA7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcclxuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBQUk9NT1RJT05cclxuXHQmLnByb21vdGlvbiB7XHJcblx0XHRtYXgtaGVpZ2h0OiBub25lO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcclxuXHJcblx0XHQuaW5mbyB7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg3NXB4KSAwO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0XHQucHJvbW8tYmxvY2sge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDc1MHB4O1xyXG5cclxuXHRcdFx0XHQucHJvbW8tbG9nbyB7XHJcblx0XHRcdFx0XHQvLyBtYXgtd2lkdGg6IDE5MHB4O1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAzMDBweDsgfVxyXG5cclxuXHRcdFx0XHQucHJvbW8tYmx1cmIge1xyXG5cdFx0XHRcdFx0bWFyZ2luOiByZW0tY2FsYygzNXB4KSAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMCAycmVtO1xyXG5cdFx0XHRcdFx0XHJcblxyXG5cdFx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRcdGZvbnQ6IHtcclxuXHRcdFx0XHRcdFx0XHRzaXplOiByZW0tY2FsYygxN3B4KTtcclxuXHRcdFx0XHRcdFx0XHR3ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDQ1cmVtO1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS43NXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIEJSRUFLUE9JTlQgU0VUVElOR1NcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0Ji50ZXN0aW1vbmlhbCB7XHJcblx0XHRcdC5pbmZvIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAxM3JlbSAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQudGVzdGltb25pYWwtcXVvdGUge1xyXG5cdFx0XHRcdGgzIHsgZm9udC1zaXplOiByZW0tY2FsYygzMnB4KTsgfVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5wcm9tb3Rpb24ge1xyXG5cdFx0XHQuaW5mbyB7XHJcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTAwcHgpIDA7XHJcblxyXG5cdFx0XHRcdC5wcm9tby1ibHVyYiB7IG1hcmdpbjogcmVtLWNhbGMoNTBweCkgMDsgfVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHQmLnRlc3RpbW9uaWFsIHtcclxuXHRcdFx0LmluZm8ge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDE0cmVtIDA7XHJcblxyXG5cdFx0XHRcdC50ZXN0aW1vbmlhbC1xdW90ZSB7XHJcblx0XHRcdFx0XHRoMyB7IFxyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQ2cHgpOyBcclxuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDEuNXB4KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LnRlc3RpbW9uaWFsLWF1dGhvciB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7IH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYucHJvbW90aW9uIHtcclxuXHRcdFx0LmluZm8ge1xyXG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE0NXB4KSAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8vIFR3byBDb2wgTGlzdCB3LyBUaXRsZVxyXG4ubW9kdWxlLXR3by11cC1saXN0IHtcclxuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHJcblx0aDIgeyBcclxuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG5cclxuXHRcdGgyIHsgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxyXG5cdH1cclxuXHJcblx0dWwgeyBcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogZGlzYztcclxuXHRcdC13ZWJraXQtY29sdW1uLWNvdW50OiAxO1xyXG5cdFx0LW1vei1jb2x1bW4tY291bnQ6IDE7XHJcblx0XHRjb2x1bW4tY291bnQ6IDE7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuXHJcblx0XHRsaSB7IFxyXG5cdFx0XHRtYXJnaW4tbGVmdDogMS43NXJlbTsgXHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS4zNXJlbTtcclxuXHRcdFx0LXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuXHRcdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG5cdFx0XHRicmVhay1pbnNpZGU6IGF2b2lkO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xyXG5cdFx0XHQtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcclxuXHRcdFx0LW1vei1jb2x1bW4tY291bnQ6IDI7XHJcblx0XHRcdGNvbHVtbi1jb3VudDogMjtcclxuXHRcdH1cclxuXHJcblx0XHQmOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuXHR9XHJcbn0iLCIvLyBNb2R1bGUgLSBUZXh0ICYgSW1hZ2UgKDJVUCBjb250ZW50IHR5cGUpXHJcbi50ZXh0LWltYWdlLWJsb2NrIHtcclxuXHRtYXJnaW4tbGVmdDogMDtcclxuXHRtYXJnaW4tcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5tb2R1bGUtaW50ZXJuYWwtbmF2IHtcclxuXHRtYXJnaW46IHtcclxuXHRcdHRvcDogMnJlbTtcclxuXHRcdGJvdHRvbTogMy41cmVtO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMuNXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIFRleHQgJiBJbWFnZSAoMlVQIGNvbnRlbnQgdHlwZSlcclxuLm1vZHVsZS10ZXh0LWltYWdlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxuXHJcblx0PiAucm93IHtcclxuXHRcdG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG5cdH1cclxuXHJcblx0LmltYWdlLWJsb2NrLWNhcm91c2VsIHtcclxuXHRcdC5pdGVtLFxyXG5cdFx0Lml0ZW0gPiBkaXYgeyBcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRleHQtYmxvY2ssXHJcblx0LmltYWdlLWJsb2NrLFxyXG5cdC5pbWFnZS1ibG9jay1jYXJvdXNlbCB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcclxuXHJcblx0XHQvLyAucm93IHtcclxuXHRcdC8vIFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Ly8gXHRoZWlnaHQ6IDA7XHJcblx0XHQvLyBcdG1heC1oZWlnaHQ6IDYwMHB4O1xyXG5cdFx0Ly8gXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0Ly8gXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblxyXG5cdFx0LnRleHQtYmxvY2staW5mby13cmFwcGVyIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjRjdGM0VGO1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjRjBFOERFO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdFx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50ZXh0LWJsb2NrLWluZm8geyBcclxuXHRcdFx0XHRwYWRkaW5nOiAycmVtO1xyXG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG5cdFx0XHRcdGgyIHsgXHJcblx0XHRcdFx0XHRmb250OiB7IFxyXG5cdFx0XHRcdFx0XHRzaXplOiByZW0tY2FsYygxOHB4KTtcclxuXHRcdFx0XHRcdFx0d2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkOyBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHAgeyBcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcclxuXHJcblx0XHRcdFx0XHQmOmxhc3QtY2hpbGQsXHJcblx0XHRcdFx0XHQmLm5vLXNwYWNpbmcge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwOyBcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrOyBcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAzcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRleHQtaW1hZ2UtYmxvY2sge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0fVxyXG5cclxuXHQuaW1hZ2UtYmxvY2ssXHJcblx0LmltYWdlLWJsb2NrIGRpdiB7XHJcblx0XHRvdmVyZmxvdzpoaWRkZW47XHJcblx0XHRtaW4taGVpZ2h0OiAyNDlweDtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHRtaW4taGVpZ2h0OiA1NDBweDtcclxuXHRcdH1cclxuXHJcblx0XHQucm93IHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdGJhY2tncm91bmQ6IHtcclxuXHRcdFx0XHRwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuXHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0XHRzaXplOiBjb3ZlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmV4dHJhLWltYWdlcyB7XHJcblx0XHQuaW1hZ2UtYmxvY2std3JhcHBlciB7IFxyXG5cdFx0XHRtYXJnaW4tdG9wOiAuNXJlbTsgXHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG5cdFx0XHRpbWcgeyBib3JkZXItcmFkaXVzOiAycHg7IH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyBUd28gVXAgSW1hZ2VzIDEvMyAyLzMgXHJcbi5tb2R1bGUtdHdvLXVwLWltYWdlcyB7XHJcblx0LmltYWdlLWJsb2NrLXdyYXBwZXIge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XHJcblx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcclxuXHR9XHJcblxyXG5cdC5pbWFnZS1jb3ZlciB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRoZWlnaHQ6IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmltYWdlLWNvdmVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdGltZyB7IFxyXG5cdFx0bWF4LXdpZHRoOiBub25lOyBcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0fVxyXG59XHJcblxyXG4ubW9kdWxlLW11bHRpLWltYWdlLWdyaWQge1xyXG5cdG1hcmdpbi1ib3R0b206IC4zNXJlbTtcclxuXHJcblx0LmltYWdlLWdyaWQtY29udGFpbmVyIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAuMTVyZW07XHJcblx0XHRcdGhlaWdodDogKDc2My8xNTUyICogMTAwdncpO1xyXG5cdFx0XHRtYXgtaGVpZ2h0OiA3NjNweDtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0LmltYWdlLWJsb2NrIHtcclxuXHRcdFx0XHQuaW1hZ2UtY292ZXIgeyBoZWlnaHQ6IDk2LjUlIH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5pbWFnZS1ibG9jayB7XHJcblx0XHRcdCYuaGFsZi1oZWlnaHQge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaW1hZ2UtYmxvY2sge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdC8vZmxvYXQ6IGxlZnQ7XHJcblxyXG5cdFx0Ji5jb2x1bW5zIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAuMjVyZW07XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcdFx0XHRcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHQvLyBcdG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG5cdFx0Ly8gfVxyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFxyXG5cdFx0XHQuaW1hZ2UtY292ZXIge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0Ji5oYWxmLWhlaWdodCB7XHJcblx0XHRcdFx0aGVpZ2h0OiBjYWxjKDUwJSAtIC4yNXJlbSk7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuaW1hZ2UtY292ZXIgeyBcclxuXHRcdFx0aW1nIHsgYm9yZGVyLXJhZGl1czogMXB4OyB9XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLy8gVHdvIENvbCBMaXN0IHcvIFRpdGxlXHJcbi5tb2R1bGUtdmlkZW8tZW1iZWQge1xyXG5cdG1hcmdpbjoge1xyXG5cdFx0dG9wOiByZW0tY2FsYygzNSk7XHJcblx0XHRib3R0b206IHJlbS1jYWxjKDUwKTtcclxuXHR9XHJcblxyXG5cdC5tb2R1bGUtdmlkZW8td3JhcHBlciB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHQvL3BhZGRpbmctdG9wOiA1Ni41ZW07XHJcblx0XHRwYWRkaW5nLXRvcDogMTUuNWVtO1xyXG5cclxuXHQgICAgPiBkaXYge1xyXG5cdCAgICBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdCAgICB0b3A6IDA7XHJcblx0XHQgICAgYm90dG9tOiAwO1xyXG5cdFx0ICAgIGxlZnQ6IDA7XHJcblx0XHQgICAgcmlnaHQ6IDA7XHJcblx0ICAgIH1cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3MCk7XHJcblxyXG5cdFx0Lm1vZHVsZS12aWRlby13cmFwcGVyIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IDI2ZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHQubW9kdWxlLXZpZGVvLXdyYXBwZXIgeyBwYWRkaW5nLXRvcDogMzhlbTsgfVxyXG5cdH1cclxufVxyXG5cclxuLnZpZGVvLW1vZGFsIHtcclxuXHQmLnJldmVhbCB7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRtaW4taGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufSIsIi8qIGluamVjdDpjb21wb25lbnRzICovXHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19jYXJvdXNlbC5zY3NzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL19pbnN0YWdyYW0tZmVlZC5zY3NzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL192aWRlby1nYWxsZXJ5LnNjc3NcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvX3ByZS1sb2FkZXIuc2Nzc1wiO1xyXG4vKiBlbmRpbmplY3QgKi8iLCIuaGVhZGVyLWNhcm91c2VsLFxyXG4uZ2FsbGVyeS1jYXJvdXNlbCxcclxuLmdhbGxlcnktc2xpZGUtbmF2IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0aGVpZ2h0OiA3MHZoO1xyXG5cclxuXHQuaW1nLWZpbGwgeyBcclxuXHRcdGhlaWdodDogNzB2aDtcclxuXHJcblx0XHRpbWcgeyB3aWR0aDogMTAwJTsgfVxyXG5cdH1cclxuXHJcblx0LnNsaWNrLWRvdHMge1xyXG5cdFx0Ym90dG9tOiAyNXB4O1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHRib3R0b206IGF1dG87XHJcblx0XHRcdHJpZ2h0OiAxLjVyZW07XHJcblx0XHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaW5mbyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kOiB7XHJcblx0XHRcdGNvbG9yOiByZ2JhKDAsMCwwLC4yNSk7XHJcblx0XHRcdHNpemU6IGNvdmVyO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQuc2xpZGUtdGV4dCB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdGxlZnQ6IDUwJTtcclxuXHRcdFx0cmlnaHQ6IDUwJTtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0XHRcdHdpZHRoOiA4MCU7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0XHRcdGgyIHsgXHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzNnB4KTsgXHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMTU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdFx0aDIgeyBmb250LXNpemU6IHJlbS1jYWxjKDQ4cHgpOyB9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LnBsYXkge1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcblx0XHRcdGhlaWdodDogNThweDtcclxuXHRcdFx0d2lkdGg6IDU4cHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTVweCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLnNsaWNrLXNsaWRlciB7IFxyXG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTsgXHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHQvL2hlaWdodDogODV2aDtcclxuXHRcdGhlaWdodDogNzV2aDtcclxuXHJcblx0XHQuaW1nLWZpbGwgeyBcclxuXHRcdFx0Ly8gaGVpZ2h0OiA4MHZoOyBcclxuXHRcdFx0aGVpZ2h0OiA3NXZoO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gSE9NRSBDQVJPVVNFTFxyXG5cdCYuaG9tZS1jYXJvdXNlbCB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRcdGhlaWdodDogODV2aDtcclxuXHRcdFx0XHJcblx0XHRcdC5pbWctZmlsbCB7IFxyXG5cdFx0XHRcdGhlaWdodDogODV2aDsgXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIFRFWFQgSU1BR0UgQ0FST1VTRUwgQkxPQ0tcclxuLmltYWdlLWJsb2NrLWNhcm91c2VsIHtcclxuXHQmLnNsaWNrLXNsaWRlciB7IFxyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDsgXHJcblx0XHRcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHQuc2xpY2stbGlzdCxcclxuXHRcdFx0Lml0Yi1pbWFnZSB7IFxyXG5cdFx0XHRcdGhlaWdodDogMjV2aCAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuc2xpY2stZG90cyB7XHJcblx0XHRib3R0b206IDI1cHg7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdGJvdHRvbTogYXV0bztcclxuXHRcdFx0cmlnaHQ6IDEuNXJlbTtcclxuXHRcdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyBHQUxMRVJZIENBUk9VU0VMIFxyXG4uZ2FsbGVyeS1jYXJvdXNlbC13cmFwcGVyIHtcclxuXHRtYXJnaW4tdG9wOiByZW0tY2FsYyg2Ni41KTtcclxuXHJcblx0LmdhbGxlcnktY2Fyb3VzZWwsXHJcblx0LmdhbGxlcnktc2xpZGUtbmF2IHtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHRcdG1heC1oZWlnaHQ6IDgwdmg7XHJcblx0XHRvdXRsaW5lOiBub25lO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjsgXHJcblxyXG5cdFx0LmltZy1maWxsIHsgaGVpZ2h0OiBhdXRvOyB9XHJcblxyXG5cdFx0Ji5zbGljay1zbGlkZXIgeyBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxyXG5cdFx0XHJcblx0XHQuaXRlbSB7IHBhZGRpbmc6IDA7IH1cclxuXHRcdFxyXG5cdFx0LmNhcm91c2VsLXByZXYsXHJcblx0XHQuY2Fyb3VzZWwtbmV4dCB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdFx0ei1pbmRleDogNTtcclxuXHRcdFx0YmFja2dyb3VuZDogd2hpdGU7XHJcblx0XHRcdGZvbnQ6IHtcclxuXHRcdFx0XHRzaXplOiByZW0tY2FsYygxNyk7IFxyXG5cdFx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0Ji5pY29uLWFycm93LWxlZnQsIFxyXG5cdFx0XHRcdCYuaWNvbi1hcnJvdy1yaWdodCB7IGNvbG9yOiByZWQ7IH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jYXJvdXNlbC1wcmV2IHsgXHJcblx0XHRcdGxlZnQ6IDA7IFxyXG5cdFx0XHRwYWRkaW5nOiAxLjI1cmVtIC41NXJlbSAxcmVtIC40MHJlbTtcclxuXHRcdH1cclxuXHRcdC5jYXJvdXNlbC1uZXh0IHsgXHJcblx0XHRcdHJpZ2h0OiAwOyBcclxuXHRcdFx0cGFkZGluZzogMS4yNXJlbSAuNDByZW0gMXJlbSAuNTVyZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBHYWxsZXJ5IENhcm91c2VsIC0gU3BlY2lmaWMgU3R5bGluZ1xyXG5cdC5nYWxsZXJ5LWNhcm91c2VsIHtcclxuXHRcdC5pbWFnZS1jb3ZlciB7XHJcblx0XHRcdGhlaWdodDogNjV2aDtcclxuXHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0XHRcdFx0Ly9wb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0bGVmdDogNTAlO1xyXG5cdFx0XHRcdC8vdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0XHRcdFx0Ly93aWR0aDogMTAwJTtcclxuXHRcdFx0XHQvL2hlaWdodDogMTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jYXJvdXNlbC1wcmV2LFxyXG5cdFx0LmNhcm91c2VsLW5leHQge1xyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHQmLmljb24tYXJyb3ctbGVmdCwgXHJcblx0XHRcdFx0Ji5pY29uLWFycm93LXJpZ2h0IHsgZm9udC1zaXplOiAxLjFyZW07IH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRcdCYuaWNvbi1hcnJvdy1sZWZ0LCBcclxuXHRcdFx0XHRcdCYuaWNvbi1hcnJvdy1yaWdodCB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdFx0Ji5pY29uLWFycm93LWxlZnQsIFxyXG5cdFx0XHRcdFx0Ji5pY29uLWFycm93LXJpZ2h0IHsgZm9udC1zaXplOiAxLjVyZW07IH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0LmNhcm91c2VsLXByZXYgeyBwYWRkaW5nOiAuNzVyZW0gLjM1cmVtIC41NXJlbSAuMjByZW07IH1cclxuXHRcdFx0LmNhcm91c2VsLW5leHQgeyBwYWRkaW5nOiAuNzVyZW0gLjIwcmVtIC41NXJlbSAuMzVyZW07IH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vR2FsbGVyeSBTbGlkZSBOYXYgXHJcblx0LmdhbGxlcnktc2xpZGUtbmF2LXdyYXBwZXIge1xyXG5cdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcclxuXHRcdC5nYWxsZXJ5LXNsaWRlLW5hdiB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdFx0XHQuc2xpY2stbGlzdCB7XHJcblx0XHRcdFx0bWFyZ2luOiAwIC0uMjVyZW07XHJcblxyXG5cdFx0XHRcdC5pdGVtIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogLjI1cmVtO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogLjI1cmVtO1xyXG5cdFx0XHRcdFx0b3V0bGluZTogbm9uZTtcclxuXHJcblx0XHRcdFx0XHRhIHsgXHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrOyBcclxuXHRcdFx0XHRcdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQuaW1nLWZpbGwge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg0MDAvMzg0KTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdFx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdFx0XHRvYmplY3QtZml0OiBjb3ZlcjtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogNTAlO1xyXG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNhcm91c2VsLXByZXYgeyBwYWRkaW5nOiAuNzVyZW0gLjM1cmVtIC41NXJlbSAuMjByZW07IH1cclxuXHRcdFx0LmNhcm91c2VsLW5leHQgeyBwYWRkaW5nOiAuNzVyZW0gLjIwcmVtIC41NXJlbSAuMzVyZW07IH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5zbGljay1zbGlkZXIge1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5pbWctZmlsbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYmFja2dyb3VuZDoge1xyXG5cdFx0cG9zaXRpb246IDUwJTtcclxuXHRcdHJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0c2l6ZTogY292ZXI7XHJcblx0fVxyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnNsaWRlc2hvdy1jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0LnNsaWNrLWRvdHMge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3LjUpO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cclxuXHRcdEBtZWRpYSAjeyRsYXJnZS11cH0geyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7IH1cclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdCYsIGJ1dHRvbiwgYnV0dG9uOmJlZm9yZSB7XHJcblx0XHRcdFx0d2lkdGg6ICRzbGljay1kb3Qtc2l6ZTtcclxuXHRcdFx0XHRoZWlnaHQ6ICRzbGljay1kb3Qtc2l6ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnNpbmdsZS1zbGlkZSB7XHJcblx0LnNsaWNrLXByZXYsXHJcblx0LnNsaWNrLW5leHQge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdEBpbmNsdWRlIGljb24tZm9udDtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygzNik7XHJcblxyXG5cdFx0XHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnNsaWNrLXNsaWRlIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGJhY2tncm91bmQ6IHtcclxuXHRcdFx0c2l6ZTogY292ZXI7XHJcblx0XHRcdHJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuXHRcdH1cclxuXHRcdGltZyB7XHJcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRAbWVkaWEgI3skc21hbGwtb25seX0ge1xyXG5cdFx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMTAwJTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QG1lZGlhICN7JG1lZGl1bS1vbmx5fSB7XHJcblx0XHRcdFx0aGVpZ2h0OiA2MDBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRvdXRsaW5lOiAwO1xyXG5cdH1cclxuXHJcblx0LnNsaWNrLXByZXYge1xyXG5cdFx0bGVmdDogcmVtLWNhbGMoMTYpO1xyXG5cdFx0QGV4dGVuZCAuaWNvbi1hcnJvdy1sZWZ0O1xyXG5cdH1cclxuXHJcblx0LnNsaWNrLW5leHQge1xyXG5cdFx0cmlnaHQ6IHJlbS1jYWxjKDE2KTtcclxuXHRcdEBleHRlbmQgLmljb24tYXJyb3ctcmlnaHQ7XHJcblx0fVxyXG5cclxuXHRAbWVkaWEgI3skbGFyZ2UtdXB9IHtcclxuXHRcdC5zbGljay1wcmV2IHtcclxuXHRcdFx0bGVmdDogcmVtLWNhbGMoMzIpO1xyXG5cdFx0fVxyXG5cdFx0LnNsaWNrLW5leHQge1xyXG5cdFx0XHRyaWdodDogcmVtLWNhbGMoMzIpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnNsaWNrLXByZXYsXHJcbi5zbGljay1uZXh0IHtcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSBpY29uLWZvbnQ7XHJcblx0fVxyXG59XHJcblxyXG4uc2xpY2stcHJldiB7XHJcblx0QGV4dGVuZCAuaWNvbi1hcnJvdy1sZWZ0O1xyXG59XHJcblxyXG4uc2xpY2stbmV4dCB7XHJcblx0QGV4dGVuZCAuaWNvbi1hcnJvdy1yaWdodDtcclxufVxyXG5cclxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssIC5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxufSIsIi8vIElOU1RBR1JBTSBGRUVEXHJcbi5pbnN0YWdyYW0tZmVlZCB7XHJcblx0bWFyZ2luLXRvcDogNHJlbTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHQuaXRlbSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcclxuXHJcblx0fVxyXG5cclxuXHRoMiB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG5cdGEgeyBcclxuXHRcdGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yOyBcclxuXHRcdFxyXG5cdFx0Jjpob3ZlciB7IGNvbG9yOiAkbmF2LWFjdGl2ZS1jb2xvcjsgfVxyXG5cdH1cclxufSIsIi5jb21wb25lbnQtdmlkZW8tZ2FsbGVyeSB7XHJcblx0bWFyZ2luLXRvcDogNHJlbTtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuXHRoMiB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG5cclxuXHQudmlkZW8tZ2FsbGVyeS13cmFwcGVyIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTsgXHJcblx0XHRtYXJnaW4tYm90dG9tOiAuNXJlbTtcclxuXHRcdHBhZGRpbmctbGVmdDogLjI1cmVtO1xyXG5cdFx0cGFkZGluZy1yaWdodDogLjI1cmVtO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHQudmlkZW8tdGh1bWJuYWlsIHtcclxuXHRcdFx0cGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoNDAwLzcxMCk7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdGJhY2tncm91bmQ6IHtcclxuXHRcdFx0XHRzaXplOiBjb3ZlcjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnRodW1ibmFpbC1vdmVybGF5IHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAuNSU7XHJcbiAgICBcdFx0XHR3aWR0aDogMTAwLjUlO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjI1KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5wbGF5IHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDUwJTtcclxuXHRcdFx0bGVmdDogNTAlO1xyXG5cdFx0XHRyaWdodDogNTAlO1xyXG5cdFx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdFx0XHRoZWlnaHQ6IDU4cHg7XHJcblx0XHRcdHdpZHRoOiA1OHB4O1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcblx0XHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLnByZS1sb2FkZXIge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRoZWlnaHQ6IDEwMHZoO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR0YW4tYmFja2dyb3VuZC1jb2xvcjtcclxuXHR6LWluZGV4OiA5OTk7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDUyJTtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdG1heC13aWR0aDogMzIlO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdG1heC13aWR0aDogNzUlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5yYXlzIHsgb3BhY2l0eTogMDsgfVxyXG5cdH1cclxufSIsIi8qIGluamVjdDp0ZW1wbGF0ZXMgKi9cclxuQGltcG9ydCBcInRlbXBsYXRlcy9fY29udGFjdC5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvX25laWdoYm9yaG9vZC5zY3NzXCI7XHJcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvX3Jlc3RhdXJhbnQuc2Nzc1wiO1xyXG5AaW1wb3J0IFwidGVtcGxhdGVzL19yb29tcy5zY3NzXCI7XHJcbi8qIGVuZGluamVjdCAqLyIsIi8vIENTUyBydWxlcyBmb3IgdGhlIGNvbnRhY3QgcGFnZSB0ZW1wbGF0ZVxyXG5cclxuLmxvY2F0aW9uLW1hcCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGhlaWdodDogNTV2aDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0Ji5jb250YWN0LW1hcCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDNyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0I21hcCB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvLyBDU1MgcnVsZXMgZm9yIHRoZSBuZWlnaGJvcmhvb2QgcGFnZSB0ZW1wbGF0ZVxyXG5cclxuLy8gVE8tRE8gTUFQXHJcbi5sb2NhdGlvbi1tYXAge1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRjb2xvcjogJHdoaXRlO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0bWFyZ2luOiB7XHJcblx0XHRcdHRvcDogcmVtLWNhbGMoNjhweCk7XHJcblx0XHRcdGJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCNtYXAge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDY1dmg7XHJcblx0fVxyXG5cclxuXHQmLmNvbnRhY3QtbWFwIHtcclxuXHRcdGhlaWdodDogNTV2aDtcclxuXHJcblx0XHQjbWFwIHtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRvZG8tbWFwLWZpbHRlciB7XHJcblx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC43NSk7XHJcblx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHRwYWRkaW5nOiAxcmVtIDNyZW0gMC41cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0dWwge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblxyXG5cdFx0XHRsaSwgYSB7IGNvbG9yOiAkd2hpdGU7IH1cclxuXHJcblx0XHRcdC5maWx0ZXItc2hvdy1hbGwge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMSk7XHJcblx0XHRcdFx0cGFkZGluZzogMXJlbSAxcmVtIC41cmVtO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bGkge1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMS41cmVtO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcblx0XHRcdFx0JjpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cclxuXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRmb250OiB7XHJcblx0XHRcdFx0XHRcdHNpemU6IHJlbS1jYWxjKDE1KTtcclxuXHRcdFx0XHRcdFx0d2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcblxyXG5cclxuXHRcdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg2MHB4KTtcclxuXHRcdFx0XHRcdFx0dG9wOiAuMjVyZW07XHJcblx0XHRcdFx0XHRcdHotaW5kZXg6IDI7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBJTkZPQk9YXHJcbi5pbmZvQm94IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0cGFkZGluZzogMXJlbTtcclxuXHRiYWNrZ3JvdW5kOiAkYmxhY2s7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcclxuXHJcblx0aDUsIHAge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cdH1cclxuXHJcblx0PiBoNSB7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRcdGNvbG9yOiAjRkZGO1xyXG5cdFx0Zm9udDoge1xyXG5cdFx0XHRzaXplOiByZW0tY2FsYygxNik7XHJcblx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHRcdH1cclxuXHRcdHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcclxuXHR9XHJcblxyXG5cdHAge1xyXG5cdFx0Zm9udDoge1xyXG5cdFx0XHRzaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG5cdFx0fVxyXG5cdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyLjc1KTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcblx0fVxyXG5cclxuXHRwOmxhc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luLXRvcDogMXJlbTtcclxuXHRcdGNvbG9yOiAkbmF2LWhvdmVyLWNvbG9yO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJG5hdi1hY3RpdmUtY29sb3I7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmOjphZnRlciB7XHJcblx0ICAgIGNvbnRlbnQ6ICcnO1xyXG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ICAgIHRvcDogMTAwJTtcclxuXHQgICAgd2lkdGg6IDA7XHJcblx0ICAgIGhlaWdodDogMDtcclxuXHQgICAgYm9yZGVyLWxlZnQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0ICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHQgICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCAkYmxhY2s7XHJcblx0ICAgIGxlZnQ6IDUwJTtcclxuXHQgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xyXG5cdH1cclxuXHJcblx0aW1nIHtcclxuXHRcdG1hcmdpbjogMCAtNXB4IDAgMCAhaW1wb3J0YW50O1xyXG5cdH1cclxufVxyXG4iLCIvKiogUkVTVEFVUkFOVCBURU1QTEFURSBTVFlMSU5HICoqL1xyXG4ucmVzdGF1cmFudC1jb250ZW50IHtcclxuXHRtYXJnaW46IDJyZW0gYXV0bztcclxuXHJcblx0aDIge1xyXG5cdFx0Zm9udC1zaXplOiAxLjJyZW07XHJcblx0XHQvL2ZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cdH1cclxuXHJcblx0LnJlc3RhdXJhbnQtbG9nbyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdG1heC1oZWlnaHQ6IHJlbS1jYWxjKDEyOCk7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR9XHJcblxyXG5cdFx0LmxvZ28tY29udGFpbmVyIHtcclxuXHRcdFx0KyAubG9nby1jb250YWluZXIge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG5cdFx0XHRcdGJvcmRlci10b3A6IHNvbGlkIDJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnJlc3RhdXJhbnQtY29weSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdHBhZGRpbmc6IHtcclxuXHRcdFx0XHRsZWZ0OiAycmVtO1xyXG5cdFx0XHRcdHJpZ2h0OiA0cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucmVzdGF1cmFudC1ob3VycyB7XHJcblx0XHRwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcblx0fVxyXG5cclxuXHQvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdC8vIFx0bWFyZ2luLXRvcDogNXJlbTtcclxuXHQvLyB9XHJcblxyXG5cdC8vICsgLnJvdy1mdWxsLXdpZHRoIHtcclxuXHQvLyBcdG1hcmdpbi10b3A6IDVyZW07XHJcblx0Ly8gfVxyXG59XHJcblxyXG5cclxuXHJcbi5yZXN0YXVyYW50LW1lbnUtc2VjdGlvbiB7XHJcblx0Ly8gbWFyZ2luLXRvcDogM3JlbTtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG5cdHBhZGRpbmctdG9wOiAycmVtO1xyXG5cdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFuLWJvcmRlci1jb2xvcjtcclxuXHJcblx0Lm1lbnUtY29udGFpbmVyIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0XHQubGVhcm4tbW9yZS1idXR0b24ge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luLXRvcDogLjVyZW07XHJcblx0XHRcdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIHVwKSB7XHJcblx0XHRwYWRkaW5nLXRvcDogM3JlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAzcmVtO1xyXG5cdH1cclxufVxyXG5cclxuLy8gLm1vZHVsZS1ldmVudC1wb3N0cyB7XHJcblx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIG9ubHkpIHtcclxuXHQvLyBcdC5mZWF0dXJlZC1wb3N0Omxhc3QtY2hpbGQge1xyXG5cdC8vIFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdC8vIFx0fVxyXG5cdC8vIH1cclxuXHJcblx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcclxuXHQvLyBcdC5mZWF0dXJlZC1wb3N0Omxhc3QtY2hpbGQoKSB7XHJcblx0Ly8gXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHQvLyBcdH1cclxuXHQvLyB9XHJcbi8vIH1cclxuIiwiLy8gQ1NTIHJ1bGVzIGZvciB0aGUgcm9vbXMgdGVtcGxhdGVcclxuXHJcbi5tb2R1bGUtcm9vbXMtZ3JpZCB7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNjYuNSk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNjgpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIHVwKSB7XHJcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYyg3Mik7XHJcblx0fVxyXG5cclxuXHQucm9vbXMtYmxvY2ssXHJcblx0LnJvb21zLWluZm8tYmxvY2sge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogLjVyZW07XHJcblx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcclxuXHJcblx0XHQucm93IHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg1MDIvNTEyKTtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0aGVpZ2h0OiAwO1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRcdGJhY2tncm91bmQ6IHtcclxuXHRcdFx0XHRwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuXHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0XHRzaXplOiBjb3ZlcjtcclxuXHRcdFx0fVxyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XHJcblxyXG5cdFx0XHQucm9vbXMtb3ZlcmxheSB7XHJcblx0XHRcdFx0ZGlzcGxheTogdGFibGU7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdGhlaWdodDogMTAwLjUlO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAuNSU7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdFx0XHRcdHNwYW4ucmVnLWJ1dHRvbiB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRsZWZ0OiAycmVtO1xyXG5cdFx0XHRcdFx0Ym90dG9tOiAycmVtO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMS40NXJlbSAxLjY1cmVtIDEuMTVyZW07XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4yNSk7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDAuNzUpO1xyXG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcclxuXHJcblx0XHRcdFx0XHQmOmhvdmVyLFxyXG5cdFx0XHRcdFx0JjphY3RpdmUge1xyXG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDFyZW07XHJcblx0XHRcdFx0XHRcdGJvdHRvbTogLjc1cmVtO1xyXG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDIyNXB4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4yNTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5yb29tcy1vdmVybGF5LWluZm8ge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogNHJlbTtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0VERTRENiwgLjkpO1xyXG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdFx0XHRcdFx0cCB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjAzNSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHQmLmxhcmdlLTggLnJvdyB7IHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKDUwNC8xMDMyKTsgfVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnJvb21zLWJsb2NrIHtcclxuXHRcdGEge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucm9vbXMtaW5mby1ibG9jayB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IC4yNXJlbTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcclxuXHJcblx0XHQucm9vbXMtaW5mby13cmFwcGVyIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0XHRkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XHJcblx0XHRcdC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcclxuXHRcdFx0LXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHRhbi1ib3JkZXItY29sb3I7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5yb29tcy1vdmVybGF5LWluZm8ge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDNyZW07XHJcblx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcblx0XHRcdFx0YSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDEuNzVyZW07XHJcblx0XHRcdFx0XHR1bCB7IG1hcmdpbi1ib3R0b206IDA7IH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMS4yNXJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuXHRcdFx0bWluLWhlaWdodDogMzIwcHg7XHJcblxyXG5cdFx0XHQucm93IHsgcGFkZGluZy10b3A6IDA7IH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyBPVEhFUiBST09NUyBTTElERVJcclxuLnJvb21zLWNhcm91c2VsLXdyYXBwZXIge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRtYXJnaW4tdG9wOiA1cmVtO1xyXG5cdH1cclxuXHJcblx0aDIge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSB1cCkge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQub3RoZXItcm9vbS1jYXJvdXNlbCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNHB4KTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jYXJvdXNlbC1wcmV2LFxyXG5cdFx0LmNhcm91c2VsLW5leHQge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLS41cmVtKTtcclxuXHRcdFx0ei1pbmRleDogNTtcclxuXHRcdFx0YmFja2dyb3VuZDogd2hpdGU7XHJcblx0XHRcdGZvbnQ6IHtcclxuXHRcdFx0XHRzaXplOiByZW0tY2FsYygxNyk7XHJcblx0XHRcdFx0d2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHQmLmljb24tYXJyb3ctbGVmdCxcclxuXHRcdFx0XHQmLmljb24tYXJyb3ctcmlnaHQge1xyXG5cdFx0XHRcdFx0Y29sb3I6IHJlZDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuY2Fyb3VzZWwtcHJldiB7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHBhZGRpbmc6IC44NXJlbSAuMzVyZW0gLjc1cmVtIC4yMHJlbTtcclxuXHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDJweDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcclxuXHRcdH1cclxuXHRcdC5jYXJvdXNlbC1uZXh0IHtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdHBhZGRpbmc6IC44NXJlbSAuMjByZW0gLjc1cmVtIC4zNXJlbTtcclxuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xyXG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LnNsaWNrLWxpc3Qge1xyXG5cdFx0XHRtYXJnaW46IDAgLS4yNXJlbTtcclxuXHJcblxyXG5cdFx0XHQuaXRlbSB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAuMjVyZW07XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogLjI1cmVtO1xyXG5cclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0b3V0bGluZTogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5pbWctZmlsbCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSg0MDAvMzgzKTtcclxuXHRcdFx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdFx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdC5pbmZvIHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dDtcclxuXHJcblx0XHRcdFx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHRib3R0b206IDJyZW07XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAxcmVtIDEuMXJlbSAuNjVyZW07XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA3NSU7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQ6IHtcclxuXHRcdFx0XHRcdFx0XHRcdHNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdFx0XHRcdFx0XHRcdHdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogLjVweDtcclxuXHRcdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcclxuXHRcdFx0XHRcdFx0XHR6LWluZGV4OiAxO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDEuMTVyZW0gMS41cmVtIC43NXJlbTtcclxuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDJyZW07XHJcblx0XHRcdFx0XHRcdFx0XHRyaWdodDogYXV0bztcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0Lm92ZXJsYXktaW5mby13cmFwcGVyIHtcclxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAycmVtO1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBlYXNlLWluLW91dDtcclxuXHJcblx0XHRcdFx0XHRcdFx0Lm92ZXJsYXktaW5mbyB7XHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdGgyIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjc1cmVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAuNzVyZW07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAzcmVtO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRoMiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMnJlbTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRwIHsgbGluZS1oZWlnaHQ6IDEuNzU7IH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHRhbi1ib3JkZXItY29sb3IsIC45KTtcclxuXHJcblx0XHRcdFx0XHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAycmVtO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuXHRcdFx0XHRcdFx0XHRcdHNwYW4geyBvcGFjaXR5OiAxOyB9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHQub3ZlcmxheS1pbmZvLXdyYXBwZXIgeyBvcGFjaXR5OiAxOyB9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8vIEZPT1RFUlxyXG5cclxuZm9vdGVyIHtcclxuXHRwYWRkaW5nOiAwIDEuNXJlbSAkc21hbGwtcGFkZGluZztcclxuXHRwYWRkaW5nLWJvdHRvbTogJHNtYWxsLXBhZGRpbmc7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE1Mik7XHJcblx0fVxyXG5cclxuXHQuZm9vdGVyLWxpbmtzIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTRweCk7XHJcblx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xyXG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDgpIDAgcmVtLWNhbGMoMjQpO1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogJHNtYWxsLXBhZGRpbmc7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMXJlbTtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXJnaW46ICRzbWFsbC1wYWRkaW5nIDAgcmVtLWNhbGMoMjQpO1xyXG5cdFx0fVxyXG5cclxuXHRcdD4gbGk6bGFzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgLjFzIGVhc2UtaW4tb3V0O1xyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y29sb3I6ICRuYXYtaG92ZXItY29sb3I7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuYXYtaG92ZXItY29sb3I7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tYWlsaW5nLWxpc3Qge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcblx0XHRtYXJnaW4tdG9wOiAuNzVyZW07XHJcblxyXG5cdFx0I21jX2VtYmVkX3NpZ251cCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRmb3JtIHtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHQjbWNfZW1iZWRfc2lnbnVwX3Njcm9sbCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5tYy1maWVsZC1ncm91cCB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0LnNpbXBsZS1jdGFfX2lucHV0IHtcclxuXHRcdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGFuLWJvcmRlci1jb2xvcjtcclxuXHRcdFx0XHR0ZXh0LWluZGVudDogNCU7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQwLCAyMzIsIDIyMik7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmZvY3VzIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MCwgMjMyLCAyMjIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmhlbHBlcl90ZXh0LCAuaGVscGVyX3RleHQgKyBkaXYge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5zaW1wbGUtY3RhX19idXR0b24ge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRcdG1pbi13aWR0aDogcmVtLWNhbGMoMjI1KTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGFuLWJhY2tncm91bmQtY29sb3I7XHJcblx0XHRcdFx0Y29sb3I6ICRwcm9tby1jb2xvcjtcclxuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcclxuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkdGFuLWJvcmRlci1jb2xvcjtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7XHJcblx0XHRcdFx0XHRtaW4td2lkdGg6IGF1dG87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNiODMwMjA7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJvZHktYmFja2dyb3VuZDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Jjpob3ZlciwgJjpmb2N1cyB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYjgzMDIwO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRib2R5LWJhY2tncm91bmQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRcdGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuXHRcdGJ1dHRvbiB7XHJcblx0XHRcdHBhZGRpbmc6IDEuMzVyZW0gMnJlbSAuOXJlbTtcclxuXHRcdFx0aGVpZ2h0OiA1MHB4O1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAuNXB4OyAvLyBhZGRlZCBpbiBmb3IgdGhlIHRleHRhIGZvbnQgcmVwbGFjZW1lbnRcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdH1cclxuXHJcblx0XHRpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xyXG5cdFx0XHQvLyBwYWRkaW5nOiByZW0tY2FsYygyMikgcmVtLWNhbGMoMzApIHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0YmFja2dyb3VuZDogJHRhbi1ib3JkZXItY29sb3I7XHJcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICR0YW4tYm9yZGVyLWNvbG9yO1xyXG5cdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XHJcblx0XHRcdGNvbG9yOiAkaW5wdXQtdGV4dC1jb2xvcjtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdFx0Jjpmb2N1cyB7ICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC43NSk7IH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGJ1dHRvbiB7XHJcblx0XHRcdC8vIHBhZGRpbmc6IHJlbS1jYWxjKDE4KSByZW0tY2FsYygzMCkgcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkdGFuLWJhY2tncm91bmQtY29sb3I7XHJcblx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICR0YW4tYm9yZGVyLWNvbG9yO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zdWJzY3JpYmUge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxLjE1cmVtO1xyXG5cdFx0XHRjb2xvcjogJG5hdi1saW5rLWNvbG9yO1xyXG5cclxuXHRcdFx0Jjpob3ZlciB7IGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kOyB9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMS43NXJlbTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19 */
