@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal.large, .reveal.small, .reveal.tiny, .reveal {
    right: auto;
    left: auto;
    margin: 0 auto;
  }
}
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
   ========================================================================== */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
  margin: 0;
  padding: 0;
  background: #fff;
  font-family: "nunito", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #3D4138;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

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

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

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

[data-whatinput=mouse] button {
  outline: 0;
}
button {
  padding: 0;
  -webkit-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0.1875rem;
  background: transparent;
  line-height: 1;
  cursor: auto;
}

pre {
  overflow: auto;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
}

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

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

.grid-container {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-container {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-container {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}
.grid-container {
  max-width: 75rem;
  margin: 0 auto;
}
.grid-container.fluid {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-container.fluid {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-container.fluid {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}
.grid-container.fluid {
  max-width: 100%;
  margin: 0 auto;
}
.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin: 0 auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .medium-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .grid-x > .medium-1 {
    width: 8.3333333333%;
  }
  .grid-x > .medium-2 {
    width: 16.6666666667%;
  }
  .grid-x > .medium-3 {
    width: 25%;
  }
  .grid-x > .medium-4 {
    width: 33.3333333333%;
  }
  .grid-x > .medium-5 {
    width: 41.6666666667%;
  }
  .grid-x > .medium-6 {
    width: 50%;
  }
  .grid-x > .medium-7 {
    width: 58.3333333333%;
  }
  .grid-x > .medium-8 {
    width: 66.6666666667%;
  }
  .grid-x > .medium-9 {
    width: 75%;
  }
  .grid-x > .medium-10 {
    width: 83.3333333333%;
  }
  .grid-x > .medium-11 {
    width: 91.6666666667%;
  }
  .grid-x > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .large-shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: auto;
  }
  .grid-x > .large-1 {
    width: 8.3333333333%;
  }
  .grid-x > .large-2 {
    width: 16.6666666667%;
  }
  .grid-x > .large-3 {
    width: 25%;
  }
  .grid-x > .large-4 {
    width: 33.3333333333%;
  }
  .grid-x > .large-5 {
    width: 41.6666666667%;
  }
  .grid-x > .large-6 {
    width: 50%;
  }
  .grid-x > .large-7 {
    width: 58.3333333333%;
  }
  .grid-x > .large-8 {
    width: 66.6666666667%;
  }
  .grid-x > .large-9 {
    width: 75%;
  }
  .grid-x > .large-10 {
    width: 83.3333333333%;
  }
  .grid-x > .large-11 {
    width: 91.6666666667%;
  }
  .grid-x > .large-12 {
    width: 100%;
  }
}
.grid-margin-x:not(.grid-x) > .cell {
  width: auto;
}

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

.grid-margin-x {
  margin-left: - 1.25rem;
  margin-right: - 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x {
    margin-left: - 1.5625rem;
    margin-right: - 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x {
    margin-left: - 1.875rem;
    margin-right: - 1.875rem;
  }
}
.grid-margin-x > .cell {
  width: calc(100% - 2.5rem);
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x > .cell {
    width: calc(100% - 3.125rem);
    margin-left: 1.5625rem;
    margin-right: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x > .cell {
    width: calc(100% - 3.75rem);
    margin-left: 1.875rem;
    margin-right: 1.875rem;
  }
}
.grid-margin-x > .auto {
  width: auto;
}
.grid-margin-x > .shrink {
  width: auto;
}
.grid-margin-x > .small-1 {
  width: calc(8.3333333333% - 2.5rem);
}
.grid-margin-x > .small-2 {
  width: calc(16.6666666667% - 2.5rem);
}
.grid-margin-x > .small-3 {
  width: calc(25% - 2.5rem);
}
.grid-margin-x > .small-4 {
  width: calc(33.3333333333% - 2.5rem);
}
.grid-margin-x > .small-5 {
  width: calc(41.6666666667% - 2.5rem);
}
.grid-margin-x > .small-6 {
  width: calc(50% - 2.5rem);
}
.grid-margin-x > .small-7 {
  width: calc(58.3333333333% - 2.5rem);
}
.grid-margin-x > .small-8 {
  width: calc(66.6666666667% - 2.5rem);
}
.grid-margin-x > .small-9 {
  width: calc(75% - 2.5rem);
}
.grid-margin-x > .small-10 {
  width: calc(83.3333333333% - 2.5rem);
}
.grid-margin-x > .small-11 {
  width: calc(91.6666666667% - 2.5rem);
}
.grid-margin-x > .small-12 {
  width: calc(100% - 2.5rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x > .auto {
    width: auto;
  }
  .grid-margin-x > .shrink {
    width: auto;
  }
  .grid-margin-x > .small-1 {
    width: calc(8.3333333333% - 3.125rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 3.125rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 3.125rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 3.125rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 3.125rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 3.125rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 3.125rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 3.125rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 3.125rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 3.125rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 3.125rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 3.125rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 3.125rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 3.125rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 3.125rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 3.125rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 3.125rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 3.125rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 3.125rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 3.125rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 3.125rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 3.125rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 3.125rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 3.125rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x > .auto {
    width: auto;
  }
  .grid-margin-x > .shrink {
    width: auto;
  }
  .grid-margin-x > .small-1 {
    width: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 3.75rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 3.75rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 3.75rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 3.75rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 3.75rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 3.75rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 3.75rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 3.75rem);
  }
  .grid-margin-x > .large-auto {
    width: auto;
  }
  .grid-margin-x > .large-shrink {
    width: auto;
  }
  .grid-margin-x > .large-1 {
    width: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-x > .large-2 {
    width: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-x > .large-3 {
    width: calc(25% - 3.75rem);
  }
  .grid-margin-x > .large-4 {
    width: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-x > .large-5 {
    width: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-x > .large-6 {
    width: calc(50% - 3.75rem);
  }
  .grid-margin-x > .large-7 {
    width: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-x > .large-8 {
    width: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-x > .large-9 {
    width: calc(75% - 3.75rem);
  }
  .grid-margin-x > .large-10 {
    width: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-x > .large-11 {
    width: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-x > .large-12 {
    width: calc(100% - 3.75rem);
  }
}

.grid-padding-x .grid-padding-x {
  margin-right: - 1.25rem;
  margin-left: - 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-padding-x .grid-padding-x {
    margin-right: - 1.5625rem;
    margin-left: - 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-padding-x .grid-padding-x {
    margin-right: - 1.875rem;
    margin-left: - 1.875rem;
  }
}
.grid-container:not(.full) > .grid-padding-x {
  margin-right: - 1.25rem;
  margin-left: - 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-container:not(.full) > .grid-padding-x {
    margin-right: - 1.5625rem;
    margin-left: - 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-container:not(.full) > .grid-padding-x {
    margin-right: - 1.875rem;
    margin-left: - 1.875rem;
  }
}
.grid-padding-x > .cell {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-padding-x > .cell {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-padding-x > .cell {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%;
  }
  .medium-up-2 > .cell {
    width: 50%;
  }
  .medium-up-3 > .cell {
    width: 33.3333333333%;
  }
  .medium-up-4 > .cell {
    width: 25%;
  }
  .medium-up-5 > .cell {
    width: 20%;
  }
  .medium-up-6 > .cell {
    width: 16.6666666667%;
  }
  .medium-up-7 > .cell {
    width: 14.2857142857%;
  }
  .medium-up-8 > .cell {
    width: 12.5%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%;
  }
  .large-up-2 > .cell {
    width: 50%;
  }
  .large-up-3 > .cell {
    width: 33.3333333333%;
  }
  .large-up-4 > .cell {
    width: 25%;
  }
  .large-up-5 > .cell {
    width: 20%;
  }
  .large-up-6 > .cell {
    width: 16.6666666667%;
  }
  .large-up-7 > .cell {
    width: 14.2857142857%;
  }
  .large-up-8 > .cell {
    width: 12.5%;
  }
}
.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 2.5rem);
}

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 2.5rem);
  }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 2.5rem);
  }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 2.5rem);
  }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 2.5rem);
  }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.2857142857% - 2.5rem);
  }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 2.5rem);
  }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 3.125rem);
  }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 3.125rem);
  }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.3333333333% - 3.125rem);
  }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 3.125rem);
  }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 3.125rem);
  }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.6666666667% - 3.125rem);
  }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.2857142857% - 3.125rem);
  }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 3.125rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 2.5rem);
  }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 3.125rem);
  }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 2.5rem);
  }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 3.125rem);
  }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.3333333333% - 2.5rem);
  }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.3333333333% - 3.125rem);
  }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 2.5rem);
  }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 3.125rem);
  }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 2.5rem);
  }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 3.125rem);
  }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.6666666667% - 2.5rem);
  }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.6666666667% - 3.125rem);
  }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.2857142857% - 2.5rem);
  }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.2857142857% - 3.125rem);
  }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 2.5rem);
  }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 3.125rem);
  }
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 3.75rem);
  }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 3.75rem);
  }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 3.75rem);
  }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 3.75rem);
  }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.2857142857% - 3.75rem);
  }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 3.75rem);
  }
}
.small-margin-collapse {
  margin-right: 0;
  margin-left: 0;
}
.small-margin-collapse > .cell {
  margin-right: 0;
  margin-left: 0;
}
.small-margin-collapse > .small-1 {
  width: 8.3333333333%;
}
.small-margin-collapse > .small-2 {
  width: 16.6666666667%;
}
.small-margin-collapse > .small-3 {
  width: 25%;
}
.small-margin-collapse > .small-4 {
  width: 33.3333333333%;
}
.small-margin-collapse > .small-5 {
  width: 41.6666666667%;
}
.small-margin-collapse > .small-6 {
  width: 50%;
}
.small-margin-collapse > .small-7 {
  width: 58.3333333333%;
}
.small-margin-collapse > .small-8 {
  width: 66.6666666667%;
}
.small-margin-collapse > .small-9 {
  width: 75%;
}
.small-margin-collapse > .small-10 {
  width: 83.3333333333%;
}
.small-margin-collapse > .small-11 {
  width: 91.6666666667%;
}
.small-margin-collapse > .small-12 {
  width: 100%;
}
@media print, screen and (min-width: 40em) {
  .small-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .medium-3 {
    width: 25%;
  }
  .small-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .medium-6 {
    width: 50%;
  }
  .small-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .medium-9 {
    width: 75%;
  }
  .small-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .small-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .large-3 {
    width: 25%;
  }
  .small-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .large-6 {
    width: 50%;
  }
  .small-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .large-9 {
    width: 75%;
  }
  .small-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .large-12 {
    width: 100%;
  }
}

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

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .medium-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .small-3 {
    width: 25%;
  }
  .medium-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .small-6 {
    width: 50%;
  }
  .medium-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .small-9 {
    width: 75%;
  }
  .medium-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .medium-3 {
    width: 25%;
  }
  .medium-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .medium-6 {
    width: 50%;
  }
  .medium-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .medium-9 {
    width: 75%;
  }
  .medium-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .large-3 {
    width: 25%;
  }
  .medium-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .large-6 {
    width: 50%;
  }
  .medium-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .large-9 {
    width: 75%;
  }
  .medium-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .medium-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .small-3 {
    width: 25%;
  }
  .large-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .small-6 {
    width: 50%;
  }
  .large-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .small-9 {
    width: 75%;
  }
  .large-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .medium-3 {
    width: 25%;
  }
  .large-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .medium-6 {
    width: 50%;
  }
  .large-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .medium-9 {
    width: 75%;
  }
  .large-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .large-3 {
    width: 25%;
  }
  .large-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .large-6 {
    width: 50%;
  }
  .large-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .large-9 {
    width: 75%;
  }
  .large-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 1.5625rem);
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.3333333333% + 1.5625rem);
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.6666666667% + 1.5625rem);
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.5625rem);
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.3333333333% + 1.5625rem);
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.6666666667% + 1.5625rem);
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.5625rem);
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.3333333333% + 1.5625rem);
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.6666666667% + 1.5625rem);
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.5625rem);
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.3333333333% + 1.5625rem);
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.6666666667% + 1.5625rem);
  }
}
@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1.875rem);
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.3333333333% + 1.875rem);
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.6666666667% + 1.875rem);
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.875rem);
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.3333333333% + 1.875rem);
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.6666666667% + 1.875rem);
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.875rem);
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.3333333333% + 1.875rem);
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.6666666667% + 1.875rem);
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.875rem);
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.3333333333% + 1.875rem);
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.6666666667% + 1.875rem);
  }
}
.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.grid-y > .cell {
  width: auto;
}
.grid-y > .auto {
  height: auto;
}
.grid-y > .shrink {
  height: auto;
}
.grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          flex-basis: auto;
}
@media print, screen and (min-width: 40em) {
  .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
  }
}
.grid-y > .small-1 {
  height: 8.3333333333%;
}
.grid-y > .small-2 {
  height: 16.6666666667%;
}
.grid-y > .small-3 {
  height: 25%;
}
.grid-y > .small-4 {
  height: 33.3333333333%;
}
.grid-y > .small-5 {
  height: 41.6666666667%;
}
.grid-y > .small-6 {
  height: 50%;
}
.grid-y > .small-7 {
  height: 58.3333333333%;
}
.grid-y > .small-8 {
  height: 66.6666666667%;
}
.grid-y > .small-9 {
  height: 75%;
}
.grid-y > .small-10 {
  height: 83.3333333333%;
}
.grid-y > .small-11 {
  height: 91.6666666667%;
}
.grid-y > .small-12 {
  height: 100%;
}
@media print, screen and (min-width: 40em) {
  .grid-y > .medium-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .medium-shrink {
    height: auto;
  }
  .grid-y > .medium-1 {
    height: 8.3333333333%;
  }
  .grid-y > .medium-2 {
    height: 16.6666666667%;
  }
  .grid-y > .medium-3 {
    height: 25%;
  }
  .grid-y > .medium-4 {
    height: 33.3333333333%;
  }
  .grid-y > .medium-5 {
    height: 41.6666666667%;
  }
  .grid-y > .medium-6 {
    height: 50%;
  }
  .grid-y > .medium-7 {
    height: 58.3333333333%;
  }
  .grid-y > .medium-8 {
    height: 66.6666666667%;
  }
  .grid-y > .medium-9 {
    height: 75%;
  }
  .grid-y > .medium-10 {
    height: 83.3333333333%;
  }
  .grid-y > .medium-11 {
    height: 91.6666666667%;
  }
  .grid-y > .medium-12 {
    height: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .large-shrink {
    height: auto;
  }
  .grid-y > .large-1 {
    height: 8.3333333333%;
  }
  .grid-y > .large-2 {
    height: 16.6666666667%;
  }
  .grid-y > .large-3 {
    height: 25%;
  }
  .grid-y > .large-4 {
    height: 33.3333333333%;
  }
  .grid-y > .large-5 {
    height: 41.6666666667%;
  }
  .grid-y > .large-6 {
    height: 50%;
  }
  .grid-y > .large-7 {
    height: 58.3333333333%;
  }
  .grid-y > .large-8 {
    height: 66.6666666667%;
  }
  .grid-y > .large-9 {
    height: 75%;
  }
  .grid-y > .large-10 {
    height: 83.3333333333%;
  }
  .grid-y > .large-11 {
    height: 91.6666666667%;
  }
  .grid-y > .large-12 {
    height: 100%;
  }
}

.grid-padding-y .grid-padding-y {
  margin-top: - 1.25rem;
  margin-bottom: - 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-padding-y .grid-padding-y {
    margin-top: - 1.5625rem;
    margin-bottom: - 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-padding-y .grid-padding-y {
    margin-top: - 1.875rem;
    margin-bottom: - 1.875rem;
  }
}
.grid-padding-y > .cell {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-padding-y > .cell {
    padding-top: 1.5625rem;
    padding-bottom: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-padding-y > .cell {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
  }
}

.grid-margin-y {
  margin-top: - 1.25rem;
  margin-bottom: - 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: - 1.5625rem;
    margin-bottom: - 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y {
    margin-top: - 1.875rem;
    margin-bottom: - 1.875rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 2.5rem);
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 3.125rem);
    margin-top: 1.5625rem;
    margin-bottom: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .cell {
    height: calc(100% - 3.75rem);
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 2.5rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 2.5rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 2.5rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 2.5rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 2.5rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 2.5rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 2.5rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 2.5rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 2.5rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 2.5rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 2.5rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 2.5rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 3.125rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 3.125rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3.125rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 3.125rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 3.125rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3.125rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 3.125rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 3.125rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3.125rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 3.125rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 3.125rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3.125rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 3.125rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 3.125rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 3.125rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 3.125rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 3.125rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 3.125rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 3.125rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 3.125rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 3.125rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 3.125rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 3.125rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 3.125rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3.75rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 3.75rem);
  }
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 3.75rem);
  }
}

.grid-frame {
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw;
}

.cell .grid-frame {
  width: 100%;
}

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar;
}

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-stype: -ms-autohiding-scrollbar;
}

.cell-block-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%;
}
.cell-block-container > .grid-x {
  max-height: 100%;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
}

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw;
  }
  .cell .medium-grid-frame {
    width: 100%;
  }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar;
  }
  .medium-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%;
  }
  .medium-cell-block-container > .grid-x {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
  }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar;
  }
}
@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw;
  }
  .cell .large-grid-frame {
    width: 100%;
  }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar;
  }
  .large-cell-block-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%;
  }
  .large-cell-block-container > .grid-x {
    max-height: 100%;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
  }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-stype: -ms-autohiding-scrollbar;
  }
}
.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh;
}
@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
  }
}

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

.grid-margin-y {
  margin-top: - 1.25rem;
  margin-bottom: - 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: - 1.5625rem;
    margin-bottom: - 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y {
    margin-top: - 1.875rem;
    margin-bottom: - 1.875rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 2.5rem);
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 3.125rem);
    margin-top: 1.5625rem;
    margin-bottom: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .cell {
    height: calc(100% - 3.75rem);
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 2.5rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 2.5rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 2.5rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 2.5rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 2.5rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 2.5rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 2.5rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 2.5rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 2.5rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 2.5rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 2.5rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 2.5rem);
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 3.125rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 3.125rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3.125rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 3.125rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 3.125rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3.125rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 3.125rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 3.125rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3.125rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 3.125rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 3.125rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3.125rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 3.125rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 3.125rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 3.125rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 3.125rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 3.125rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 3.125rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 3.125rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 3.125rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 3.125rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 3.125rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 3.125rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 3.125rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3.75rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 3.75rem);
  }
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 3.75rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 3.75rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 3.75rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 3.75rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 3.75rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 3.75rem);
  }
}

.grid-frame.grid-margin-y {
  height: calc(100vh + 2.5rem);
}
@media print, screen and (min-width: 40em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 3.125rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 3.75rem);
  }
}

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 3.125rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 3.75rem);
  }
}
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
.accordion .accordion-item .accordion-title,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6,
.accordion .accordion-item .accordion-title, .h6, .home-page-banner .banner-image-block.primary-block p {
  font-family: "nunito", sans-serif;
  font-style: normal;
  font-weight: 700;
  color: inherit;
  text-rendering: optimizeLegibility;
}
h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small,
.accordion .accordion-item .accordion-title small, .h6 small, .home-page-banner .banner-image-block.primary-block p small {
  line-height: 0;
  color: #a3a3a3;
}

h1, .h1 {
  font-size: 2.5rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

h2, .h2 {
  font-size: 2.0625rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

h3, .h3 {
  font-size: 1.8125rem;
  line-height: 1.0689655172;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

h4, .h4 {
  font-size: 1.625rem;
  line-height: 1.0769230769;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

h5, .h5 {
  font-size: 1.375rem;
  line-height: 1.0909090909;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

h6, .accordion .accordion-item .accordion-title, .h6, .home-page-banner .banner-image-block.primary-block p {
  font-size: 1.1875rem;
  line-height: 1.2631578947;
  margin-top: 0;
  margin-bottom: 1.25rem;
}

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3.375rem;
    line-height: 1.0185185185;
    margin-bottom: 1.25rem;
  }
  h2, .h2 {
    font-size: 2.75rem;
    line-height: 1.0227272727;
    margin-bottom: 1.25rem;
  }
  h3, .h3 {
    font-size: 2.25rem;
    line-height: 1.0277777778;
    margin-bottom: 1.25rem;
  }
  h4, .h4 {
    font-size: 1.8125rem;
    line-height: 1.0689655172;
    margin-bottom: 1.25rem;
  }
  h5, .h5 {
    font-size: 1.5rem;
    line-height: 1.0833333333;
    margin-bottom: 1.25rem;
  }
  h6, .accordion .accordion-item .accordion-title, .h6, .home-page-banner .banner-image-block.primary-block p {
    font-size: 1.375rem;
    line-height: 1.0909090909;
    margin-bottom: 1.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  h1, .h1 {
    font-size: 3.75rem;
    line-height: 1.0166666667;
    margin-bottom: 1.25rem;
  }
  h2, .h2 {
    font-size: 3.125rem;
    line-height: 1.02;
    margin-bottom: 1.25rem;
  }
  h3, .h3 {
    font-size: 2.625rem;
    line-height: 1.0238095238;
    margin-bottom: 1.25rem;
  }
  h4, .h4 {
    font-size: 2.1875rem;
    line-height: 1.0571428571;
    margin-bottom: 1.25rem;
  }
  h5, .h5 {
    font-size: 1.75rem;
    line-height: 1.0714285714;
    margin-bottom: 1.25rem;
  }
  h6, .accordion .accordion-item .accordion-title, .h6, .home-page-banner .banner-image-block.primary-block p {
    font-size: 1.4375rem;
    line-height: 1.0869565217;
    margin-bottom: 1.25rem;
  }
}
@media screen and (min-width: 75em) {
  h1, .h1 {
    font-size: 3.75rem;
    line-height: 1.0166666667;
    margin-bottom: 1.25rem;
  }
  h2, .h2 {
    font-size: 3.125rem;
    line-height: 1.02;
    margin-bottom: 1.25rem;
  }
  h3, .h3 {
    font-size: 2.625rem;
    line-height: 1.0238095238;
    margin-bottom: 1.25rem;
  }
  h4, .h4 {
    font-size: 2.1875rem;
    line-height: 1.0571428571;
    margin-bottom: 1.25rem;
  }
  h5, .h5 {
    font-size: 1.75rem;
    line-height: 1.0714285714;
    margin-bottom: 1.25rem;
  }
  h6, .accordion .accordion-item .accordion-title, .h6, .home-page-banner .banner-image-block.primary-block p {
    font-size: 1.4375rem;
    line-height: 1.0869565217;
    margin-bottom: 1.25rem;
  }
}
a {
  line-height: inherit;
  color: #008051;
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: rgb(0, 110.08, 69.66);
}
a img {
  border: 0;
}

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

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

li {
  font-size: inherit;
}

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

ol {
  margin-left: 1.25rem;
}

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0;
  border-left: none;
}
blockquote, blockquote p {
  line-height: 1.6;
  color: #3D4138;
}

cite {
  display: block;
  font-size: 0.75rem;
  color: #a3a3a3;
}
cite:before {
  content: "— ";
}

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

figure {
  margin: 0;
}

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 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 print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}
.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important;
  }
  .show-for-print {
    display: block !important;
  }
  .hide-for-print {
    display: none !important;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
  blockquote {
    border: 1px solid #3D4138;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .print-break-inside {
    page-break-inside: auto;
  }
}
[data-whatinput=mouse] .button, [data-whatinput=mouse] .edit-link a.post-edit-link, .edit-link [data-whatinput=mouse] a.post-edit-link, [data-whatinput=mouse] .forminator-button {
  outline: 0;
}
.button, .edit-link a.post-edit-link, .forminator-button[disabled], .forminator-button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0.1875rem;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #008051;
  color: #fff;
}
.button:hover, .edit-link a.post-edit-link:hover, .forminator-button:hover, .button:focus, .edit-link a.post-edit-link:focus, .forminator-button:focus {
  background-color: #008051;
  color: #fff;
}
.button.tiny, .edit-link a.tiny.post-edit-link, .tiny.forminator-button {
  font-size: 0.6rem;
}
.button.small, .edit-link a.small.post-edit-link, .small.forminator-button {
  font-size: 0.75rem;
}
.button.large, .edit-link a.large.post-edit-link, .large.forminator-button {
  font-size: 1.25rem;
}
.button.expanded, .edit-link a.expanded.post-edit-link, .expanded.forminator-button {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}
.button.primary, .edit-link a.primary.post-edit-link, .primary.forminator-button {
  background-color: #008051;
  color: #fff;
}
.button.primary:hover, .edit-link a.primary.post-edit-link:hover, .primary.forminator-button:hover, .button.primary:focus, .edit-link a.primary.post-edit-link:focus, .primary.forminator-button:focus {
  background-color: rgb(0, 102.4, 64.8);
  color: #fff;
}
.button.secondary, .edit-link a.secondary.post-edit-link, .secondary.forminator-button {
  background-color: #75BB59;
  color: #3D4138;
}
.button.secondary:hover, .edit-link a.secondary.post-edit-link:hover, .secondary.forminator-button:hover, .button.secondary:focus, .edit-link a.secondary.post-edit-link:focus, .secondary.forminator-button:focus {
  background-color: rgb(90.5846153846, 156.6358974359, 64.1641025641);
  color: #3D4138;
}
.button.success, .edit-link a.success.post-edit-link, .success.forminator-button {
  background-color: #3cc47c;
  color: #3D4138;
}
.button.success:hover, .edit-link a.success.post-edit-link:hover, .success.forminator-button:hover, .button.success:focus, .edit-link a.success.post-edit-link:focus, .success.forminator-button:focus {
  background-color: rgb(47.5716535433, 157.2283464567, 99.1748031496);
  color: #3D4138;
}
.button.warning, .edit-link a.warning.post-edit-link, .warning.forminator-button {
  background-color: #f7b733;
  color: #3D4138;
}
.button.warning:hover, .edit-link a.warning.post-edit-link:hover, .warning.forminator-button:hover, .button.warning:focus, .edit-link a.warning.post-edit-link:focus, .warning.forminator-button:focus {
  background-color: rgb(229.4037735849, 157.4339622642, 8.9962264151);
  color: #3D4138;
}
.button.alert, .edit-link a.alert.post-edit-link, .alert.forminator-button {
  background-color: #fc4a1a;
  color: #fff;
}
.button.alert:hover, .edit-link a.alert.post-edit-link:hover, .alert.forminator-button:hover, .button.alert:focus, .edit-link a.alert.post-edit-link:focus, .alert.forminator-button:focus {
  background-color: rgb(219.524137931, 48.8896551724, 2.875862069);
  color: #fff;
}
.button.disabled, .edit-link a.disabled.post-edit-link, .disabled.forminator-button, .button[disabled], .edit-link a[disabled].post-edit-link, [disabled].forminator-button {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled, .edit-link a.disabled.post-edit-link, .disabled.forminator-button, .button.disabled:hover, .button.disabled:focus, .button[disabled], .edit-link a[disabled].post-edit-link, [disabled].forminator-button, .button[disabled]:hover, .button[disabled]:focus {
  background-color: #008051;
  color: #fff;
}
.button.disabled.primary, .edit-link a.disabled.primary.post-edit-link, .disabled.primary.forminator-button, .button[disabled].primary, .edit-link a[disabled].primary.post-edit-link, [disabled].primary.forminator-button {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled.primary, .edit-link a.disabled.primary.post-edit-link, .disabled.primary.forminator-button, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .edit-link a[disabled].primary.post-edit-link, [disabled].primary.forminator-button, .button[disabled].primary:hover, .button[disabled].primary:focus {
  background-color: #008051;
  color: #fff;
}
.button.disabled.secondary, .edit-link a.disabled.secondary.post-edit-link, .disabled.secondary.forminator-button, .button[disabled].secondary, .edit-link a[disabled].secondary.post-edit-link, [disabled].secondary.forminator-button {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled.secondary, .edit-link a.disabled.secondary.post-edit-link, .disabled.secondary.forminator-button, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .edit-link a[disabled].secondary.post-edit-link, [disabled].secondary.forminator-button, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  background-color: #75BB59;
  color: #3D4138;
}
.button.disabled.success, .edit-link a.disabled.success.post-edit-link, .disabled.success.forminator-button, .button[disabled].success, .edit-link a[disabled].success.post-edit-link, [disabled].success.forminator-button {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled.success, .edit-link a.disabled.success.post-edit-link, .disabled.success.forminator-button, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .edit-link a[disabled].success.post-edit-link, [disabled].success.forminator-button, .button[disabled].success:hover, .button[disabled].success:focus {
  background-color: #3cc47c;
  color: #3D4138;
}
.button.disabled.warning, .edit-link a.disabled.warning.post-edit-link, .disabled.warning.forminator-button, .button[disabled].warning, .edit-link a[disabled].warning.post-edit-link, [disabled].warning.forminator-button {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled.warning, .edit-link a.disabled.warning.post-edit-link, .disabled.warning.forminator-button, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .edit-link a[disabled].warning.post-edit-link, [disabled].warning.forminator-button, .button[disabled].warning:hover, .button[disabled].warning:focus {
  background-color: #f7b733;
  color: #3D4138;
}
.button.disabled.alert, .edit-link a.disabled.alert.post-edit-link, .disabled.alert.forminator-button, .button[disabled].alert, .edit-link a[disabled].alert.post-edit-link, [disabled].alert.forminator-button {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.disabled.alert, .edit-link a.disabled.alert.post-edit-link, .disabled.alert.forminator-button, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .edit-link a[disabled].alert.post-edit-link, [disabled].alert.forminator-button, .button[disabled].alert:hover, .button[disabled].alert:focus {
  background-color: #fc4a1a;
  color: #fff;
}
.button.hollow, .edit-link a.hollow.post-edit-link, .hollow.forminator-button, .button.hollow:hover, .button.hollow:focus {
  background-color: transparent;
}
.button.hollow.disabled, .edit-link a.hollow.disabled.post-edit-link, .hollow.disabled.forminator-button, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .edit-link a.hollow[disabled].post-edit-link, .hollow[disabled].forminator-button, .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
  background-color: transparent;
}
.button.hollow, .edit-link a.hollow.post-edit-link, .hollow.forminator-button {
  border: 1px solid #008051;
  color: #008051;
}
.button.hollow:hover, .edit-link a.hollow.post-edit-link:hover, .hollow.forminator-button:hover, .button.hollow:focus, .edit-link a.hollow.post-edit-link:focus, .hollow.forminator-button:focus {
  border-color: rgb(0, 64, 40.5);
  color: rgb(0, 64, 40.5);
}
.button.hollow:hover.disabled, .edit-link a.hollow.post-edit-link:hover.disabled, .hollow.forminator-button:hover.disabled, .button.hollow:hover[disabled], .edit-link a.hollow.post-edit-link:hover[disabled], .hollow.forminator-button:hover[disabled], .button.hollow:focus.disabled, .edit-link a.hollow.post-edit-link:focus.disabled, .hollow.forminator-button:focus.disabled, .button.hollow:focus[disabled], .edit-link a.hollow.post-edit-link:focus[disabled], .hollow.forminator-button:focus[disabled] {
  border: 1px solid #008051;
  color: #008051;
}
.button.hollow.primary, .edit-link a.hollow.primary.post-edit-link, .hollow.primary.forminator-button {
  border: 1px solid #008051;
  color: #008051;
}
.button.hollow.primary:hover, .edit-link a.hollow.primary.post-edit-link:hover, .hollow.primary.forminator-button:hover, .button.hollow.primary:focus, .edit-link a.hollow.primary.post-edit-link:focus, .hollow.primary.forminator-button:focus {
  border-color: rgb(0, 64, 40.5);
  color: rgb(0, 64, 40.5);
}
.button.hollow.primary:hover.disabled, .edit-link a.hollow.primary.post-edit-link:hover.disabled, .hollow.primary.forminator-button:hover.disabled, .button.hollow.primary:hover[disabled], .edit-link a.hollow.primary.post-edit-link:hover[disabled], .hollow.primary.forminator-button:hover[disabled], .button.hollow.primary:focus.disabled, .edit-link a.hollow.primary.post-edit-link:focus.disabled, .hollow.primary.forminator-button:focus.disabled, .button.hollow.primary:focus[disabled], .edit-link a.hollow.primary.post-edit-link:focus[disabled], .hollow.primary.forminator-button:focus[disabled] {
  border: 1px solid #008051;
  color: #008051;
}
.button.hollow.secondary, .edit-link a.hollow.secondary.post-edit-link, .hollow.secondary.forminator-button {
  border: 1px solid #75BB59;
  color: #75BB59;
}
.button.hollow.secondary:hover, .edit-link a.hollow.secondary.post-edit-link:hover, .hollow.secondary.forminator-button:hover, .button.hollow.secondary:focus, .edit-link a.hollow.secondary.post-edit-link:focus, .hollow.secondary.forminator-button:focus {
  border-color: rgb(56.6153846154, 97.8974358974, 40.1025641026);
  color: rgb(56.6153846154, 97.8974358974, 40.1025641026);
}
.button.hollow.secondary:hover.disabled, .edit-link a.hollow.secondary.post-edit-link:hover.disabled, .hollow.secondary.forminator-button:hover.disabled, .button.hollow.secondary:hover[disabled], .edit-link a.hollow.secondary.post-edit-link:hover[disabled], .hollow.secondary.forminator-button:hover[disabled], .button.hollow.secondary:focus.disabled, .edit-link a.hollow.secondary.post-edit-link:focus.disabled, .hollow.secondary.forminator-button:focus.disabled, .button.hollow.secondary:focus[disabled], .edit-link a.hollow.secondary.post-edit-link:focus[disabled], .hollow.secondary.forminator-button:focus[disabled] {
  border: 1px solid #75BB59;
  color: #75BB59;
}
.button.hollow.success, .edit-link a.hollow.success.post-edit-link, .hollow.success.forminator-button {
  border: 1px solid #3cc47c;
  color: #3cc47c;
}
.button.hollow.success:hover, .edit-link a.hollow.success.post-edit-link:hover, .hollow.success.forminator-button:hover, .button.hollow.success:focus, .edit-link a.hollow.success.post-edit-link:focus, .hollow.success.forminator-button:focus {
  border-color: rgb(29.7322834646, 98.2677165354, 61.9842519685);
  color: rgb(29.7322834646, 98.2677165354, 61.9842519685);
}
.button.hollow.success:hover.disabled, .edit-link a.hollow.success.post-edit-link:hover.disabled, .hollow.success.forminator-button:hover.disabled, .button.hollow.success:hover[disabled], .edit-link a.hollow.success.post-edit-link:hover[disabled], .hollow.success.forminator-button:hover[disabled], .button.hollow.success:focus.disabled, .edit-link a.hollow.success.post-edit-link:focus.disabled, .hollow.success.forminator-button:focus.disabled, .button.hollow.success:focus[disabled], .edit-link a.hollow.success.post-edit-link:focus[disabled], .hollow.success.forminator-button:focus[disabled] {
  border: 1px solid #3cc47c;
  color: #3cc47c;
}
.button.hollow.warning, .edit-link a.hollow.warning.post-edit-link, .hollow.warning.forminator-button {
  border: 1px solid #f7b733;
  color: #f7b733;
}
.button.hollow.warning:hover, .edit-link a.hollow.warning.post-edit-link:hover, .hollow.warning.forminator-button:hover, .button.hollow.warning:focus, .edit-link a.hollow.warning.post-edit-link:focus, .hollow.warning.forminator-button:focus {
  border-color: rgb(143.3773584906, 98.3962264151, 5.6226415094);
  color: rgb(143.3773584906, 98.3962264151, 5.6226415094);
}
.button.hollow.warning:hover.disabled, .edit-link a.hollow.warning.post-edit-link:hover.disabled, .hollow.warning.forminator-button:hover.disabled, .button.hollow.warning:hover[disabled], .edit-link a.hollow.warning.post-edit-link:hover[disabled], .hollow.warning.forminator-button:hover[disabled], .button.hollow.warning:focus.disabled, .edit-link a.hollow.warning.post-edit-link:focus.disabled, .hollow.warning.forminator-button:focus.disabled, .button.hollow.warning:focus[disabled], .edit-link a.hollow.warning.post-edit-link:focus[disabled], .hollow.warning.forminator-button:focus[disabled] {
  border: 1px solid #f7b733;
  color: #f7b733;
}
.button.hollow.alert, .edit-link a.hollow.alert.post-edit-link, .hollow.alert.forminator-button {
  border: 1px solid #fc4a1a;
  color: #fc4a1a;
}
.button.hollow.alert:hover, .edit-link a.hollow.alert.post-edit-link:hover, .hollow.alert.forminator-button:hover, .button.hollow.alert:focus, .edit-link a.hollow.alert.post-edit-link:focus, .hollow.alert.forminator-button:focus {
  border-color: rgb(137.2025862069, 30.5560344828, 1.7974137931);
  color: rgb(137.2025862069, 30.5560344828, 1.7974137931);
}
.button.hollow.alert:hover.disabled, .edit-link a.hollow.alert.post-edit-link:hover.disabled, .hollow.alert.forminator-button:hover.disabled, .button.hollow.alert:hover[disabled], .edit-link a.hollow.alert.post-edit-link:hover[disabled], .hollow.alert.forminator-button:hover[disabled], .button.hollow.alert:focus.disabled, .edit-link a.hollow.alert.post-edit-link:focus.disabled, .hollow.alert.forminator-button:focus.disabled, .button.hollow.alert:focus[disabled], .edit-link a.hollow.alert.post-edit-link:focus[disabled], .hollow.alert.forminator-button:focus[disabled] {
  border: 1px solid #fc4a1a;
  color: #fc4a1a;
}
.button.clear, .edit-link a.clear.post-edit-link, .clear.forminator-button, .button.clear:hover, .button.clear:focus {
  background-color: transparent;
}
.button.clear.disabled, .edit-link a.clear.disabled.post-edit-link, .clear.disabled.forminator-button, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .edit-link a.clear[disabled].post-edit-link, .clear[disabled].forminator-button, .button.clear[disabled]:hover, .button.clear[disabled]:focus {
  background-color: transparent;
}
.button.clear, .edit-link a.clear.post-edit-link, .clear.forminator-button {
  border: 1px solid #008051;
  color: #008051;
}
.button.clear:hover, .edit-link a.clear.post-edit-link:hover, .clear.forminator-button:hover, .button.clear:focus, .edit-link a.clear.post-edit-link:focus, .clear.forminator-button:focus {
  border-color: rgb(0, 64, 40.5);
  color: rgb(0, 64, 40.5);
}
.button.clear:hover.disabled, .edit-link a.clear.post-edit-link:hover.disabled, .clear.forminator-button:hover.disabled, .button.clear:hover[disabled], .edit-link a.clear.post-edit-link:hover[disabled], .clear.forminator-button:hover[disabled], .button.clear:focus.disabled, .edit-link a.clear.post-edit-link:focus.disabled, .clear.forminator-button:focus.disabled, .button.clear:focus[disabled], .edit-link a.clear.post-edit-link:focus[disabled], .clear.forminator-button:focus[disabled] {
  border: 1px solid #008051;
  color: #008051;
}
.button.clear, .edit-link a.clear.post-edit-link, .clear.forminator-button, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
  border-color: transparent;
}
.button.clear.primary, .edit-link a.clear.primary.post-edit-link, .clear.primary.forminator-button {
  border: 1px solid #008051;
  color: #008051;
}
.button.clear.primary:hover, .edit-link a.clear.primary.post-edit-link:hover, .clear.primary.forminator-button:hover, .button.clear.primary:focus, .edit-link a.clear.primary.post-edit-link:focus, .clear.primary.forminator-button:focus {
  border-color: rgb(0, 64, 40.5);
  color: rgb(0, 64, 40.5);
}
.button.clear.primary:hover.disabled, .edit-link a.clear.primary.post-edit-link:hover.disabled, .clear.primary.forminator-button:hover.disabled, .button.clear.primary:hover[disabled], .edit-link a.clear.primary.post-edit-link:hover[disabled], .clear.primary.forminator-button:hover[disabled], .button.clear.primary:focus.disabled, .edit-link a.clear.primary.post-edit-link:focus.disabled, .clear.primary.forminator-button:focus.disabled, .button.clear.primary:focus[disabled], .edit-link a.clear.primary.post-edit-link:focus[disabled], .clear.primary.forminator-button:focus[disabled] {
  border: 1px solid #008051;
  color: #008051;
}
.button.clear.primary, .edit-link a.clear.primary.post-edit-link, .clear.primary.forminator-button, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
  border-color: transparent;
}
.button.clear.secondary, .edit-link a.clear.secondary.post-edit-link, .clear.secondary.forminator-button {
  border: 1px solid #75BB59;
  color: #75BB59;
}
.button.clear.secondary:hover, .edit-link a.clear.secondary.post-edit-link:hover, .clear.secondary.forminator-button:hover, .button.clear.secondary:focus, .edit-link a.clear.secondary.post-edit-link:focus, .clear.secondary.forminator-button:focus {
  border-color: rgb(56.6153846154, 97.8974358974, 40.1025641026);
  color: rgb(56.6153846154, 97.8974358974, 40.1025641026);
}
.button.clear.secondary:hover.disabled, .edit-link a.clear.secondary.post-edit-link:hover.disabled, .clear.secondary.forminator-button:hover.disabled, .button.clear.secondary:hover[disabled], .edit-link a.clear.secondary.post-edit-link:hover[disabled], .clear.secondary.forminator-button:hover[disabled], .button.clear.secondary:focus.disabled, .edit-link a.clear.secondary.post-edit-link:focus.disabled, .clear.secondary.forminator-button:focus.disabled, .button.clear.secondary:focus[disabled], .edit-link a.clear.secondary.post-edit-link:focus[disabled], .clear.secondary.forminator-button:focus[disabled] {
  border: 1px solid #75BB59;
  color: #75BB59;
}
.button.clear.secondary, .edit-link a.clear.secondary.post-edit-link, .clear.secondary.forminator-button, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
  border-color: transparent;
}
.button.clear.success, .edit-link a.clear.success.post-edit-link, .clear.success.forminator-button {
  border: 1px solid #3cc47c;
  color: #3cc47c;
}
.button.clear.success:hover, .edit-link a.clear.success.post-edit-link:hover, .clear.success.forminator-button:hover, .button.clear.success:focus, .edit-link a.clear.success.post-edit-link:focus, .clear.success.forminator-button:focus {
  border-color: rgb(29.7322834646, 98.2677165354, 61.9842519685);
  color: rgb(29.7322834646, 98.2677165354, 61.9842519685);
}
.button.clear.success:hover.disabled, .edit-link a.clear.success.post-edit-link:hover.disabled, .clear.success.forminator-button:hover.disabled, .button.clear.success:hover[disabled], .edit-link a.clear.success.post-edit-link:hover[disabled], .clear.success.forminator-button:hover[disabled], .button.clear.success:focus.disabled, .edit-link a.clear.success.post-edit-link:focus.disabled, .clear.success.forminator-button:focus.disabled, .button.clear.success:focus[disabled], .edit-link a.clear.success.post-edit-link:focus[disabled], .clear.success.forminator-button:focus[disabled] {
  border: 1px solid #3cc47c;
  color: #3cc47c;
}
.button.clear.success, .edit-link a.clear.success.post-edit-link, .clear.success.forminator-button, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
  border-color: transparent;
}
.button.clear.warning, .edit-link a.clear.warning.post-edit-link, .clear.warning.forminator-button {
  border: 1px solid #f7b733;
  color: #f7b733;
}
.button.clear.warning:hover, .edit-link a.clear.warning.post-edit-link:hover, .clear.warning.forminator-button:hover, .button.clear.warning:focus, .edit-link a.clear.warning.post-edit-link:focus, .clear.warning.forminator-button:focus {
  border-color: rgb(143.3773584906, 98.3962264151, 5.6226415094);
  color: rgb(143.3773584906, 98.3962264151, 5.6226415094);
}
.button.clear.warning:hover.disabled, .edit-link a.clear.warning.post-edit-link:hover.disabled, .clear.warning.forminator-button:hover.disabled, .button.clear.warning:hover[disabled], .edit-link a.clear.warning.post-edit-link:hover[disabled], .clear.warning.forminator-button:hover[disabled], .button.clear.warning:focus.disabled, .edit-link a.clear.warning.post-edit-link:focus.disabled, .clear.warning.forminator-button:focus.disabled, .button.clear.warning:focus[disabled], .edit-link a.clear.warning.post-edit-link:focus[disabled], .clear.warning.forminator-button:focus[disabled] {
  border: 1px solid #f7b733;
  color: #f7b733;
}
.button.clear.warning, .edit-link a.clear.warning.post-edit-link, .clear.warning.forminator-button, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
  border-color: transparent;
}
.button.clear.alert, .edit-link a.clear.alert.post-edit-link, .clear.alert.forminator-button {
  border: 1px solid #fc4a1a;
  color: #fc4a1a;
}
.button.clear.alert:hover, .edit-link a.clear.alert.post-edit-link:hover, .clear.alert.forminator-button:hover, .button.clear.alert:focus, .edit-link a.clear.alert.post-edit-link:focus, .clear.alert.forminator-button:focus {
  border-color: rgb(137.2025862069, 30.5560344828, 1.7974137931);
  color: rgb(137.2025862069, 30.5560344828, 1.7974137931);
}
.button.clear.alert:hover.disabled, .edit-link a.clear.alert.post-edit-link:hover.disabled, .clear.alert.forminator-button:hover.disabled, .button.clear.alert:hover[disabled], .edit-link a.clear.alert.post-edit-link:hover[disabled], .clear.alert.forminator-button:hover[disabled], .button.clear.alert:focus.disabled, .edit-link a.clear.alert.post-edit-link:focus.disabled, .clear.alert.forminator-button:focus.disabled, .button.clear.alert:focus[disabled], .edit-link a.clear.alert.post-edit-link:focus[disabled], .clear.alert.forminator-button:focus[disabled] {
  border: 1px solid #fc4a1a;
  color: #fc4a1a;
}
.button.clear.alert, .edit-link a.clear.alert.post-edit-link, .clear.alert.forminator-button, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
  border-color: transparent;
}
.button.dropdown::after, .edit-link a.dropdown.post-edit-link::after, .dropdown.forminator-button::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4em;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #fff transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 1em;
}
.button.dropdown.hollow::after, .edit-link a.dropdown.hollow.post-edit-link::after, .dropdown.hollow.forminator-button::after {
  border-top-color: #008051;
}
.button.dropdown.hollow.primary::after, .edit-link a.dropdown.hollow.primary.post-edit-link::after, .dropdown.hollow.primary.forminator-button::after {
  border-top-color: #008051;
}
.button.dropdown.hollow.secondary::after, .edit-link a.dropdown.hollow.secondary.post-edit-link::after, .dropdown.hollow.secondary.forminator-button::after {
  border-top-color: #75BB59;
}
.button.dropdown.hollow.success::after, .edit-link a.dropdown.hollow.success.post-edit-link::after, .dropdown.hollow.success.forminator-button::after {
  border-top-color: #3cc47c;
}
.button.dropdown.hollow.warning::after, .edit-link a.dropdown.hollow.warning.post-edit-link::after, .dropdown.hollow.warning.forminator-button::after {
  border-top-color: #f7b733;
}
.button.dropdown.hollow.alert::after, .edit-link a.dropdown.hollow.alert.post-edit-link::after, .dropdown.hollow.alert.forminator-button::after {
  border-top-color: #fc4a1a;
}
.button.arrow-only::after, .edit-link a.arrow-only.post-edit-link::after, .arrow-only.forminator-button::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

a.button:hover, .edit-link a.post-edit-link:hover, a.forminator-button:hover, a.button:focus, .edit-link a.post-edit-link:focus, a.forminator-button:focus {
  text-decoration: none;
}

[type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #a3a3a3;
  border-radius: 0.1875rem;
  background-color: #fff;
  box-shadow: inset 0 1px 2px rgba(61, 65, 56, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #3D4138;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}
[type=text]:focus, [type=password]:focus, [type=date]:focus, [type=datetime]:focus, [type=datetime-local]:focus, [type=month]:focus, [type=week]:focus, [type=email]:focus, [type=number]:focus, [type=search]:focus, [type=tel]:focus, [type=time]:focus, [type=url]:focus, [type=color]:focus,
textarea:focus {
  outline: none;
  border: 1px solid #3D4138;
  background-color: #fff;
  box-shadow: 0 0 5px #a3a3a3;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}
[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 {
  -webkit-appearance: none;
          appearance: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  height: auto;
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1rem;
}

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

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

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

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
          appearance: none;
  border: 1px solid #a3a3a3;
  border-radius: 0.1875rem;
  background-color: #fff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #3D4138;
  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%2861, 65, 56%29'></polygon></svg>");
}
@media screen and (min-width: 0\0 ) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}
select {
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}
select:focus {
  outline: none;
  border: 1px solid #3D4138;
  background-color: #fff;
  box-shadow: 0 0 5px #a3a3a3;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}
select:disabled {
  background-color: #e6e6e6;
  cursor: not-allowed;
}
select::-ms-expand {
  display: none;
}
select[multiple] {
  height: auto;
  background-image: none;
}

.is-invalid-input:not(:focus) {
  border-color: #fc4a1a;
  background-color: rgb(254.7, 236.9, 232.1);
}
.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #fc4a1a;
}
.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #fc4a1a;
}
.is-invalid-input:not(:focus)::placeholder {
  color: #fc4a1a;
}

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

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

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

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

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

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

.accordion-menu li {
  width: 100%;
}
.accordion-menu a {
  padding: 0;
}
.accordion-menu .is-accordion-submenu a {
  padding: 0;
}
.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem;
}
.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #fff transparent transparent;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 1rem;
}
.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  left: auto;
  right: 1rem;
}
.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem;
}
.accordion-menu .is-accordion-submenu-parent[aria-expanded=true] > a::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

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

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

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

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

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

.callout {
  position: relative;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0.1875rem;
}
.callout > :first-child {
  margin-top: 0;
}
.callout > :last-child {
  margin-bottom: 0;
}
.callout {
  background-color: rgba(255, 255, 255, 0);
  color: #3D4138;
}
.callout.primary {
  background-color: white;
  color: #3D4138;
}
.callout.secondary {
  background-color: white;
  color: #3D4138;
}
.callout.success {
  background-color: white;
  color: #3D4138;
}
.callout.warning {
  background-color: white;
  color: #3D4138;
}
.callout.alert {
  background-color: white;
  color: #3D4138;
}
.callout.small {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}
.callout.large {
  padding-top: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
}

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

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

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

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

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

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
[data-whatinput=mouse] .menu li {
  outline: 0;
}
.menu a,
.menu .button,
.menu .edit-link a.post-edit-link,
.edit-link .menu a.post-edit-link,
.menu .forminator-button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 0;
}
.menu input,
.menu select,
.menu a,
.menu button {
  margin-bottom: 0;
}
.menu input {
  display: inline-block;
}
.menu, .menu.horizontal {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
}
.menu.vertical {
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.menu.expanded li {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}
.menu.simple {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.menu.simple li + li {
  margin-left: 1rem;
}
.menu.simple a {
  padding: 0;
}
@media print, screen and (min-width: 40em) {
  .menu.medium-horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.medium-vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.medium-expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.medium-simple li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
@media print, screen and (min-width: 64em) {
  .menu.large-horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.large-vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.large-expanded li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.large-simple li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}
.menu.nested {
  margin-right: 0;
  margin-left: 1rem;
}
.menu.icons a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.menu.icon-left li a {
  -webkit-flex-flow: row nowrap;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}
.menu.icon-left li a img,
.menu.icon-left li a i,
.menu.icon-left li a svg {
  margin-right: 0.25rem;
}
.menu.icon-right li a {
  -webkit-flex-flow: row nowrap;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}
.menu.icon-right li a img,
.menu.icon-right li a i,
.menu.icon-right li a svg {
  margin-left: 0.25rem;
}
.menu.icon-top li a {
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.menu.icon-top li a img,
.menu.icon-top li a i,
.menu.icon-top li a svg {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}
.menu.icon-bottom li a {
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}
.menu.icon-bottom li a img,
.menu.icon-bottom li a i,
.menu.icon-bottom li a svg {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}
.menu .is-active > a {
  background: transparent;
  color: #fff;
}
.menu .active > a {
  background: transparent;
  color: #fff;
}
.menu.align-left {
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu.align-right li {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.menu.align-right li .submenu li {
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu.align-right.vertical li {
  display: block;
  text-align: right;
}
.menu.align-right.vertical li .submenu li {
  text-align: right;
}
.menu.align-right .nested {
  margin-right: 1rem;
  margin-left: 0;
}
.menu.align-center li {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.menu.align-center li .submenu li {
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.menu .menu-text {
  padding: 0;
  font-weight: bold;
  line-height: 1;
  color: inherit;
}

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

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

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

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

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

.drilldown a {
  padding: 0;
  background: #fff;
}
.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fff;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear;
}
.drilldown .is-drilldown-submenu.is-active {
  z-index: 1;
  display: block;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
}
.drilldown .is-drilldown-submenu.is-closing {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
}
.drilldown .is-drilldown-submenu a {
  padding: 0;
}
.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%;
}
.drilldown .is-drilldown-submenu-parent > a {
  position: relative;
}
.drilldown .is-drilldown-submenu-parent > a::after {
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #008051;
}
.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  left: auto;
  right: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #008051;
}
.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  right: auto;
  left: 1rem;
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #008051 transparent transparent;
}
.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: "";
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #008051 transparent transparent;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
  border-left-width: 0;
}

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

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

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

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

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}
.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}
[data-whatinput=mouse] .dropdown.menu a {
  outline: 0;
}
.dropdown.menu a {
  padding: 0;
}
.dropdown.menu .is-active > a {
  background: transparent;
  color: #e6e6e6;
}
.no-js .dropdown.menu ul {
  display: none;
}
.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}
.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
  top: 0;
}
.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}
@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto;
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
}
.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

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

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

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 9.375rem;
  border: none;
  background: #75BB59;
}
.dropdown .is-dropdown-submenu a {
  padding: 0;
}
.is-dropdown-submenu > li {
  width: 100%;
}
.is-dropdown-submenu.js-dropdown-active {
  display: block;
}

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0.1875rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #008051;
  color: #fff;
}
.label.primary {
  background: #008051;
  color: #fff;
}
.label.secondary {
  background: #75BB59;
  color: #3D4138;
}
.label.success {
  background: #3cc47c;
  color: #3D4138;
}
.label.warning {
  background: #f7b733;
  color: #3D4138;
}
.label.alert {
  background: #fc4a1a;
  color: #fff;
}

.media-object {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
}
.media-object img {
  max-width: none;
}
@media screen and (max-width: 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: 1rem;
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    max-width: 100%;
  }
  .media-object.stack-for-small .media-object-section img {
    width: 100%;
  }
}

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

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

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

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

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

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

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

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

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0.1875rem;
}
thead,
tbody,
tfoot {
  border: 1px solid rgb(242.25, 242.25, 242.25);
  background-color: #fff;
}

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: 700;
}

thead {
  background: rgb(248.625, 248.625, 248.625);
  color: #3D4138;
}

tfoot {
  background: rgb(242.25, 242.25, 242.25);
  color: #3D4138;
}

thead tr,
tfoot tr {
  background: transparent;
}
thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: 700;
  text-align: left;
}

tbody th,
tbody td {
  padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: rgb(242.25, 242.25, 242.25);
}

table.unstriped tbody tr {
  border-bottom: 0;
  border-bottom: 1px solid rgb(242.25, 242.25, 242.25);
  background-color: #fff;
}
table.unstriped tbody {
  background-color: #fff;
}

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

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

table.hover thead tr:hover {
  background-color: rgb(243.525, 243.525, 243.525);
}
table.hover tfoot tr:hover {
  background-color: rgb(237.15, 237.15, 237.15);
}
table.hover tbody tr:hover {
  background-color: rgb(249.9, 249.9, 249.9);
}
table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: rgb(237.15, 237.15, 237.15);
}

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

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

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

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

.tabs.primary {
  background: #008051;
}
.tabs.primary > li > a {
  color: #fff;
}
.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: rgb(0, 147.1, 93.08671875);
}

.tabs-title {
  float: left;
}
.tabs-title > a {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  line-height: 1;
  color: #008051;
}
.tabs-title > a:hover {
  background: #e6e6e6;
  color: rgb(0, 110.08, 69.66);
}
.tabs-title > a:focus, .tabs-title > a[aria-selected=true] {
  background: #008051;
  color: #e6e6e6;
}

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

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

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

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

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

.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 print, 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 print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .medium-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .medium-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .medium-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .medium-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .medium-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .medium-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .medium-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .large-flex-child-auto {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .large-flex-child-grow {
    -webkit-flex: 1 0 auto;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .large-flex-child-shrink {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .large-flex-dir-row {
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .large-flex-dir-row-reverse {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .large-flex-dir-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .large-flex-dir-column-reverse {
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
.top-pad, .top-btm-pad {
  padding-top: 40px;
}

.btm-pad, .top-btm-pad {
  padding-bottom: 40px;
}

.half-top-pad {
  padding-top: 20px;
}

.half-btm-mar {
  padding-bottom: 20px;
}

.double-top-pad {
  padding-top: 80px;
}

.double-btm-pad {
  padding-bottom: 80px;
}

@media print, screen and (min-width: 40em) {
  .top-pad, .top-btm-pad {
    padding-top: 50px;
  }
  .btm-pad, .top-btm-pad {
    padding-bottom: 50px;
  }
  .half-top-pad {
    padding-top: 25px;
  }
  .half-btm-mar {
    padding-bottom: 25px;
  }
  .double-top-pad {
    padding-top: 100px;
  }
  .double-btm-pad {
    padding-bottom: 100px;
  }
}
@media print, screen and (min-width: 64em) {
  .top-pad, .top-btm-pad {
    padding-top: 60px;
  }
  .btm-pad, .top-btm-pad {
    padding-bottom: 60px;
  }
  .half-top-pad {
    padding-top: 30px;
  }
  .half-btm-pad {
    padding-bottom: 30px;
  }
  .double-top-pad {
    padding-top: 120px;
  }
  .double-btm-pad {
    padding-bottom: 120px;
  }
}
.top-mar, .top-btm-mar {
  margin-top: 40px;
}

.btm-mar, .top-btm-mar {
  margin-bottom: 40px;
}

.half-top-mar {
  margin-top: 20px;
}

.half-btm-mar {
  margin-bottom: 20px;
}

@media print, screen and (min-width: 40em) {
  .top-mar, .top-btm-mar {
    margin-top: 50px;
  }
  .btm-mar, .top-btm-mar {
    margin-bottom: 50px;
  }
  .half-top-mar {
    margin-top: 25px;
  }
  .half-btm-mar {
    margin-bottom: 25px;
  }
}
@media print, screen and (min-width: 64em) {
  .top-mar, .top-btm-mar {
    margin-top: 60px;
  }
  .btm-mar, .top-btm-mar {
    margin-bottom: 60px;
  }
  .half-top-mar {
    margin-top: 30px;
  }
  .half-btm-mar {
    margin-bottom: 30px;
  }
}
.button.tiny, .edit-link a.tiny.post-edit-link, .tiny.forminator-button {
  padding: 0.3125rem 0.5rem 0.25rem 0.5rem;
}
.button.tiny .main-text, .edit-link a.tiny.post-edit-link .main-text, .tiny.forminator-button .main-text {
  font-size: 0.875rem;
}
.button.tiny p, .edit-link a.tiny.post-edit-link p, .tiny.forminator-button p {
  font-size: 0.6875rem;
  margin-bottom: 0.125rem;
}
.button.large .main-text, .edit-link a.large.post-edit-link .main-text, .large.forminator-button .main-text {
  margin-bottom: 0;
}
.button.large p, .edit-link a.large.post-edit-link p, .large.forminator-button p {
  margin-bottom: 0;
}
.button.large .main-text, .edit-link a.large.post-edit-link .main-text, .large.forminator-button .main-text {
  font-size: 1.5rem;
}
.button.large p, .edit-link a.large.post-edit-link p, .large.forminator-button p {
  font-size: 1rem;
}
@media print, screen and (min-width: 40em) {
  .button.large .main-text, .edit-link a.large.post-edit-link .main-text, .large.forminator-button .main-text {
    font-size: 2rem;
  }
  .button.large p, .edit-link a.large.post-edit-link p, .large.forminator-button p {
    font-size: 1.3125rem;
  }
}

.button.no-btm-mar, .edit-link a.no-btm-mar.post-edit-link, .no-btm-mar.forminator-button {
  margin-bottom: 0;
}

.button.secondary-btn-color, .edit-link a.secondary-btn-color.post-edit-link, .secondary-btn-color.forminator-button {
  background-color: #75BB59;
  color: #008051;
}

.button.success-btn-color, .edit-link a.success-btn-color.post-edit-link, .success-btn-color.forminator-button {
  background-color: #3cc47c;
  color: #008051;
}

.button.warning-btn-color, .edit-link a.warning-btn-color.post-edit-link, .warning-btn-color.forminator-button {
  background-color: #f7b733;
  color: #008051;
}

.button.alert-btn-color, .edit-link a.alert-btn-color.post-edit-link, .alert-btn-color.forminator-button {
  background-color: #fc4a1a;
  color: #fff;
}

.button.gray-btn-color, .edit-link a.gray-btn-color.post-edit-link, .gray-btn-color.forminator-button {
  background-color: #a3a3a3;
  color: #fff;
}

.button.white-btn-color, .edit-link a.white-btn-color.post-edit-link, .white-btn-color.forminator-button {
  background-color: #fff;
  color: #3D4138;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
.accordion .accordion-item .accordion-title,
li {
  transition: font-size 0.2s ease-in-out;
}

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

.lg-text {
  font-size: 115%;
}
.lg-text h1 {
  font-size: 4.375rem;
}

@media print, screen and (min-width: 40em) {
  .lg-text {
    font-size: 150%;
  }
  .lg-text h1 {
    font-size: 5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .lg-text {
    font-size: 150%;
  }
  .lg-text h1 {
    font-size: 7.5rem;
  }
}
@media screen and (min-width: 75em) {
  .lg-text {
    font-size: 200%;
  }
  .lg-text h1 {
    font-size: 10rem;
  }
}
/* Fix negative margins on the grid elements */
.grid-margin-x {
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-margin-x {
    margin-left: -1.5625rem;
    margin-right: -1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x {
    margin-left: -1.875rem;
    margin-right: -1.875rem;
  }
}
.grid-padding-x .grid-padding-x {
  margin-right: -1.25rem;
  margin-left: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-padding-x .grid-padding-x {
    margin-right: -1.5625rem;
    margin-left: -1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-padding-x .grid-padding-x {
    margin-right: -1.875rem;
    margin-left: -1.875rem;
  }
}
.grid-container:not(.full) > .grid-padding-x {
  margin-right: -1.25rem;
  margin-left: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .grid-container:not(.full) > .grid-padding-x {
    margin-right: -1.5625rem;
    margin-left: -1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-container:not(.full) > .grid-padding-x {
    margin-right: -1.875rem;
    margin-left: -1.875rem;
  }
}
.gallery {
  margin-right: -1.25rem;
  margin-left: -1.25rem;
}

@media print, screen and (min-width: 40em) {
  .gallery {
    margin-right: -1.5625rem;
    margin-left: -1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .gallery {
    margin-right: -1.875rem;
    margin-left: -1.875rem;
  }
}
@media print, screen and (min-width: 40em) {
  .small-content .fw-content .main-content-wrapper {
    width: 83.3333333333%;
    margin-right: 0;
    margin-left: 0;
    margin-left: calc(8.3333333333% + 1.25rem);
    padding-left: 0;
    padding-right: 2.3125rem;
  }
}
@media print, screen and (min-width: 64em) {
  .small-content .fw-content .main-content-wrapper {
    width: 66.6666666667%;
    margin-right: 0;
    margin-left: 0;
    margin-left: calc(16.6666666667% + 1.25rem);
    padding-left: 0;
    padding-right: 2.3125rem;
  }
}
@media screen and (max-width: 74.9375em) {
  .yellow-background-shape {
    background-color: rgba(240, 204, 127, 0.25);
    margin-bottom: 2.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .yellow-background-shape.grid-container {
    padding-left: 3.75rem;
    padding-right: 3.75rem;
  }
}
.yellow-background-shape .tc-sb-content .button, .yellow-background-shape .tc-sb-content .edit-link a.post-edit-link, .edit-link .yellow-background-shape .tc-sb-content a.post-edit-link, .yellow-background-shape .tc-sb-content .forminator-button {
  margin: 0;
}
.yellow-background-shape .tc-sb-content .sidebar-content-wrapper img {
  visibility: hidden;
}
@media screen and (max-width: 39.9375em) {
  .yellow-background-shape .tc-sb-content .sidebar-content-wrapper {
    text-align: center;
    margin-bottom: 0.9375rem;
  }
}
@media screen and (min-width: 75em) {
  .yellow-background-shape .tc-sb-content {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1192.031" height="360.961" viewBox="0 0 1192.031 360.961"><path id="a-man-seated-at-a-computer-screen-working-on-his-o-2026-01-09-08-36-52-utc-Colourized" d="M1277.877,363.861l-999.918-.5c-57.948,0-85.327-33.929-75.922-93.474L231.6,83.188C239.663,32.294,268.385,2.9,323.562,2.9h998.659c42.915,0,78.44,28.974,68.278,93.474l-31.326,197.949A82.392,82.392,0,0,1,1277.877,363.861Z" transform="translate(-200.22 -2.9)" fill="%23f0cc7f" opacity="0.246"/></svg>');
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 2.5rem 2.8125rem;
    min-height: 23.125rem;
  }
}
@media screen and (min-width: 75em) {
  .yellow-background-shape .tc-sb-content .sidebar-content-wrapper {
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
  }
}

.surrounding-shapes {
  position: relative;
}
@media screen and (min-width: 75em) {
  .surrounding-shapes {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}
@media screen and (min-width: 75em) {
  .surrounding-shapes::before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="272.464" height="397.013" viewBox="0 0 272.464 397.013"><g id="Group_54" data-name="Group 54" transform="translate(76.882 -618.108)"><path id="Path_396" data-name="Path 396" d="M221.846-217.649H65.519c-15.465,0-22.761-9.068-20.269-24.923l7.867-49.817c2.162-13.573,9.819-21.41,24.533-21.41l156-.12c11.441,0,20.93,7.747,18.227,24.924l-8.378,52.82a22,22,0,0,1-21.68,18.557Z" transform="translate(-73.697 932.528)" fill="none" stroke="%23f0cc7f" stroke-miterlimit="10" stroke-width="1"/><path id="Path_405" data-name="Path 405" d="M168.269-167.829H100.375c-15.465,0-22.791-9.069-20.269-24.924l7.958-49.817c2.162-13.573,9.819-21.44,24.563-21.44H180.28c11.441,0,20.93,7.747,18.227,24.923l-8.348,52.7a22.216,22.216,0,0,1-21.891,18.557Z" transform="translate(-3.905 1032.489)" fill="none" stroke="%23f0cc7f" stroke-miterlimit="10" stroke-width="1"/><path id="Path_406" data-name="Path 406" d="M92.889-167.879H57.426c-15.465,0-22.521-9.159-20.029-25.014l7.867-49.7C47.427-256.163,55.084-264,69.8-264h35.133c11.441,0,20.93,7.747,18.227,24.923l-8.378,52.67A22.192,22.192,0,0,1,92.889-167.85Z" transform="translate(-89.446 1032.51)" fill="none" stroke="%23f0cc7f" stroke-miterlimit="10" stroke-width="1"/><path id="Path_413" data-name="Path 413" d="M206.046-117.839H49.719c-15.465,0-22.761-9.069-20.269-24.924l7.867-49.817c2.162-13.573,9.819-21.41,24.533-21.41l156-.12c11.441,0,20.93,7.747,18.227,24.923l-8.378,52.82a22,22,0,0,1-21.68,18.557Z" transform="translate(-105.342 1132.431)" fill="none" stroke="%23f0cc7f" stroke-miterlimit="10" stroke-width="1"/></g></svg>');
    content: "";
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: -75px;
    height: 397px;
    width: 272px;
  }
}
@media screen and (min-width: 90em) {
  .surrounding-shapes::before {
    left: -15px;
  }
}
@media screen and (min-width: 75em) {
  .surrounding-shapes::after {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="601.286" height="397.013" viewBox="0 0 601.286 397.013"><g id="Group_55" data-name="Group 55" transform="translate(-920.107 -618.108)"><path id="Path_401" data-name="Path 401" d="M416.969-217.78H381.506c-15.465,0-22.521-9.159-20.029-25.014l7.867-49.7c2.162-13.573,9.819-21.41,24.533-21.41h35.133c11.441,0,20.93,7.747,18.227,24.923l-8.378,52.67a22.192,22.192,0,0,1-21.891,18.557Z" transform="translate(559.631 932.568)" fill="none" stroke="%23f0cc7f" stroke-miterlimit="10" stroke-width="1"/><path id="Path_402" data-name="Path 402" d="M580.866-217.649H424.539c-15.465,0-22.761-9.068-20.269-24.923l7.867-49.817c2.162-13.573,9.819-21.41,24.533-21.41l156-.12c11.441,0,20.93,7.747,18.227,24.924l-8.378,52.82a22,22,0,0,1-21.68,18.557Z" transform="translate(645.358 932.528)" fill="none" stroke="%23f0cc7f" stroke-miterlimit="10" stroke-width="1"/><path id="Path_410" data-name="Path 410" d="M668.836-167.759H512.509c-15.465,0-22.761-9.069-20.269-24.924l7.868-49.817c2.162-13.573,9.819-21.41,24.533-21.41l156-.12c11.441,0,20.93,7.747,18.227,24.923l-8.378,52.82a22,22,0,0,1-21.68,18.557Z" transform="translate(821.549 1032.449)" fill="none" stroke="%23f0cc7f" stroke-miterlimit="10" stroke-width="1"/><path id="Path_411" data-name="Path 411" d="M526.819-167.829H458.925c-15.465,0-22.791-9.069-20.269-24.924l7.958-49.817c2.162-13.573,9.819-21.44,24.563-21.44H538.83c11.441,0,20.93,7.747,18.227,24.923l-8.348,52.7a22.216,22.216,0,0,1-21.891,18.557Z" transform="translate(714.21 1032.489)" fill="none" stroke="%23f0cc7f" stroke-miterlimit="10" stroke-width="1"/><path id="Path_419" data-name="Path 419" d="M565.056-117.839H408.729c-15.464,0-22.761-9.069-20.269-24.924l7.867-49.817c2.162-13.573,9.819-21.41,24.533-21.41l156-.12c11.441,0,20.93,7.747,18.227,24.923l-8.378,52.82a22,22,0,0,1-21.68,18.557Z" transform="translate(613.693 1132.431)" fill="none" stroke="%23f0cc7f" stroke-miterlimit="10" stroke-width="1"/><path id="Path_421" data-name="Path 421" d="M580.68-117.959H545.216c-15.465,0-22.521-9.159-20.029-25.014l7.868-49.7c2.162-13.573,9.819-21.41,24.533-21.41h35.133c11.441,0,20.93,7.747,18.227,24.923l-8.378,52.67A22.192,22.192,0,0,1,580.68-117.93Z" transform="translate(887.514 1132.491)" fill="none" stroke="%23f0cc7f" stroke-miterlimit="10" stroke-width="1"/></g></svg>');
    content: "";
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    right: -175px;
    height: 397px;
    width: 601px;
  }
}
@media screen and (min-width: 90em) {
  .surrounding-shapes::after {
    right: -70px;
  }
}

@media screen and (min-width: 75em) {
  .one-column-full-width .grid-container {
    padding-left: 0;
    padding-right: 0;
  }
  .one-column-full-width .grid-container .grid-padding-x > .cell {
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
}

.interior-page-color-bar {
  width: 100%;
  display: block;
  overflow: hidden;
}
.interior-page-color-bar svg {
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (max-width: 39.9375em) {
  .interior-page-color-bar svg {
    margin-left: -1.25rem;
    width: 108%;
  }
}
@media screen and (min-width: 75em) {
  .interior-page-color-bar svg {
    margin-left: -1.6875rem;
    width: 103%;
  }
}

.interior-page-title h1 {
  color: #008051;
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

.img-bg {
  background-size: cover;
}
.img-bg .main-content-wrapper h1,
.img-bg .main-content-wrapper h2,
.img-bg .main-content-wrapper h3,
.img-bg .main-content-wrapper h4,
.img-bg .main-content-wrapper h5,
.img-bg .main-content-wrapper h6,
.img-bg .main-content-wrapper .accordion .accordion-item .accordion-title,
.accordion .accordion-item .img-bg .main-content-wrapper .accordion-title,
.img-bg .main-content-wrapper p {
  color: #fff;
}
.img-bg.overlay-black {
  position: relative;
}
.img-bg.overlay-black::before, .img-bg.overlay-black::after {
  content: "";
  height: 100%;
  opacity: 0.3;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}
.img-bg.overlay-black .content-band {
  position: relative;
}
.img-bg.overlay-black::before, .img-bg.overlay-black::after {
  background-color: #3D4138;
}

.lt-gray-bg {
  background-color: #e6e6e6;
}

.md-gray-bg {
  background-color: #a3a3a3;
  color: #fff;
}

.black-bg {
  background-color: #3D4138;
  color: #a3a3a3;
}

.faded-yellow-bg {
  background-color: rgba(240, 204, 127, 0.25);
}

.forminator-ui {
  font-family: "nunito", sans-serif !important;
}
.forminator-ui label, .forminator-ui legend {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  font-style: italic;
  color: #008051 !important;
  margin-bottom: 0.3125rem !important;
}
.forminator-ui input,
.forminator-ui select,
.forminator-ui textarea {
  margin-bottom: 0.75rem !important;
  border: 1px solid #008051 !important;
  border-radius: 7px !important;
}

.forminator-required {
  color: #C84539;
}

.forminator-button {
  font-family: "nunito", sans-serif !important;
  font-style: italic !important;
  margin-bottom: 0 !important;
  border-radius: 0.625rem !important;
  font-weight: 700 !important;
  font-size: 1.375rem !important;
  padding: 0.375rem 2.5rem !important;
}

.forminator-button[disabled] {
  font-family: "nunito", sans-serif !important;
  font-style: italic !important;
  margin-bottom: 0;
  border-radius: 0.625rem !important;
  font-size: 1.375rem !important;
  padding: 0.375rem 2.5rem !important;
}

.forminator-button:hover {
  box-shadow: none !important;
}

.forminator-row {
  margin-bottom: 0.625rem !important;
}

.forminator-error, .forminator-error-message {
  color: #E79C58;
}

p,
.p {
  font-size: 1.1875rem;
  line-height: 1.5rem;
  margin-bottom: 1.25rem;
}

.main-content ul,
.main-content ol {
  font-size: 1.1875rem;
  line-height: 1.5rem;
  margin-bottom: 1.25rem;
}

h1,
.h1,
.type-size-6,
.type-size-6 p,
.type-size-6 li {
  font-size: 2.5rem;
  line-height: 2.5rem;
  margin-bottom: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  h1,
  .h1,
  .type-size-6,
  .type-size-6 p,
  .type-size-6 li {
    font-size: 3.375rem;
    line-height: 3.4375rem;
    margin-bottom: 1.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  h1,
  .h1,
  .type-size-6,
  .type-size-6 p,
  .type-size-6 li {
    font-size: 3.75rem;
    line-height: 3.8125rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (min-width: 75em) {
  h1,
  .h1,
  .type-size-6,
  .type-size-6 p,
  .type-size-6 li {
    font-size: 3.75rem;
    line-height: 3.8125rem;
    margin-bottom: 1.25rem;
  }
}

h2,
.h2,
.type-size-5,
.type-size-5 p,
.type-size-5 li {
  font-size: 2.0625rem;
  line-height: 2.0625rem;
  margin-bottom: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  h2,
  .h2,
  .type-size-5,
  .type-size-5 p,
  .type-size-5 li {
    font-size: 2.75rem;
    line-height: 2.8125rem;
    margin-bottom: 1.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  h2,
  .h2,
  .type-size-5,
  .type-size-5 p,
  .type-size-5 li {
    font-size: 3.125rem;
    line-height: 3.1875rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (min-width: 75em) {
  h2,
  .h2,
  .type-size-5,
  .type-size-5 p,
  .type-size-5 li {
    font-size: 3.125rem;
    line-height: 3.1875rem;
    margin-bottom: 1.25rem;
  }
}

h3,
.h3,
.type-size-4,
.type-size-4 p,
.type-size-4 li {
  font-size: 1.8125rem;
  line-height: 1.9375rem;
  margin-bottom: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  h3,
  .h3,
  .type-size-4,
  .type-size-4 p,
  .type-size-4 li {
    font-size: 2.25rem;
    line-height: 2.3125rem;
    margin-bottom: 1.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  h3,
  .h3,
  .type-size-4,
  .type-size-4 p,
  .type-size-4 li {
    font-size: 2.625rem;
    line-height: 2.6875rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (min-width: 75em) {
  h3,
  .h3,
  .type-size-4,
  .type-size-4 p,
  .type-size-4 li {
    font-size: 2.625rem;
    line-height: 2.6875rem;
    margin-bottom: 1.25rem;
  }
}

h4,
.h4,
.type-size-3,
.type-size-3 p,
.type-size-3 li {
  font-size: 1.625rem;
  line-height: 1.75rem;
  margin-bottom: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  h4,
  .h4,
  .type-size-3,
  .type-size-3 p,
  .type-size-3 li {
    font-size: 1.8125rem;
    line-height: 1.9375rem;
    margin-bottom: 1.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  h4,
  .h4,
  .type-size-3,
  .type-size-3 p,
  .type-size-3 li {
    font-size: 2.1875rem;
    line-height: 2.3125rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (min-width: 75em) {
  h4,
  .h4,
  .type-size-3,
  .type-size-3 p,
  .type-size-3 li {
    font-size: 2.1875rem;
    line-height: 2.3125rem;
    margin-bottom: 1.25rem;
  }
}

h5,
.h5,
.type-size-2,
.type-size-2 p,
.type-size-2 li {
  font-size: 1.375rem;
  line-height: 1.5rem;
  margin-bottom: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  h5,
  .h5,
  .type-size-2,
  .type-size-2 p,
  .type-size-2 li {
    font-size: 1.5rem;
    line-height: 1.625rem;
    margin-bottom: 1.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  h5,
  .h5,
  .type-size-2,
  .type-size-2 p,
  .type-size-2 li {
    font-size: 1.75rem;
    line-height: 1.875rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (min-width: 75em) {
  h5,
  .h5,
  .type-size-2,
  .type-size-2 p,
  .type-size-2 li {
    font-size: 1.75rem;
    line-height: 1.875rem;
    margin-bottom: 1.25rem;
  }
}

h6, .accordion .accordion-item .accordion-title,
.h6,
.home-page-banner .banner-image-block.primary-block p,
.type-size-1,
.type-size-1 p,
.type-size-1 li {
  font-size: 1.1875rem;
  line-height: 1.5rem;
  margin-bottom: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  h6, .accordion .accordion-item .accordion-title,
  .h6,
  .home-page-banner .banner-image-block.primary-block p,
  .type-size-1,
  .type-size-1 p,
  .type-size-1 li {
    font-size: 1.375rem;
    line-height: 1.5rem;
    margin-bottom: 1.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  h6, .accordion .accordion-item .accordion-title,
  .h6,
  .home-page-banner .banner-image-block.primary-block p,
  .type-size-1,
  .type-size-1 p,
  .type-size-1 li {
    font-size: 1.4375rem;
    line-height: 1.5625rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (min-width: 75em) {
  h6, .accordion .accordion-item .accordion-title,
  .h6,
  .home-page-banner .banner-image-block.primary-block p,
  .type-size-1,
  .type-size-1 p,
  .type-size-1 li {
    font-size: 1.4375rem;
    line-height: 1.5625rem;
    margin-bottom: 1.25rem;
  }
}

h1, h2, h3, h4, h5, h6, .accordion .accordion-item .accordion-title {
  font-style: italic;
}

h2 {
  color: #008051;
}

h3, h4, h5, h6, .accordion .accordion-item .accordion-title {
  color: #75BB59;
}

#wpadminbar {
  position: fixed !important;
}

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem;
}
body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem;
}
@media screen and (min-width: 48.9375em) {
  body.admin-bar.offcanvas .off-canvas.is-open {
    top: 2rem;
  }
}

.edit-link {
  position: fixed !important;
  top: 0;
  z-index: 1001;
}
.edit-link a.post-edit-link {
  background-image: none;
  background-color: #008051;
  border-radius: 0 0 0.1875rem 0 !important;
  color: #fff !important;
  font-size: 0.9375rem !important;
  font-weight: 700;
  margin-bottom: 0;
  padding: 0.25rem 0.625rem !important;
  position: fixed !important;
  top: 0;
  text-transform: uppercase;
}
.edit-link a.post-edit-link:hover {
  background-color: #75BB59;
  background-image: none;
}

.wp-caption > figcaption {
  max-width: 100%;
  font-size: 0.8rem;
  color: #999;
  padding: 0.25rem 0;
}

p.wp-caption-text {
  font-size: 90%;
  color: #666;
  padding: 0.625rem 0;
}

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0;
}

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0;
}

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

.gallery {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: - 1.25rem;
  margin-left: - 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .gallery {
    margin-right: - 1.5625rem;
    margin-left: - 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .gallery {
    margin-right: - 1.875rem;
    margin-left: - 1.875rem;
  }
}
.gallery.gallery-columns-1 > .gallery-item {
  width: calc(50% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .gallery.gallery-columns-1 > .gallery-item {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .gallery.gallery-columns-1 > .gallery-item {
    width: calc(100% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.gallery.gallery-columns-2 > .gallery-item {
  width: calc(50% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .gallery.gallery-columns-2 > .gallery-item {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .gallery.gallery-columns-2 > .gallery-item {
    width: calc(50% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.gallery.gallery-columns-3 > .gallery-item {
  width: calc(50% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .gallery.gallery-columns-3 > .gallery-item {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .gallery.gallery-columns-3 > .gallery-item {
    width: calc(33.3333333333% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.gallery.gallery-columns-4 > .gallery-item {
  width: calc(50% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .gallery.gallery-columns-4 > .gallery-item {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .gallery.gallery-columns-4 > .gallery-item {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.gallery.gallery-columns-5 > .gallery-item {
  width: calc(50% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .gallery.gallery-columns-5 > .gallery-item {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .gallery.gallery-columns-5 > .gallery-item {
    width: calc(20% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.gallery.gallery-columns-6 > .gallery-item {
  width: calc(50% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .gallery.gallery-columns-6 > .gallery-item {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .gallery.gallery-columns-6 > .gallery-item {
    width: calc(16.6666666667% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.gallery.gallery-columns-7 > .gallery-item {
  width: calc(50% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .gallery.gallery-columns-7 > .gallery-item {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .gallery.gallery-columns-7 > .gallery-item {
    width: calc(14.2857142857% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.gallery.gallery-columns-8 > .gallery-item {
  width: calc(50% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .gallery.gallery-columns-8 > .gallery-item {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .gallery.gallery-columns-8 > .gallery-item {
    width: calc(12.5% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.gallery.gallery-columns-9 > .gallery-item {
  width: calc(50% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .gallery.gallery-columns-9 > .gallery-item {
    width: calc(25% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .gallery.gallery-columns-9 > .gallery-item {
    width: calc(11.1111111111% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.gallery .gallery-icon > a {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fff;
  border-radius: 0.1875rem;
  box-shadow: 0 0 0 1px rgba(61, 65, 56, 0.2);
  line-height: 0;
  transition: box-shadow 200ms ease-out;
}
.gallery .gallery-icon > a:hover, .gallery .gallery-icon > a:focus {
  box-shadow: 0 0 6px 1px rgba(0, 128, 81, 0.5);
}
.gallery .gallery-icon > a image {
  box-shadow: none;
}
.gallery .gallery-icon > img {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fff;
  border-radius: 0.1875rem;
  box-shadow: 0 0 0 1px rgba(61, 65, 56, 0.2);
  line-height: 0;
}

#masthead {
  background-color: #fff;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}
#masthead.minimize {
  box-shadow: 0 0 0.9375rem rgba(61, 65, 56, 0.5);
}

#masthead .grid-container {
  position: relative;
}
#masthead .masthead-content {
  position: relative;
  transition: padding 0.3s ease;
}
#masthead .masthead-content {
  padding: 0 20px;
}
@media print, screen and (min-width: 64em) {
  #masthead .masthead-content {
    padding: 0 30px;
  }
}
#masthead .masthead-content,
#masthead .masthead-content .logo-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
#masthead .masthead-content .header-cta {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media print, screen and (min-width: 64em) {
  #masthead .masthead-content .header-cta {
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
#masthead .masthead-content .header-cta .button, #masthead .masthead-content .header-cta .forminator-button, #masthead .masthead-content .header-cta .edit-link a.post-edit-link, .edit-link #masthead .masthead-content .header-cta a.post-edit-link {
  background-color: #E2E367;
  color: #008051;
  max-width: none;
  margin: 0;
}
#masthead .masthead-content .header-cta .button:hover, #masthead .masthead-content .header-cta .forminator-button:hover, #masthead .masthead-content .header-cta .edit-link a.post-edit-link:hover, .edit-link #masthead .masthead-content .header-cta a.post-edit-link:hover, #masthead .masthead-content .header-cta .button:focus, #masthead .masthead-content .header-cta .forminator-button:focus, #masthead .masthead-content .header-cta .edit-link a.post-edit-link:focus, .edit-link #masthead .masthead-content .header-cta a.post-edit-link:focus {
  background: #008051;
  color: #E2E367;
}
#masthead .masthead-content.header-top-row {
  padding-top: 1.875rem;
}
@media screen and (max-width: 63.9375em) {
  #masthead .masthead-content.header-top-row {
    padding-top: 0.625rem;
  }
}
#masthead .masthead-content.header-bottom-row {
  padding-top: 1.25rem;
  padding-bottom: 0.625rem;
}
#masthead .masthead-content .menu-content {
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

#masthead .logo {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center;
  display: block;
  transition: height 0.3s ease, width 0.3s ease;
}
#masthead .logo svg {
  width: 100%;
  height: 100%;
}
#masthead .logo {
  height: 4rem;
  width: 10.75rem;
}
@media print, screen and (min-width: 64em) {
  #masthead .logo {
    -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
            align-self: flex-start;
    height: 4rem;
    width: 10.75rem;
  }
}
@media screen and (min-width: 75em) {
  #masthead .logo {
    height: 4rem;
    width: 10.75rem;
  }
}

@media screen and (max-width: 63.9375em) {
  #masthead .masthead-content {
    height: 10rem;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #masthead .masthead-content .logo-wrapper {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    -webkit-align-self: center;
        -ms-flex-item-align: center;
                -ms-grid-row-align: center;
            align-self: center;
    margin-top: 1.5625rem;
  }
  #masthead .masthead-content .header-cta {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #masthead .masthead-content .header-cta .header-button-wrapper {
    display: block;
    width: 82%;
  }
  #masthead .masthead-content .header-cta .header-button-wrapper .button, #masthead .masthead-content .header-cta .header-button-wrapper .forminator-button, #masthead .masthead-content .header-cta .header-button-wrapper .edit-link a.post-edit-link, .edit-link #masthead .masthead-content .header-cta .header-button-wrapper a.post-edit-link {
    width: 100%;
  }
}
@media screen and (max-width: 63.9375em) and (min-width: 40em) and (max-width: 63.9375em) {
  #masthead .masthead-content .header-cta .header-button-wrapper .button, #masthead .masthead-content .header-cta .header-button-wrapper .forminator-button, #masthead .masthead-content .header-cta .header-button-wrapper .edit-link a.post-edit-link, .edit-link #masthead .masthead-content .header-cta .header-button-wrapper a.post-edit-link {
    height: 45px;
  }
}
@media print, screen and (min-width: 40em) {
  #masthead .menu-content {
    position: relative;
    width: 100%;
  }
  #masthead .main-menu-wrapper {
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  #masthead .menu-content {
    width: 100%;
  }
  #masthead .main-menu-wrapper {
    moz-transform-origin: right top;
    -ms-transform-origin: right top;
    -webkit-transform-origin: right top;
    transform-origin: right top;
    transition: height 1s ease, -webkit-transform 0.3s ease;
    transition: transform 0.3s ease, height 1s ease;
    transition: transform 0.3s ease, height 1s ease, -webkit-transform 0.3s ease;
  }
}
@media screen and (max-width: 89.9375em) {
  #masthead .menu-content {
    position: relative;
  }
}
#masthead .main-menu-wrapper .menu .menu-item {
  font-family: "nunito", sans-serif;
  font-weight: 700;
  font-style: italic;
}
#masthead .main-menu-wrapper .menu .menu-item a {
  transition: all 0.2s ease-in-out;
  color: #008051;
  text-transform: uppercase;
  padding: 0.625rem 0;
}
#masthead .main-menu-wrapper .menu .menu-item a:hover, #masthead .main-menu-wrapper .menu .menu-item a:focus {
  color: #75BB59;
}

#masthead .main-menu-wrapper .menu li:last-child {
  margin-right: 0;
}
#masthead .main-menu-wrapper .menu .menu-item {
  display: inline-block;
}

@media print, screen and (min-width: 40em) {
  #masthead .menu {
    position: relative;
  }
  #masthead .menu .grid-container .menu-item {
    font-size: 0.9375rem;
    margin-right: 2rem;
    position: relative;
    text-transform: uppercase;
  }
  #masthead .menu .grid-container .menu-item .submenu .menu-item {
    font-size: 0.9375rem;
    font-weight: 400;
  }
  #masthead .menu .grid-container > .menu-item {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  #masthead .menu .grid-container > .menu-item a {
    padding: 0.5rem 0;
  }
}
@media print, screen and (min-width: 64em) {
  #masthead .menu .menu-item {
    font-size: 0.9375rem;
    margin-right: 2rem;
  }
}
#masthead .main-menu-wrapper .menu .submenu,
#masthead .main-menu-wrapper .menu .submenu .menu-item {
  margin-left: 0;
}
#masthead .main-menu-wrapper .menu .submenu a,
#masthead .main-menu-wrapper .menu .submenu .menu-item a {
  color: #fff;
  transition: all 0.2s ease-in-out;
}
#masthead .main-menu-wrapper .menu .submenu a:hover, #masthead .main-menu-wrapper .menu .submenu a:focus,
#masthead .main-menu-wrapper .menu .submenu .menu-item a:hover,
#masthead .main-menu-wrapper .menu .submenu .menu-item a:focus {
  color: #75BB59;
  font-weight: 700;
}

.is-dropdown-submenu-parent .menu-item-has-children {
  position: relative;
}
.is-dropdown-submenu-parent .menu-item-has-children::after {
  content: "»";
  position: absolute;
  color: #fff;
  top: 0.5rem;
  right: 0.9375rem;
}
.is-dropdown-submenu-parent .is-dropdown-submenu.first-sub {
  background: #125252;
}
.is-dropdown-submenu-parent .is-dropdown-submenu {
  min-width: 20rem;
  padding: 0.9375rem;
  border-top-right-radius: 0.625rem;
  border-bottom-right-radius: 0.625rem;
  border-bottom-left-radius: 0.625rem;
  -webkit-animation: revealDown 0.4s ease-in-out forwards;
          animation: revealDown 0.4s ease-in-out forwards;
  -webkit-transform-origin: top center;
      -ms-transform-origin: top center;
          transform-origin: top center;
}
@-webkit-keyframes revealDown {
  0% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
  80% {
    -webkit-transform: scaleY(1.05);
            transform: scaleY(1.05);
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
}
@keyframes revealDown {
  0% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
  80% {
    -webkit-transform: scaleY(1.05);
            transform: scaleY(1.05);
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
}

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

@media print, screen and (min-width: 40em) {
  #masthead .menu .menu-item .submenu > .menu-item {
    display: block;
  }
  #masthead .menu .menu-item .submenu > .menu-item a {
    padding: 0.5rem 0;
    font-weight: 400;
  }
}
#modal-menu {
  height: 100%;
  padding: 40px;
}
#modal-menu #modal-menu-wrap {
  height: calc(100% - 40px);
  margin: 1.33333rem;
  overflow-x: hidden;
  overflow-y: scroll;
  position: relative;
}
#modal-menu .main-menu .menu-item {
  margin-bottom: 40px;
}
#modal-menu .main-menu .menu-item .submenu {
  margin: 40px 0 0 0;
}
#modal-menu .main-menu .menu-item .submenu .menu-item {
  margin-bottom: 20px;
}
#modal-menu .main-menu .menu-item .submenu .menu-item:last-child {
  margin-bottom: 0;
}

#modal-menu {
  text-align: center;
}
#modal-menu .menu-item {
  font-size: 1.5rem;
  list-style: none;
}
#modal-menu .menu-item .submenu .menu-item {
  font-size: 1rem;
  font-weight: 400;
}
#modal-menu .mCSB_container { /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Opera 12.1, Firefox 20+ */
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 100%;
}
#modal-menu .mCSB_container .menu {
  width: 100%;
}

.post-navigation::before, .post-navigation::after {
  display: table;
  content: " ";
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.post-navigation::after {
  clear: both;
}

.nav-previous {
  float: left;
}

.nav-next {
  float: right;
}

#masthead #mobile-menu-wrapper {
  position: relative;
  z-index: 5;
  background: #fff;
}
#masthead .mobile-menu-toggle {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  position: absolute;
  right: 20px;
  top: 10px;
  z-index: 2;
  transition: all 0.2s ease;
}
#masthead .mobile-menu-toggle div {
  padding: 0.3125rem 0.625rem;
  background: #75BB59;
  -webkit-transform: skewX(-9deg);
      -ms-transform: skewX(-9deg);
          transform: skewX(-9deg);
  border-radius: 8px;
  transition: all 0.2s ease;
}
#masthead .mobile-menu-toggle div::before, #masthead .mobile-menu-toggle div::after,
#masthead .mobile-menu-toggle div span {
  background-color: #fff;
  content: "";
  display: block;
  border-radius: 50px;
  height: 0.1875rem;
  margin: 0.25rem 0;
  width: 100%;
  moz-transform-origin: center center;
  -ms-transform-origin: center center;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  transition: all 0.2s ease;
}
#masthead .mobile-menu-toggle:hover div::before, #masthead .mobile-menu-toggle:hover div::after,
#masthead .mobile-menu-toggle:hover div span {
  background-color: #fff;
}
#masthead.menu-open .mobile-menu-toggle div {
  background: #125252;
}
#masthead.menu-open .mobile-menu-toggle div::before, #masthead.menu-open .mobile-menu-toggle div::after,
#masthead.menu-open .mobile-menu-toggle div span {
  background-color: #75BB59;
}
#masthead.menu-open .mobile-menu-toggle div::before {
  -ms-transform: translateY(0.4375rem) rotate(135deg);
  -webkit-transform: translateY(0.4375rem) rotate(135deg);
  transform: translateY(0.4375rem) rotate(135deg);
}
#masthead.menu-open .mobile-menu-toggle div::after {
  -ms-transform: translateY(-0.4375rem) rotate(-135deg);
  -webkit-transform: translateY(-0.4375rem) rotate(-135deg);
  transform: translateY(-0.4375rem) rotate(-135deg);
}
#masthead.menu-open .mobile-menu-toggle div span {
  -ms-transform: scale(0);
  -webkit-transform: scale(0);
  transform: scale(0);
}
#masthead .mobile-menu-toggle div {
  padding: 0.3125rem 0.625rem;
  width: 2.5rem;
}
@media print, screen and (min-width: 40em) {
  #masthead .mobile-menu-toggle div {
    padding: 0.625rem 0.625rem;
    width: 2.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  #masthead .mobile-menu-toggle {
    -ms-transform: translateY(-150%);
    -webkit-transform: translateY(-150%);
    transform: translateY(-150%);
  }
}

#collapsible-menu-container {
  height: 0;
  opacity: 0;
  overflow: hidden;
  position: fixed;
  right: 0;
  z-index: 2;
  transition: height 0.5s ease 0.2s, opacity 0.3s ease, width 0.5s ease 0.2s;
}
#collapsible-menu-container.menu-open {
  background: #fff;
  height: 100vh;
  opacity: 1;
  transition: height 0.5s ease, opacity 0.3s ease 0.1s, width 0.5s ease;
}
#collapsible-menu-container .menu-frame {
  transition: padding 0.3s ease;
}
#collapsible-menu-container {
  width: 0;
}
#collapsible-menu-container.menu-open {
  width: 100%;
}
#collapsible-menu-container .menu-frame {
  max-height: calc(100vh - 66px);
  padding: 0.625rem 0.9375rem 1.25rem 1.25rem;
}
@media print, screen and (min-width: 40em) {
  #collapsible-menu-container {
    padding-top: 4.125rem;
  }
  #collapsible-menu-container {
    padding-top: 0;
  }
  #collapsible-menu-container .menu-frame {
    max-height: calc(100vh - 106px);
    padding: 1.25rem 2.625rem;
  }
  #collapsible-menu-container.menu-open {
    width: 27.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  #collapsible-menu-container {
    top: 5.875rem;
  }
  #collapsible-menu-container.menu-open {
    width: 29.375rem;
  }
  #collapsible-menu-container .menu-frame {
    max-height: calc(100vh - 116px);
  }
}
@media screen and (min-width: 75em) {
  #collapsible-menu-container .menu-frame {
    max-height: calc(100vh - 111px);
  }
  #collapsible-menu-container.menu-open {
    width: 30.625rem;
  }
}

#collapsible-menu-container .menu-item {
  font-weight: 700;
  text-transform: uppercase;
  font-style: italic;
  margin: 1rem 0;
}
#collapsible-menu-container .menu-item a {
  color: #008051;
  font-weight: 700;
  font-style: italic;
}
#collapsible-menu-container .menu-item.has-submenu .menu-item {
  font-weight: 700;
  font-style: italic;
}
#collapsible-menu-container .menu-item.has-submenu > a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
#collapsible-menu-container .menu-item.has-submenu .submenu {
  margin: 0 0 0 1.25rem;
}
#collapsible-menu-container .menu-item.has-submenu .submenu .menu-item {
  margin: 0.625rem 0;
}
#collapsible-menu-container .menu-item.has-submenu .submenu .menu-item:first-child {
  margin-top: 1.875rem;
}
#collapsible-menu-container .menu-item.has-submenu .submenu .menu-item:last-child {
  margin-bottom: 0;
}

#collapsible-menu-container a {
  background: transparent;
  color: #008051;
  transition: color 0.1s ease;
}
#collapsible-menu-container .menu-item[aria-expanded=true] > a,
#collapsible-menu-container a:hover {
  color: #75BB59;
  font-weight: 700 !important;
}

.mobile-nav-pattern {
  background-image: url("../svgs/mobile-nav-pattern.svg");
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  display: block;
  position: fixed;
  z-index: 1;
  bottom: -8px;
  left: 0;
  overflow: hidden;
  height: 7.375rem;
}

.header-copyright-line {
  margin-top: 1.25rem;
  padding: 0.625rem 0 1.25rem 0;
}
@media print, screen and (min-width: 40em) {
  .header-copyright-line {
    padding: 1.25rem 0;
  }
}
.header-copyright-line p {
  color: #008051;
  font-style: italic;
  font-size: inherit;
  display: block;
  padding: 0;
  margin: 0;
  font-weight: 400;
  line-height: 1;
  width: 65%;
}

.header-social-links {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 1.25rem 0;
}
@media print, screen and (min-width: 40em) {
  .header-social-links {
    padding: 1.25rem 0;
  }
}
.header-social-links p {
  color: #008051;
  text-transform: uppercase;
  display: inline-block;
  font-style: italic;
  font-size: inherit;
  padding: 0;
  margin: 0;
  font-weight: 700;
  line-height: 1;
}
.header-social-links a {
  margin-left: 0.75rem;
  margin-top: -0.75rem;
  display: inline-block;
  width: 3.1875rem;
  height: 2.5625rem;
}
.header-social-links a svg {
  height: 100%;
  width: 100%;
}
.header-social-links a.facebook, .header-social-links a.youtube, .header-social-links a.twitter, .header-social-links a.linkedin {
  fill: #008051;
}
.header-social-links a.facebook:hover > svg, .header-social-links a.facebook:focus > svg, .header-social-links a.youtube:hover > svg, .header-social-links a.youtube:focus > svg, .header-social-links a.twitter:hover > svg, .header-social-links a.twitter:focus > svg, .header-social-links a.linkedin:hover > svg, .header-social-links a.linkedin:focus > svg {
  fill: #75BB59;
}

.main-wrap {
  -webkit-align-content: space-between;
      -ms-flex-line-pack: justify;
          align-content: space-between;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  overflow: hidden;
  margin-top: 10.625rem;
}
@media print, screen and (min-width: 40em) {
  .main-wrap {
    margin-top: 10.625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .main-wrap {
    margin-top: 10.625rem;
  }
}
@media screen and (min-width: 75em) {
  .main-wrap {
    margin-top: 10.9375rem;
  }
}
.main-wrap .main-content {
  width: 100%;
}
.main-wrap .main-content .content-band {
  position: relative;
  z-index: 2;
}

img, img::before {
  display: inline-block;
}
img::before {
  background-color: rgba(61, 65, 56, 0.05);
  border: 0.125rem dashed rgba(61, 65, 56, 0.05);
  content: "Image not found";
  font-size: 0.8125rem;
  font-style: italic;
  padding: 1rem;
  text-align: center;
  white-space: pre;
}

.main-content ul,
.main-content ol {
  margin-bottom: 0;
}
.main-content ul li,
.main-content ol li {
  margin-bottom: 1rem;
}
@media print, screen and (min-width: 40em) {
  .main-content img {
    max-height: none;
  }
}

#site-footer .footer-links-area {
  position: relative;
  overflow: hidden;
  z-index: 10;
}
#site-footer .footer-container {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  #site-footer .footer-container {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  #site-footer .footer-container {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}
#site-footer .footer-container {
  max-width: 75rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 40em) {
  #site-footer .footer-container.small-content {
    max-width: 60rem;
  }
}
#site-footer .footer-container .footer-grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  padding-top: 2.8125rem;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem;
}
#site-footer .footer-container .footer-grid .footer-logomark a {
  display: inline-block;
}
@media screen and (max-width: 39.9375em) {
  #site-footer .footer-container .footer-grid .footer-logomark a svg {
    max-width: 220px;
  }
}
#site-footer .footer-container .footer-grid .footer-logomark a svg {
  height: 100%;
  width: 100%;
  max-width: 280px;
}
#site-footer .footer-container .footer-grid .footer-logomark {
  width: calc(100% - 1.875rem);
  margin-top: 0.9375rem;
  margin-right: 0.9375rem;
  margin-bottom: 0.9375rem;
  margin-left: 0.9375rem;
}
#site-footer .footer-container .footer-grid .footer-social-media-column {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media screen and (max-width: 63.9375em) {
  #site-footer .footer-container .footer-grid .footer-social-media-column {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  #site-footer .footer-container .footer-grid .footer-social-media-column {
    width: calc(25% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
#site-footer .footer-container .footer-grid .footer-social-media-column p {
  text-transform: uppercase;
  display: inline-block;
  font-style: italic;
  padding: 0;
  margin: 0;
  font-weight: 700;
  line-height: 1;
}
#site-footer .footer-container .footer-grid .footer-social-media-column a {
  margin-left: 0.75rem;
  margin-top: -0.75rem;
  display: inline-block;
  width: 3.1875rem;
  height: 2.5625rem;
}
#site-footer .footer-container .footer-grid .footer-social-media-column a svg {
  height: 100%;
  width: 100%;
}
#site-footer .footer-container .footer-grid .footer-social-media-column a.facebook, #site-footer .footer-container .footer-grid .footer-social-media-column a.youtube, #site-footer .footer-container .footer-grid .footer-social-media-column a.twitter, #site-footer .footer-container .footer-grid .footer-social-media-column a.linkedin {
  fill: #fff;
}
#site-footer .footer-container .footer-grid .footer-social-media-column a.facebook path, #site-footer .footer-container .footer-grid .footer-social-media-column a.youtube path, #site-footer .footer-container .footer-grid .footer-social-media-column a.twitter path, #site-footer .footer-container .footer-grid .footer-social-media-column a.linkedin path {
  transition: all 0.4s ease-in-out;
}
#site-footer .footer-container .footer-grid .footer-social-media-column a.facebook:hover > svg, #site-footer .footer-container .footer-grid .footer-social-media-column a.facebook:focus > svg, #site-footer .footer-container .footer-grid .footer-social-media-column a.youtube:hover > svg, #site-footer .footer-container .footer-grid .footer-social-media-column a.youtube:focus > svg, #site-footer .footer-container .footer-grid .footer-social-media-column a.twitter:hover > svg, #site-footer .footer-container .footer-grid .footer-social-media-column a.twitter:focus > svg, #site-footer .footer-container .footer-grid .footer-social-media-column a.linkedin:hover > svg, #site-footer .footer-container .footer-grid .footer-social-media-column a.linkedin:focus > svg {
  fill: #75BB59;
}
#site-footer .footer-container .footer-grid .footer-copyright-column {
  width: calc(100% - 1.875rem);
  margin-top: 0.9375rem;
  margin-right: 0.9375rem;
  margin-bottom: 0.9375rem;
  margin-left: 0.9375rem;
}
#site-footer .footer-container .footer-grid .footer-copyright-column p {
  font-style: italic;
}
@media screen and (max-width: 63.9375em) {
  #site-footer .footer-container .footer-grid .footer-contact-details {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  #site-footer .footer-container .footer-grid .footer-contact-details {
    width: calc(25% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media screen and (max-width: 63.9375em) {
  #site-footer .footer-container .footer-grid .footer-links-column-first,
  #site-footer .footer-container .footer-grid .footer-links-column-second {
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  #site-footer .footer-container .footer-grid .footer-links-column-first,
  #site-footer .footer-container .footer-grid .footer-links-column-second {
    width: calc(25% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
#site-footer .footer-container .footer-grid .footer-links-column-first a,
#site-footer .footer-container .footer-grid .footer-links-column-second a {
  padding-left: 0.75rem;
  margin-bottom: 0.375rem;
}
#site-footer .footer-container .footer-grid .footer-links-column-first p,
#site-footer .footer-container .footer-grid .footer-links-column-second p,
#site-footer .footer-container .footer-grid .footer-contact-details p {
  color: #fff;
  display: inline-block;
  text-transform: uppercase;
  font-style: italic;
  line-height: 1.3;
  font-weight: 400;
}
@media screen and (max-width: 63.9375em) {
  #site-footer .footer-container .footer-grid .footer-links-column-first p,
  #site-footer .footer-container .footer-grid .footer-links-column-second p,
  #site-footer .footer-container .footer-grid .footer-contact-details p {
    display: block;
  }
}
#site-footer .footer-container .footer-grid .footer-links-column-first p strong, #site-footer .footer-container .footer-grid .footer-links-column-first p b,
#site-footer .footer-container .footer-grid .footer-links-column-second p strong,
#site-footer .footer-container .footer-grid .footer-links-column-second p b,
#site-footer .footer-container .footer-grid .footer-contact-details p strong,
#site-footer .footer-container .footer-grid .footer-contact-details p b {
  font-weight: 700;
}
#site-footer .footer-container .footer-grid .footer-links-column-first a,
#site-footer .footer-container .footer-grid .footer-links-column-second a,
#site-footer .footer-container .footer-grid .footer-contact-details a {
  color: #fff;
  display: inline-block;
  text-transform: uppercase;
  font-style: italic;
  font-weight: 400;
}
@media screen and (max-width: 63.9375em) {
  #site-footer .footer-container .footer-grid .footer-links-column-first a,
  #site-footer .footer-container .footer-grid .footer-links-column-second a,
  #site-footer .footer-container .footer-grid .footer-contact-details a {
    display: block;
  }
}
#site-footer .footer-container .footer-grid .footer-links-column-first a strong, #site-footer .footer-container .footer-grid .footer-links-column-first a b,
#site-footer .footer-container .footer-grid .footer-links-column-second a strong,
#site-footer .footer-container .footer-grid .footer-links-column-second a b,
#site-footer .footer-container .footer-grid .footer-contact-details a strong,
#site-footer .footer-container .footer-grid .footer-contact-details a b {
  font-weight: 700;
}
#site-footer .footer-container .footer-grid .footer-links-column-first a:hover,
#site-footer .footer-container .footer-grid .footer-links-column-second a:hover,
#site-footer .footer-container .footer-grid .footer-contact-details a:hover {
  color: #75BB59;
  font-weight: 700;
}
#site-footer .footer-container .footer-grid .footer-links-column-first .footer-link-highlight a,
#site-footer .footer-container .footer-grid .footer-links-column-second .footer-link-highlight a,
#site-footer .footer-container .footer-grid .footer-contact-details .footer-link-highlight a {
  font-weight: 700;
  padding-left: 0;
}
#site-footer .footer-container .footer-grid .footer-links-column-first .footer-privacy-link a,
#site-footer .footer-container .footer-grid .footer-links-column-second .footer-privacy-link a,
#site-footer .footer-container .footer-grid .footer-contact-details .footer-privacy-link a {
  padding-left: 0;
}
#site-footer .footer-container .footer-grid .footer-links-column-first .footer-link-margin-top a,
#site-footer .footer-container .footer-grid .footer-links-column-second .footer-link-margin-top a,
#site-footer .footer-container .footer-grid .footer-contact-details .footer-link-margin-top a {
  margin-top: 1.5625rem;
}
#site-footer .footer-container .footer-grid .footer-contact-details a {
  font-weight: 700;
  font-style: italic;
}

#site-footer {
  overflow: visible;
  position: relative;
  width: 100%;
  background-color: #125252;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 400;
}
#site-footer.extra-footer-gap {
  margin-top: 3.125rem;
}
@media print, screen and (min-width: 40em) {
  #site-footer.extra-footer-gap {
    margin-top: 10rem;
  }
}
#site-footer p {
  color: #fff;
  font-size: 0.9375rem;
}
#site-footer .footer-lines-bg {
  visibility: hidden;
  background-image: url("../svgs/footer-shapes.svg");
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  display: block;
  overflow: hidden;
}
@media screen and (max-width: 39.9375em) {
  #site-footer .footer-lines-bg {
    height: 6.25rem;
  }
}
@media print, screen and (min-width: 40em) {
  #site-footer .footer-lines-bg {
    height: 10.9375rem;
  }
}
@media screen and (min-width: 112.5em) {
  #site-footer .footer-lines-bg {
    height: 15.3125rem;
  }
}

body#tinymce {
  height: auto;
  max-width: 75rem;
  padding: 1.25rem !important;
}

/*
== malihu jquery custom scrollbar plugin ==
Plugin URI: http://manos.malihu.gr/jquery-custom-content-scroller
*/
/*
CONTENTS: 
	1. BASIC STYLE - Plugin's basic/essential CSS properties (normally, should not be edited). 
	2. VERTICAL SCROLLBAR - Positioning and dimensions of vertical scrollbar. 
	3. HORIZONTAL SCROLLBAR - Positioning and dimensions of horizontal scrollbar.
	4. VERTICAL AND HORIZONTAL SCROLLBARS - Positioning and dimensions of 2-axis scrollbars. 
	5. TRANSITIONS - CSS3 transitions for hover events, auto-expanded and auto-hidden scrollbars. 
	6. SCROLLBAR COLORS, OPACITY AND BACKGROUNDS 
		6.1 THEMES - Scrollbar colors, opacity, dimensions, backgrounds etc. via ready-to-use themes.
*/
/* 
------------------------------------------------------------------------------------------------------------------------
1. BASIC STYLE  
------------------------------------------------------------------------------------------------------------------------
*/
.mCustomScrollbar {
  -ms-touch-action: pinch-zoom;
  touch-action: pinch-zoom; /* direct pointer events to js */
}

.mCustomScrollbar.mCS_no_scrollbar, .mCustomScrollbar.mCS_touch_action {
  -ms-touch-action: auto;
  touch-action: auto;
}

.mCustomScrollBox { /* contains plugin's markup */
  position: relative;
  overflow: hidden;
  height: 100%;
  max-width: 100%;
  outline: none;
  direction: ltr;
}

.mCSB_container { /* contains the original content */
  overflow: hidden;
  width: auto;
  height: auto;
}

/* 
------------------------------------------------------------------------------------------------------------------------
2. VERTICAL SCROLLBAR 
y-axis
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0;
} /* non-visible scrollbar */
.mCS-dir-rtl > .mCSB_inside > .mCSB_container { /* RTL direction/left-side scrollbar */
  margin-right: 0;
  margin-left: 30px;
}

.mCS-dir-rtl > .mCSB_inside > .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-left: 0;
} /* RTL direction/left-side scrollbar */
.mCSB_scrollTools { /* contains scrollbar markup (draggable element, dragger rail, buttons etc.) */
  position: absolute;
  width: 12px;
  height: auto;
  left: auto;
  top: 0;
  right: -4px;
  bottom: 0;
}

.mCSB_outside + .mCSB_scrollTools {
  right: -26px;
} /* scrollbar position: outside */
.mCS-dir-rtl > .mCSB_inside > .mCSB_scrollTools,
.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools { /* RTL direction/left-side scrollbar */
  right: auto;
  left: 0;
}

.mCS-dir-rtl > .mCSB_outside + .mCSB_scrollTools {
  left: -26px;
} /* RTL direction/left-side scrollbar (scrollbar position: outside) */
.mCSB_scrollTools .mCSB_draggerContainer { /* contains the draggable element and dragger rail markup */
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: auto;
}

.mCSB_scrollTools a + .mCSB_draggerContainer {
  margin: 20px 0;
}

.mCSB_scrollTools .mCSB_draggerRail {
  width: 2px;
  height: 100%;
  margin: 0 auto;
  border-radius: 16px;
}

.mCSB_scrollTools .mCSB_dragger { /* the draggable element */
  cursor: pointer;
  width: 100%;
  height: 30px; /* minimum dragger height */
  z-index: 1;
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { /* the dragger element */
  position: relative;
  width: 4px;
  height: 100%;
  margin: 0 auto;
  border-radius: 16px;
  text-align: center;
}

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 12px; /* auto-expanded scrollbar */
}

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 8px; /* auto-expanded scrollbar */
}

.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown {
  display: block;
  position: absolute;
  height: 20px;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer;
}

.mCSB_scrollTools .mCSB_buttonDown {
  bottom: 0;
}

/* 
------------------------------------------------------------------------------------------------------------------------
3. HORIZONTAL SCROLLBAR 
x-axis
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_horizontal.mCSB_inside > .mCSB_container {
  margin-right: 0;
  margin-bottom: 30px;
}

.mCSB_horizontal.mCSB_outside > .mCSB_container {
  min-height: 100%;
}

.mCSB_horizontal > .mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0;
} /* non-visible scrollbar */
.mCSB_scrollTools.mCSB_scrollTools_horizontal {
  width: auto;
  height: 16px;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
}

.mCustomScrollBox + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: -26px;
} /* scrollbar position: outside */
.mCSB_scrollTools.mCSB_scrollTools_horizontal a + .mCSB_draggerContainer {
  margin: 0 20px;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 2px;
  margin: 7px 0;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 30px; /* minimum dragger width */
  height: 100%;
  left: 0;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 4px;
  margin: 6px auto;
}

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 12px; /* auto-expanded scrollbar */
  margin: 2px auto;
}

.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 8px; /* auto-expanded scrollbar */
  margin: 4px 0;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,
.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  display: block;
  position: absolute;
  width: 20px;
  height: 100%;
  overflow: hidden;
  margin: 0 auto;
  cursor: pointer;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft {
  left: 0;
}

.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight {
  right: 0;
}

/* 
------------------------------------------------------------------------------------------------------------------------
4. VERTICAL AND HORIZONTAL SCROLLBARS 
yx-axis 
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_container_wrapper {
  position: absolute;
  height: auto;
  width: auto;
  overflow: hidden;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin-right: 30px;
  margin-bottom: 30px;
}

.mCSB_container_wrapper > .mCSB_container {
  padding-right: 30px;
  padding-bottom: 30px;
  box-sizing: border-box;
}

.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 20px;
}

.mCSB_vertical_horizontal > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 20px;
}

/* non-visible horizontal scrollbar */
.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden + .mCSB_scrollTools.mCSB_scrollTools_vertical {
  bottom: 0;
}

/* non-visible vertical scrollbar/RTL direction/left-side scrollbar */
.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  right: 0;
}

/* RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 20px;
}

/* non-visible scrollbar/RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden + .mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  left: 0;
}

.mCS-dir-rtl > .mCSB_inside > .mCSB_container_wrapper { /* RTL direction/left-side scrollbar */
  margin-right: 0;
  margin-left: 30px;
}

.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden > .mCSB_container {
  padding-right: 0;
}

.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden > .mCSB_container {
  padding-bottom: 0;
}

.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 0; /* non-visible scrollbar */
  margin-left: 0;
}

/* non-visible horizontal scrollbar */
.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside > .mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden {
  margin-bottom: 0;
}

/* 
------------------------------------------------------------------------------------------------------------------------
5. TRANSITIONS  
------------------------------------------------------------------------------------------------------------------------
*/
.mCSB_scrollTools,
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight {
  transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,
.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,
.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail {
  transition: width 0.2s ease-out 0.2s, height 0.2s ease-out 0.2s, margin-left 0.2s ease-out 0.2s, margin-right 0.2s ease-out 0.2s, margin-top 0.2s ease-out 0.2s, margin-bottom 0.2s ease-out 0.2s, opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

/* 
------------------------------------------------------------------------------------------------------------------------
6. SCROLLBAR COLORS, OPACITY AND BACKGROUNDS  
------------------------------------------------------------------------------------------------------------------------
*/
/* 
----------------------------------------
6.1 THEMES 
----------------------------------------
*/
/* default theme ("light") */
.mCSB_scrollTools {
  opacity: 0.75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)";
}

.mCS-autoHide > .mCustomScrollBox > .mCSB_scrollTools,
.mCS-autoHide > .mCustomScrollBox ~ .mCSB_scrollTools {
  opacity: 0;
  filter: "alpha(opacity=0)";
  -ms-filter: "alpha(opacity=0)";
}

.mCustomScrollbar > .mCustomScrollBox > .mCSB_scrollTools.mCSB_scrollTools_onDrag,
.mCustomScrollbar > .mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag,
.mCustomScrollBox:hover > .mCSB_scrollTools,
.mCustomScrollBox:hover ~ .mCSB_scrollTools,
.mCS-autoHide:hover > .mCustomScrollBox > .mCSB_scrollTools,
.mCS-autoHide:hover > .mCustomScrollBox ~ .mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=100)";
  -ms-filter: "alpha(opacity=100)";
}

.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.4);
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)";
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)";
}

.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85);
  filter: "alpha(opacity=85)";
  -ms-filter: "alpha(opacity=85)";
}

.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)";
}

.mCSB_scrollTools .mCSB_buttonUp,
.mCSB_scrollTools .mCSB_buttonDown,
.mCSB_scrollTools .mCSB_buttonLeft,
.mCSB_scrollTools .mCSB_buttonRight {
  background-image: url(mCSB_buttons.png); /* css sprites */
  background-repeat: no-repeat;
  opacity: 0.4;
  filter: "alpha(opacity=40)";
  -ms-filter: "alpha(opacity=40)";
}

.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 0;
  /* 
  sprites locations 
  light: 0 0, -16px 0, -32px 0, -48px 0, 0 -72px, -16px -72px, -32px -72px
  dark: -80px 0, -96px 0, -112px 0, -128px 0, -80px -72px, -96px -72px, -112px -72px
  */
}

.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -20px;
  /* 
  sprites locations
  light: 0 -20px, -16px -20px, -32px -20px, -48px -20px, 0 -92px, -16px -92px, -32px -92px
  dark: -80px -20px, -96px -20px, -112px -20px, -128px -20px, -80px -92px, -96px -92px, -112 -92px
  */
}

.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -40px;
  /* 
  sprites locations 
  light: 0 -40px, -20px -40px, -40px -40px, -60px -40px, 0 -112px, -20px -112px, -40px -112px
  dark: -80px -40px, -100px -40px, -120px -40px, -140px -40px, -80px -112px, -100px -112px, -120px -112px
  */
}

.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -56px;
  /* 
  sprites locations 
  light: 0 -56px, -20px -56px, -40px -56px, -60px -56px, 0 -128px, -20px -128px, -40px -128px
  dark: -80px -56px, -100px -56px, -120px -56px, -140px -56px, -80px -128px, -100px -128px, -120px -128px
  */
}

.mCSB_scrollTools .mCSB_buttonUp:hover,
.mCSB_scrollTools .mCSB_buttonDown:hover,
.mCSB_scrollTools .mCSB_buttonLeft:hover,
.mCSB_scrollTools .mCSB_buttonRight:hover {
  opacity: 0.75;
  filter: "alpha(opacity=75)";
  -ms-filter: "alpha(opacity=75)";
}

.mCSB_scrollTools .mCSB_buttonUp:active,
.mCSB_scrollTools .mCSB_buttonDown:active,
.mCSB_scrollTools .mCSB_buttonLeft:active,
.mCSB_scrollTools .mCSB_buttonRight:active {
  opacity: 0.9;
  filter: "alpha(opacity=90)";
  -ms-filter: "alpha(opacity=90)";
}

/* theme: "dark" */
.mCS-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.15);
}

.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.75);
}

.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: rgba(61, 65, 56, 0.85);
}

.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: rgba(61, 65, 56, 0.9);
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0;
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px;
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px;
}

.mCS-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px;
}

/* ---------------------------------------- */
/* theme: "light-2", "dark-2" */
.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 1px;
}

.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 1px;
}

.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 4px;
  margin: 6px auto;
}

.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85);
}

.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px 0;
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -20px;
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -40px;
}

.mCS-light-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -56px;
}

/* theme: "dark-2" */
.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.1);
  border-radius: 1px;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.75);
  border-radius: 1px;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.85);
}

.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.9);
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px 0;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -20px;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -40px;
}

.mCS-dark-2.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -56px;
}

/* ---------------------------------------- */
/* theme: "light-thick", "dark-thick" */
.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail {
  width: 4px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
}

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
  border-radius: 2px;
}

.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 4px;
  margin: 6px 0;
}

.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 6px;
  margin: 5px auto;
}

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85);
}

.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px 0;
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -20px;
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -40px;
}

.mCS-light-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -56px;
}

/* theme: "dark-thick" */
.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.1);
  border-radius: 2px;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.75);
  border-radius: 2px;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.85);
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.9);
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px 0;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -20px;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -40px;
}

.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -56px;
}

/* ---------------------------------------- */
/* theme: "light-thin", "dark-thin" */
.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
}

.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 2px;
}

.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
}

.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 2px;
  margin: 7px auto;
}

/* theme "dark-thin" */
.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.15);
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.75);
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.85);
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.9);
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0;
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px;
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px;
}

.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px;
}

/* ---------------------------------------- */
/* theme "rounded", "rounded-dark", "rounded-dots", "rounded-dots-dark" */
.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.15);
}

.mCS-rounded.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger {
  height: 14px;
}

.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 14px;
  margin: 0 1px;
}

.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 14px;
}

.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 14px;
  margin: 1px 0;
}

.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  width: 16px; /* auto-expanded scrollbar */
  height: 16px;
  margin: -1px 0;
}

.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 4px; /* auto-expanded scrollbar */
}

.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar {
  height: 16px; /* auto-expanded scrollbar */
  width: 16px;
  margin: 0 -1px;
}

.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 4px; /* auto-expanded scrollbar */
  margin: 6px 0;
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonUp {
  background-position: 0 -72px;
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonDown {
  background-position: 0 -92px;
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: 0 -112px;
}

.mCS-rounded.mCSB_scrollTools .mCSB_buttonRight {
  background-position: 0 -128px;
}

/* theme "rounded-dark", "rounded-dots-dark" */
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.75);
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.15);
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.85);
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.9);
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px -72px;
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -92px;
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -112px;
}

.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -128px;
}

/* theme "rounded-dots", "rounded-dots-dark" */
.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail {
  width: 4px;
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  background-color: transparent;
  background-position: center;
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==");
  background-repeat: repeat-y;
  opacity: 0.3;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)";
}

.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  height: 4px;
  margin: 6px 0;
  background-repeat: repeat-x;
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -16px -72px;
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -16px -92px;
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -20px -112px;
}

.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -20px -128px;
}

/* theme "rounded-dots-dark" */
.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=");
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -96px -72px;
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -96px -92px;
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -100px -112px;
}

.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -100px -128px;
}

/* ---------------------------------------- */
/* theme "3d", "3d-dark", "3d-thick", "3d-thick-dark" */
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-y;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  background-repeat: repeat-x;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);
}

/* theme "3d", "3d-dark" */
.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger,
.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 70px;
}

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 70px;
}

.mCS-3d.mCSB_scrollTools,
.mCS-3d-dark.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)";
}

.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  border-radius: 16px;
}

.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail {
  width: 8px;
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.2);
  box-shadow: inset 1px 0 1px rgba(61, 65, 56, 0.5), inset -1px 0 1px rgba(255, 255, 255, 0.2);
}

.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #555;
}

.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 8px;
}

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 8px;
  margin: 4px 0;
  box-shadow: inset 0 1px 1px rgba(61, 65, 56, 0.5), inset 0 -1px 1px rgba(255, 255, 255, 0.2);
}

.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  width: 100%;
  height: 8px;
  margin: 4px auto;
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px;
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px;
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px;
}

.mCS-3d.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px;
}

/* theme "3d-dark" */
.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.1);
  box-shadow: inset 1px 0 1px rgba(61, 65, 56, 0.1);
}

.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  box-shadow: inset 0 1px 1px rgba(61, 65, 56, 0.1);
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px;
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px;
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px;
}

.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px;
}

/* ---------------------------------------- */
/* theme: "3d-thick", "3d-thick-dark" */
.mCS-3d-thick.mCSB_scrollTools,
.mCS-3d-thick-dark.mCSB_scrollTools {
  opacity: 1;
  filter: "alpha(opacity=30)";
  -ms-filter: "alpha(opacity=30)";
}

.mCS-3d-thick.mCSB_scrollTools,
.mCS-3d-thick-dark.mCSB_scrollTools,
.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer {
  border-radius: 7px;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  border-radius: 5px;
}

.mCSB_inside + .mCS-3d-thick.mCSB_scrollTools_vertical,
.mCSB_inside + .mCS-3d-thick-dark.mCSB_scrollTools_vertical {
  right: 1px;
}

.mCS-3d-thick.mCSB_scrollTools_vertical,
.mCS-3d-thick-dark.mCSB_scrollTools_vertical {
  box-shadow: inset 1px 0 1px rgba(61, 65, 56, 0.1), inset 0 0 14px rgba(61, 65, 56, 0.5);
}

.mCS-3d-thick.mCSB_scrollTools_horizontal,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal {
  bottom: 1px;
  box-shadow: inset 0 1px 1px rgba(61, 65, 56, 0.1), inset 0 0 14px rgba(61, 65, 56, 0.5);
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4);
  width: 12px;
  margin: 2px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #555;
}

.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 12px;
  width: auto;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.05);
  box-shadow: inset 1px 1px 16px rgba(61, 65, 56, 0.1);
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px;
}

.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px;
}

/* theme: "3d-thick-dark" */
.mCS-3d-thick-dark.mCSB_scrollTools {
  box-shadow: inset 0 0 14px rgba(61, 65, 56, 0.2);
}

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal {
  box-shadow: inset 0 1px 1px rgba(61, 65, 56, 0.1), inset 0 0 14px rgba(61, 65, 56, 0.2);
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.4), inset -1px 0 0 rgba(61, 65, 56, 0.2);
}

.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), inset 0 -1px 0 rgba(61, 65, 56, 0.2);
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #777;
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer {
  background-color: #fff;
  background-color: rgba(61, 65, 56, 0.05);
  box-shadow: inset 1px 1px 16px rgba(61, 65, 56, 0.1);
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px;
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px;
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px;
}

.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px;
}

/* ---------------------------------------- */
/* theme: "minimal", "minimal-dark" */
.mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical,
.mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical {
  right: 0;
  margin: 12px 0;
}

.mCustomScrollBox.mCS-minimal + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
.mCustomScrollBox.mCS-minimal-dark + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal {
  bottom: 0;
  margin: 0 12px;
}

/* RTL direction/left-side scrollbar */
.mCS-dir-rtl > .mCSB_outside + .mCS-minimal.mCSB_scrollTools_vertical,
.mCS-dir-rtl > .mCSB_outside + .mCS-minimal-dark.mCSB_scrollTools_vertical {
  left: 0;
  right: auto;
}

.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail,
.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
}

.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger,
.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger {
  height: 50px;
}

.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger,
.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger {
  width: 50px;
}

.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)";
}

.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)";
}

/* theme: "minimal-dark" */
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.2);
  filter: "alpha(opacity=20)";
  -ms-filter: "alpha(opacity=20)";
}

.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.5);
  filter: "alpha(opacity=50)";
  -ms-filter: "alpha(opacity=50)";
}

/* ---------------------------------------- */
/* theme "light-3", "dark-3" */
.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail {
  width: 6px;
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.2);
}

.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
}

.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 6px;
  margin: 5px 0;
}

.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  width: 12px;
}

.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded + .mCSB_draggerRail,
.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail {
  height: 12px;
  margin: 2px 0;
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px;
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px;
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px;
}

.mCS-light-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px;
}

/* theme "dark-3" */
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.75);
}

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.85);
}

.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.9);
}

.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.1);
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px;
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px;
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px;
}

.mCS-dark-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px;
}

/* ---------------------------------------- */
/* theme "inset", "inset-dark", "inset-2", "inset-2-dark", "inset-3", "inset-3-dark" */
.mCS-inset.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  width: 12px;
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.2);
}

.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  width: 6px;
  margin: 3px 5px;
  position: absolute;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar {
  height: 6px;
  margin: 5px 3px;
  position: absolute;
  width: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail {
  width: 100%;
  height: 12px;
  margin: 2px 0;
}

.mCS-inset.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -32px -72px;
}

.mCS-inset.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -32px -92px;
}

.mCS-inset.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -40px -112px;
}

.mCS-inset.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-2.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-3.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -40px -128px;
}

/* theme "inset-dark", "inset-2-dark", "inset-3-dark" */
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.75);
}

.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.85);
}

.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.9);
}

.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.1);
}

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonUp,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonUp {
  background-position: -112px -72px;
}

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonDown,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonDown {
  background-position: -112px -92px;
}

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonLeft,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -120px -112px;
}

.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonRight,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonRight {
  background-position: -120px -128px;
}

/* theme "inset-2", "inset-2-dark" */
.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,
.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: transparent;
  border-width: 1px;
  border-style: solid;
  border-color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
  box-sizing: border-box;
}

.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail {
  border-color: #3D4138;
  border-color: rgba(61, 65, 56, 0.2);
}

/* theme "inset-3", "inset-3-dark" */
.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.6);
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.6);
}

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.75);
}

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.85);
}

.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #3D4138;
  background-color: rgba(61, 65, 56, 0.9);
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.75);
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.85);
}

.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
}

/* ---------------------------------------- */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #3D4138;
  opacity: 0.9;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -ms-user-select: none;
      user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}
.mfp-preloader a {
  color: #CCC;
}
.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #fff;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover, .mfp-close:focus {
  opacity: 1;
}
.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #fff;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.mfp-arrow:active {
  margin-top: -54px;
}
.mfp-arrow:hover, .mfp-arrow:focus {
  opacity: 1;
}
.mfp-arrow:before, .mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}
.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}
.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}
.mfp-arrow-left:after {
  border-right: 17px solid #fff;
  margin-left: 31px;
}
.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}
.mfp-arrow-right:after {
  border-left: 17px solid #fff;
  margin-left: 39px;
}
.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}
.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}
.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}
.mfp-figure small {
  color: #fff;
  display: block;
  font-size: 12px;
  line-height: 14px;
}
.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #fff;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
   * Remove all paddings around the image on small screen
   */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
        transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
        transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
        transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
  opacity: 0;
  -webkit-backface-visibility: hidden;
  transition: opacity 0.3s ease-in-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
  opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
  opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
  opacity: 0;
}

.button, .forminator-button, .forminator-button[disabled], .edit-link a.post-edit-link,
input[type=submit] {
  border: none;
  border-radius: 0.1875rem;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  max-width: 25rem;
  padding: 0.5rem 1rem;
  transition: opacity 0.2s ease-in-out;
}
.button, .forminator-button, .forminator-button[disabled], .edit-link a.post-edit-link,
.button p,
.forminator-button p,
.forminator-button[disabled] p,
.edit-link a.post-edit-link p,
input[type=submit],
input[type=submit] p {
  line-height: 1.4;
}
.button:hover, .forminator-button:hover, .edit-link a.post-edit-link:hover, .button:active, .forminator-button:active, .edit-link a.post-edit-link:active,
input[type=submit]:hover,
input[type=submit]:active {
  opacity: 0.5;
}
.button .main-text, .forminator-button .main-text, .edit-link a.post-edit-link .main-text,
input[type=submit] .main-text {
  font-family: "nunito", sans-serif;
  font-weight: 700;
  font-style: italic;
  -webkit-transform: skewX(9deg);
      -ms-transform: skewX(9deg);
          transform: skewX(9deg);
  margin-bottom: 0;
}
.button p, .forminator-button p, .forminator-button[disabled] p, .edit-link a.post-edit-link p,
input[type=submit] p {
  margin-bottom: 0.25rem;
}
.button .main-text, .forminator-button .main-text, .edit-link a.post-edit-link .main-text,
input[type=submit] .main-text {
  font-size: 1.125rem;
}
.button p, .forminator-button p, .forminator-button[disabled] p, .edit-link a.post-edit-link p,
input[type=submit] p {
  font-size: 0.8125rem;
}
@media print, screen and (min-width: 40em) {
  .button .main-text, .forminator-button .main-text, .edit-link a.post-edit-link .main-text,
  input[type=submit] .main-text {
    font-size: 1.5rem;
  }
  .button p, .forminator-button p, .forminator-button[disabled] p, .edit-link a.post-edit-link p,
  input[type=submit] p {
    font-size: 1rem;
  }
}
.button.c2a-btn, .edit-link a.c2a-btn.post-edit-link, .forminator-button, .forminator-button[disabled], .edit-link a.post-edit-link.forminator-button,
input[type=submit].c2a-btn {
  border-radius: 0.625rem;
  -webkit-transform: skewX(-9deg);
      -ms-transform: skewX(-9deg);
          transform: skewX(-9deg);
  padding: 0.3125rem 1.25rem;
  color: #fff;
  background-color: #75BB59;
}
@media screen and (max-width: 39.9375em) {
  .button.c2a-btn, .edit-link a.c2a-btn.post-edit-link, .forminator-button, .forminator-button[disabled], .edit-link a.post-edit-link.forminator-button,
  input[type=submit].c2a-btn {
    max-width: none;
    width: 100%;
  }
}
.button.c2a-btn, .edit-link a.c2a-btn.post-edit-link, .forminator-button, .forminator-button[disabled], .edit-link a.post-edit-link.forminator-button,
input[type=submit].c2a-btn {
  transition: all 0.4s ease-in-out;
}
.button.c2a-btn:hover, .edit-link a.c2a-btn.post-edit-link:hover, .forminator-button:hover, .edit-link a.post-edit-link.forminator-button:hover, .button.c2a-btn:focus, .edit-link a.c2a-btn.post-edit-link:focus, .forminator-button:focus, .edit-link a.post-edit-link.forminator-button:focus,
input[type=submit].c2a-btn:hover,
input[type=submit].c2a-btn:focus {
  opacity: 1;
  background: #008051;
  color: #E2E367;
}

.btn-group .button, .btn-group .forminator-button, .btn-group .edit-link a.post-edit-link, .edit-link .btn-group a.post-edit-link {
  margin-right: 1rem;
}
.btn-group .button:last-child, .btn-group .forminator-button:last-child, .btn-group .edit-link a.post-edit-link:last-child, .edit-link .btn-group a.post-edit-link:last-child {
  margin-right: 0;
}

.fw-content .image-callouts, .tc-sb-content .main-content-wrapper .image-callouts {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

.fw-content .image-callouts.callout-cols-1 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-1 .callout {
  width: calc(100% - 2.5rem);
}
.fw-content .image-callouts.callout-cols-2 .callout, .fw-content .image-callouts.callout-cols-3 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-2 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-3 .callout {
  width: calc(100% - 2.5rem);
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  width: 100%;
}
.fw-content .image-callouts.callout-cols-2 .callout:first-child, .fw-content .image-callouts.callout-cols-3 .callout:first-child, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-2 .callout:first-child, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-3 .callout:first-child {
  margin-top: 0;
}
.fw-content .image-callouts.callout-cols-2 .callout:last-child, .fw-content .image-callouts.callout-cols-3 .callout:last-child, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-2 .callout:last-child, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-3 .callout:last-child {
  margin-bottom: 0;
}
.fw-content .image-callouts .callout .callout-frame, .tc-sb-content .main-content-wrapper .image-callouts .callout .callout-frame {
  padding-bottom: 37.5%;
}

@media print, screen and (min-width: 40em) {
  .fw-content .image-callouts, .tc-sb-content .main-content-wrapper .image-callouts {
    margin-left: -0.9375rem;
    margin-right: -0.9375rem;
  }
  .fw-content .image-callouts.callout-cols-1 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-1 .callout {
    width: calc(66.6666666667% - 3.125rem);
    margin-right: 1.5625rem;
    margin-left: 1.5625rem;
    margin-left: calc(16.6666666667% + 1.25rem);
  }
  .fw-content .image-callouts.callout-cols-2 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-2 .callout {
    width: calc(50% - 3.125rem);
    margin-right: 1.5625rem;
    margin-left: 1.5625rem;
    margin-bottom: 0;
    margin-top: 0;
  }
  .fw-content .image-callouts.callout-cols-3 .callout, .tc-sb-content .main-content-wrapper .image-callouts.callout-cols-3 .callout {
    width: calc(33.3333333333% - 1.875rem);
    margin-right: 0.9375rem;
    margin-left: 0.9375rem;
    margin-bottom: 0;
    margin-top: 0;
  }
  .fw-content .image-callouts .callout .callout-frame, .tc-sb-content .main-content-wrapper .image-callouts .callout .callout-frame {
    padding-bottom: 66.7%;
  }
}
.tc-sb-content .sidebar-content-wrapper .image-callouts {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

.tc-sb-content .sidebar-content-wrapper.callout-cols-1 .callout {
  width: calc(100% - 2.5rem);
}
.tc-sb-content .sidebar-content-wrapper.callout-cols-2 .callout, .tc-sb-content .sidebar-content-wrapper.callout-cols-3 .callout {
  width: calc(100% - 2.5rem);
  margin-bottom: 1.25rem;
}
.tc-sb-content .sidebar-content-wrapper.callout-cols-2 .callout:last-child, .tc-sb-content .sidebar-content-wrapper.callout-cols-3 .callout:last-child {
  margin-bottom: 0;
}

.featured-hero {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 6.25rem;
}
@media print, screen and (min-width: 40em) {
  .featured-hero {
    height: 12.5rem;
  }
}
@media screen and (min-width: 75em) {
  .featured-hero {
    height: 25rem;
  }
}

.dotted, .section-divider hr {
  border-style: dashed;
  margin: 2rem 0;
}

[data-whatinput=mouse] a:focus, button:focus [data-whatinput=touch] a:focus,
button:focus {
  outline: none;
}

.accordion .accordion-item {
  margin-bottom: 0;
}
.accordion .accordion-item .accordion-title {
  background-color: #e6e6e6;
  border-bottom: 0.0625rem solid rgba(163, 163, 163, 0.25);
  color: #3D4138;
  margin: 0;
  padding: 10px 1rem;
}
.accordion .accordion-item .accordion-title::before {
  border-bottom: 0.3125rem solid #3D4138;
  border-left: 0.3125rem solid transparent;
  border-right: 0.3125rem solid transparent;
  content: "";
  height: 0;
  margin-top: -0.1875rem;
  width: 0;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.accordion .accordion-item.is-active .accordion-title::before {
  -ms-transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
.accordion .accordion-item .accordion-content {
  border-bottom: 0.0625rem solid rgba(163, 163, 163, 0.5);
  border-top: 0;
  margin-top: -0.1875rem;
  padding-top: 1.1875rem;
}

.lt-gray-bg .accordion .accordion-item .accordion-title,
.lt-gray-bg .accordion .accordion-item .accordion-content {
  border-color: rgba(61, 65, 56, 0.25);
  border-bottom-color: rgba(61, 65, 56, 0.75);
}
.lt-gray-bg .accordion .accordion-item .accordion-title {
  background-color: #a3a3a3;
  color: #fff;
}
.lt-gray-bg .accordion .accordion-item .accordion-title::before {
  border-bottom: 0.3125rem solid #fff;
  border-left: 0.3125rem solid transparent;
  border-right: 0.3125rem solid transparent;
}

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
  background-color: #75BB59;
  -webkit-transform: skewX(-9deg);
      -ms-transform: skewX(-9deg);
          transform: skewX(-9deg);
  margin-top: -12px;
  border: none;
  height: 24px;
  width: 24px;
  padding: 4px;
  border-radius: 5px;
  content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10.991" height="10.991" viewBox="0 0 10.991 10.991"><path id="Path_508" data-name="Path 508" d="M-5082.247,2665.292h-5.782v5.761" transform="translate(-1703.557 5487.914) rotate(135)" fill="none" stroke="%23fff" stroke-linecap="round" stroke-width="2"/></svg>');
}

.accordion-menu .is-accordion-submenu-parent[aria-expanded=true] > a::after {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
  background-color: #125252;
  content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10.991" height="10.991" viewBox="0 0 10.991 10.991"><path id="Path_508" data-name="Path 508" d="M-5082.247,2665.292h-5.782v5.761" transform="translate(-1703.557 5487.914) rotate(135)" fill="none" stroke="%23E2E367" stroke-linecap="round" stroke-width="2"/></svg>');
}

#collapsible-menu-container .accordion-menu .is-accordion-submenu a {
  font-weight: 400;
}

blockquote {
  font-weight: 700;
}
blockquote .quote-text {
  color: #3D4138;
  line-height: 1.4;
}
blockquote .quote-text:before, blockquote .quote-text:after {
  color: #75BB59;
  display: inline-block;
  font-weight: 700;
  line-height: 0;
  vertical-align: middle;
}
blockquote .quote-text:before {
  content: "“";
}
blockquote .quote-text:after {
  content: "”";
}

blockquote {
  padding: 0 0 0 1.875rem;
}
blockquote .quote-text:before, blockquote .quote-text:after {
  font-size: 2.625rem;
  margin-top: 0.75rem;
}
blockquote .quote-text:before {
  margin-left: -1.875rem;
}

@media print, screen and (min-width: 40em) {
  blockquote {
    padding: 0 0 0 1.875rem;
  }
  blockquote .quote-text {
    font-size: 1.125rem;
  }
  blockquote .quote-text:before, blockquote .quote-text:after {
    font-size: 3rem;
    margin-top: 0.875rem;
  }
  blockquote .quote-text:before {
    margin-left: -1.875rem;
  }
}
@media print, screen and (min-width: 64em) {
  blockquote {
    padding: 0 0 0 1.875rem;
  }
  blockquote .quote-text {
    font-size: 1.5rem;
  }
  blockquote .quote-text:before, blockquote .quote-text:after {
    font-size: 3.75rem;
    margin-top: 1.125rem;
  }
  blockquote .quote-text:before {
    margin-left: -1.875rem;
  }
}
.md-gray-bg blockquote .quote-text {
  color: #3D4138;
}
.md-gray-bg blockquote .quote-text:before, .md-gray-bg blockquote .quote-text:after {
  color: #fff;
}
.md-gray-bg blockquote cite {
  color: #fff;
}

.black-bg blockquote .quote-text {
  color: #e6e6e6;
}

.img-gallery-item a {
  background-position: center center;
  background-size: cover;
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.std-block-grid .img-gallery-item a {
  padding-bottom: 56.25%;
}
.std-block-grid .img-gallery-item a img {
  position: absolute;
  visibility: hidden;
}

.img-gallery-item {
  margin-bottom: 40px;
}

@media print, screen and (min-width: 40em) {
  .std-block-grid .img-gallery-item a {
    padding-bottom: 100%;
  }
  .img-gallery-item {
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 64em) {
  .img-gallery-item {
    margin-bottom: 60px;
  }
}
.std-block-grid .img-gallery-item img.landscape-img {
  height: 100%;
  left: 50%;
  max-width: none;
  width: auto;
  -ms-transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
.std-block-grid .img-gallery-item img.portrait-img {
  height: auto;
  top: 50%;
  width: 100%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.callout-modal.reveal {
  padding: 3.125rem;
}
.callout-modal.reveal p:last-child, .callout-modal.reveal ul:last-child, .callout-modal.reveal ol:last-child {
  margin-bottom: 0;
}
.callout-modal.reveal .caption {
  font-weight: 700;
}

.callout .scaled-image img {
  max-height: 21.875rem;
}
.callout .designations {
  font-size: 0.6875rem;
}
.callout .title-text, .callout .designations {
  display: inline-block;
}
.callout .callout-text {
  padding-top: 10px;
}
.callout .callout-text .main-text {
  font-size: 1.625rem;
  font-weight: 700;
}
.callout .callout-text .main-text::after {
  content: none;
}

.modal-callouts .callout .caption, .callout-modal .caption {
  font-style: italic;
}

.callout-modal .designations {
  font-size: 0.8125rem;
}

@media print, screen and (min-width: 40em) {
  .callout .scaled-image img {
    max-height: none;
  }
  .callout .designations {
    font-size: 0.8125rem;
  }
  .callout .callout-text {
    padding: 12.5px 0;
  }
  .callout .callout-text .main-text {
    font-size: 1.375rem;
  }
  .callout-modal .designations {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 64em) {
  .callout-modal .designations {
    font-size: 1.125rem;
  }
}
.modal-callouts .callout a.scaled-image {
  background: transparent;
  display: block;
  line-height: 0;
  overflow: hidden;
  transition: opacity 0.3s ease-in-out;
}
.modal-callouts .callout a.scaled-image:hover {
  opacity: 0.5;
}
.modal-callouts .callout .scaled-image .img-wrap {
  background-color: rgb(0, 204.5, 129.41015625);
  display: inline-block;
}
.modal-callouts .callout .scaled-image .img-wrap, .modal-callouts .callout .scaled-image img {
  max-width: 100%;
}
.modal-callouts .callout a.main-text {
  background-position: left bottom;
  background-size: 0% 100%;
  transition: background-size 0.3s ease;
}
.modal-callouts .callout a.main-text:hover {
  background-size: 100% 100%;
}
.modal-callouts .callout .caption, .modal-callouts .callout .sm-btns {
  display: inline-block;
  vertical-align: baseline;
}
.modal-callouts .callout .caption {
  margin-right: 0.25rem;
}

.reveal .close-button {
  font-weight: 700;
  transition: color 0.3s ease-in-out;
}

.tabs,
.doc-filters {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.tabs .tabs-title,
.tabs .res-filter,
.doc-filters .tabs-title,
.doc-filters .res-filter {
  overflow: hidden;
  text-align: center;
  text-transform: uppercase;
}
.tabs .tabs-title a,
.tabs .res-filter a,
.doc-filters .tabs-title a,
.doc-filters .res-filter a {
  border-radius: 0.875rem;
  transition: background-color 0.1s ease;
}
.tabs .tabs-title:not(.is-active) a,
.tabs .res-filter:not(.is-active) a,
.doc-filters .tabs-title:not(.is-active) a,
.doc-filters .res-filter:not(.is-active) a {
  background-color: rgba(61, 65, 56, 0.1);
}
.tabs .tabs-title:not(.is-active) a:hover,
.tabs .res-filter:not(.is-active) a:hover,
.doc-filters .tabs-title:not(.is-active) a:hover,
.doc-filters .res-filter:not(.is-active) a:hover {
  background-color: rgba(61, 65, 56, 0.2);
}
.tabs .tabs-title.is-active a,
.tabs .res-filter.is-active a,
.doc-filters .tabs-title.is-active a,
.doc-filters .res-filter.is-active a {
  cursor: default;
}
@media screen and (max-width: 63.9375em) {
  .tabs .tabs-title,
  .doc-filters .tabs-title {
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  .tabs .tabs-title a,
  .doc-filters .tabs-title a {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 25em) {
  .tabs .tabs-title a,
  .doc-filters .tabs-title a {
    font-size: 0.625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .tabs .tabs-title,
  .doc-filters .tabs-title {
    margin: 0 1rem;
  }
}

@media screen and (max-width: 63.9375em) {
  .text-content-with-cta-sidebar .main-content-column {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media screen and (max-width: 63.9375em) {
  .text-content-with-cta-sidebar .secondary-content-sidebar {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 2.5rem;
  }
}
.text-content-with-cta-sidebar .sidebar-buttons-section {
  margin-bottom: 1.5625rem;
}
@media print, screen and (min-width: 64em) {
  .text-content-with-cta-sidebar .sidebar-buttons-section {
    padding-top: 0.5625rem;
  }
}
.text-content-with-cta-sidebar .sidebar-buttons-section .button, .text-content-with-cta-sidebar .sidebar-buttons-section .forminator-button, .text-content-with-cta-sidebar .sidebar-buttons-section .edit-link a.post-edit-link, .edit-link .text-content-with-cta-sidebar .sidebar-buttons-section a.post-edit-link {
  width: 100%;
  padding: 0.1875rem 1.25rem;
  max-width: none;
  margin-bottom: 0.75rem;
}
.text-content-with-cta-sidebar .sidebar-buttons-section .button:nth-child(odd), .text-content-with-cta-sidebar .sidebar-buttons-section .forminator-button:nth-child(odd), .text-content-with-cta-sidebar .sidebar-buttons-section .edit-link a.post-edit-link:nth-child(odd), .edit-link .text-content-with-cta-sidebar .sidebar-buttons-section a.post-edit-link:nth-child(odd) {
  background-color: #E2E367;
  color: #008051;
}
.text-content-with-cta-sidebar .sidebar-buttons-section .button:nth-child(odd):hover, .text-content-with-cta-sidebar .sidebar-buttons-section .forminator-button:nth-child(odd):hover, .text-content-with-cta-sidebar .sidebar-buttons-section .edit-link a.post-edit-link:nth-child(odd):hover, .edit-link .text-content-with-cta-sidebar .sidebar-buttons-section a.post-edit-link:nth-child(odd):hover, .text-content-with-cta-sidebar .sidebar-buttons-section .button:nth-child(odd):focus, .text-content-with-cta-sidebar .sidebar-buttons-section .forminator-button:nth-child(odd):focus, .text-content-with-cta-sidebar .sidebar-buttons-section .edit-link a.post-edit-link:nth-child(odd):focus, .edit-link .text-content-with-cta-sidebar .sidebar-buttons-section a.post-edit-link:nth-child(odd):focus {
  background: #008051;
  color: #E2E367;
}
.text-content-with-cta-sidebar .sidebar-content-area {
  background-color: rgba(240, 204, 127, 0.25);
  border-radius: 7px;
  color: #3D4138;
  padding: 1.875rem;
}
.text-content-with-cta-sidebar .sidebar-content-area p {
  font-style: italic;
}
.text-content-with-cta-sidebar .sidebar-content-area .citation-text {
  color: #008051;
  font-weight: 700;
  font-style: italic;
  margin: 0;
  padding: 0;
}

.callout-blocks {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem;
}
.callout-blocks .callout-block {
  visibility: hidden;
  width: calc(100% - 1.875rem);
  margin-top: 0.9375rem;
  margin-right: 0.9375rem;
  margin-bottom: 0.9375rem;
  margin-left: 0.9375rem;
}
@media print, screen and (min-width: 40em) {
  .callout-blocks .callout-block {
    width: calc(50% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .callout-blocks .callout-block {
    width: calc(33.3333333333% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.callout-blocks .callout-block .callout-block-interior {
  position: relative;
}
.callout-blocks .callout-block .callout-block-interior .callout-block-extra-copy {
  background-color: rgba(240, 204, 127, 0.25);
  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
  color: #3D4138;
  padding: 1.875rem;
}
.callout-blocks .callout-block .callout-block-interior .callout-block-extra-copy .callout-button-holder {
  text-align: center;
}
.callout-blocks .callout-block .callout-block-interior .callout-block-extra-copy p {
  margin-bottom: 1.875rem;
  font-size: 1rem;
  line-height: 1.25rem;
}
.callout-blocks .callout-block .callout-block-interior .button.c2a-btn, .callout-blocks .callout-block .callout-block-interior .edit-link a.c2a-btn.post-edit-link, .edit-link .callout-blocks .callout-block .callout-block-interior a.c2a-btn.post-edit-link, .callout-blocks .callout-block .callout-block-interior .forminator-button {
  margin-bottom: 0;
  max-width: none;
}
.callout-blocks .callout-block .callout-block-interior .callout-image-link {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  cursor: pointer;
  color: #fff;
}
.callout-blocks .callout-block .callout-block-interior .callout-image-link:hover h2 {
  color: #fff;
}
.callout-blocks .callout-block .callout-block-interior .callout-image-link:hover .callout-image-holder {
  background: #75BB59;
}
.callout-blocks .callout-block .callout-block-interior .callout-image-link:hover .callout-image-holder img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
}
.callout-blocks .callout-block .callout-block-interior .callout-image-holder {
  position: relative;
  overflow: hidden;
  border-top-left-radius: 7px;
  border-top-right-radius: 7px;
}
.callout-blocks .callout-block .callout-block-interior .callout-image-holder img {
  width: 100%;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
.callout-blocks .callout-block .callout-block-interior .callout-image-holder .callout-heading {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 10;
  padding: 1.875rem;
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}
.callout-blocks .callout-block .callout-block-interior .callout-image-holder .callout-heading h2 {
  margin: 0;
  font-size: 1.875rem;
  line-height: 1.875rem;
  color: #fff;
}
@media print, screen and (min-width: 64em) {
  .callout-blocks .callout-block .callout-block-interior .callout-image-holder .callout-heading h2 {
    font-size: 1.875rem;
    line-height: 1.875rem;
  }
}

@media screen and (max-width: 74.9375em) {
  .images-with-content-section {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    margin-left: -0.9375rem;
    margin-right: -0.9375rem;
  }
}
@media screen and (min-width: 75em) {
  .images-with-content-section {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-left: -35.3125rem;
    margin-right: -10rem;
  }
}
.images-with-content-section .content-row-image-block {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media screen and (max-width: 39.9375em) {
  .images-with-content-section .content-row-image-block {
    min-height: 12.75rem !important;
  }
}
@media screen and (max-width: 74.9375em) {
  .images-with-content-section .content-row-image-block {
    min-height: 16.6875rem;
  }
}
@media screen and (min-width: 75em) {
  .images-with-content-section .content-row-image-block {
    min-height: 19.3125rem;
  }
}
.images-with-content-section .first-image-column, .images-with-content-section .second-image-column, .images-with-content-section .third-image-column {
  visibility: hidden;
}
@media screen and (min-width: 75em) {
  .images-with-content-section .first-image-column, .images-with-content-section .second-image-column, .images-with-content-section .third-image-column, .images-with-content-section .main-content-column {
    margin-left: 0.9375rem;
    margin-right: 0.9375rem;
  }
}
@media screen and (max-width: 74.9375em) {
  .images-with-content-section .main-content-column {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    width: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
@media screen and (min-width: 75em) {
  .images-with-content-section .main-content-column {
    width: 700px;
  }
}
@media screen and (min-width: 106.25em) {
  .images-with-content-section .main-content-column {
    width: 800px;
  }
}
.images-with-content-section .first-image-column {
  width: 583px;
}
@media screen and (max-width: 74.9375em) {
  .images-with-content-section .first-image-column {
    display: none;
  }
}
.images-with-content-section .first-image-column .content-row-image-block {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="583.68" height="309.545" viewBox="0 0 583.68 309.545"><path id="Path_527" data-name="Path 527" d="M542.706-4.471H103.115c-43.486,0-64.005-29.149-57-80.113l22.123-160.13c6.08-43.628,27.612-68.82,68.987-68.82l438.662-.386c32.171,0,58.854,24.9,51.255,80.113L603.587-64.025c-4.729,34.265-30.652,59.65-60.965,59.65Z" transform="translate(-44.77 313.92)" fill="%23c63527"/></svg>');
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="583.68" height="309.545" viewBox="0 0 583.68 309.545"><path id="Path_527" data-name="Path 527" d="M542.706-4.471H103.115c-43.486,0-64.005-29.149-57-80.113l22.123-160.13c6.08-43.628,27.612-68.82,68.987-68.82l438.662-.386c32.171,0,58.854,24.9,51.255,80.113L603.587-64.025c-4.729,34.265-30.652,59.65-60.965,59.65Z" transform="translate(-44.77 313.92)" fill="%23c63527"/></svg>');
  -webkit-mask-size: 583px 309px;
          mask-size: 583px 309px;
  -webkit-mask-position: right;
          mask-position: right;
}
.images-with-content-section .second-image-column {
  width: 373px;
}
@media screen and (max-width: 74.9375em) {
  .images-with-content-section .second-image-column {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    width: calc(50% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.images-with-content-section .second-image-column .content-row-image-block {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="373.772" height="309.546" viewBox="0 0 373.772 309.546"><path id="Path_527" data-name="Path 527" d="M357.24,45.536H144.621c-48.429,0-71.374-29.186-63.475-80.213l24.92-160.33c6.771-43.682,30.75-69,76.923-69H394.854c35.828,0,65.544,24.934,57.081,80.213L425.793-14.19C420.527,20.118,391,45.535,357.24,45.535Z" transform="translate(-79.617 264.01)" fill="%23c63527"/></svg>');
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="373.772" height="309.546" viewBox="0 0 373.772 309.546"><path id="Path_527" data-name="Path 527" d="M357.24,45.536H144.621c-48.429,0-71.374-29.186-63.475-80.213l24.92-160.33c6.771-43.682,30.75-69,76.923-69H394.854c35.828,0,65.544,24.934,57.081,80.213L425.793-14.19C420.527,20.118,391,45.535,357.24,45.535Z" transform="translate(-79.617 264.01)" fill="%23c63527"/></svg>');
  -webkit-mask-size: 373px 309px;
          mask-size: 373px 309px;
}
@media screen and (max-width: 39.9375em) {
  .images-with-content-section .second-image-column .content-row-image-block {
    width: 246px !important;
    -webkit-mask-size: 100% !important;
            mask-size: 100% !important;
    margin-left: -80px;
  }
}
@media screen and (max-width: 74.9375em) {
  .images-with-content-section .second-image-column .content-row-image-block {
    width: 322px;
    -webkit-mask-size: 100%;
            mask-size: 100%;
  }
}
.images-with-content-section .third-image-column {
  width: 427px;
}
@media screen and (max-width: 74.9375em) {
  .images-with-content-section .third-image-column {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: calc(50% - 1.875rem);
    margin-top: 0.9375rem;
    margin-right: 0.9375rem;
    margin-bottom: 0.9375rem;
    margin-left: 0.9375rem;
  }
}
.images-with-content-section .third-image-column .content-row-image-block {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="427.506" height="309.546" viewBox="0 0 427.506 309.546"><path id="Path_527" data-name="Path 527" d="M397.151,45.536H153.966c-55.391,0-81.635-29.186-72.6-80.213l28.5-160.33c7.744-43.682,35.171-69,87.981-69H440.173c40.979,0,74.967,24.934,65.287,80.213L475.56-14.19c-6.023,34.308-39.8,59.725-78.408,59.725Z" transform="translate(-79.617 264.01)" fill="%23c63527"/></svg>');
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="427.506" height="309.546" viewBox="0 0 427.506 309.546"><path id="Path_527" data-name="Path 527" d="M397.151,45.536H153.966c-55.391,0-81.635-29.186-72.6-80.213l28.5-160.33c7.744-43.682,35.171-69,87.981-69H440.173c40.979,0,74.967,24.934,65.287,80.213L475.56-14.19c-6.023,34.308-39.8,59.725-78.408,59.725Z" transform="translate(-79.617 264.01)" fill="%23c63527"/></svg>');
  -webkit-mask-size: 427px 309px;
          mask-size: 427px 309px;
  -webkit-mask-position: left;
          mask-position: left;
}
@media screen and (max-width: 39.9375em) {
  .images-with-content-section .third-image-column .content-row-image-block {
    width: 281px !important;
    -webkit-mask-size: 100% !important;
            mask-size: 100% !important;
    -webkit-mask-position: inherit !important;
            mask-position: inherit !important;
  }
}
@media screen and (max-width: 74.9375em) {
  .images-with-content-section .third-image-column .content-row-image-block {
    width: 366px;
    -webkit-mask-size: 100%;
            mask-size: 100%;
    -webkit-mask-position: inherit;
            mask-position: inherit;
  }
}

@media screen and (min-width: 75em) {
  .hide-copy-column .images-with-content-section {
    margin-left: -9.6875rem;
    margin-right: 0;
  }
}
.hide-copy-column .images-with-content-section .main-content-column {
  display: none !important;
}
.hide-copy-column .images-with-content-section .first-image-column {
  width: 667px;
}
@media screen and (max-width: 74.9375em) {
  .hide-copy-column .images-with-content-section .first-image-column {
    display: none;
  }
}
.hide-copy-column .images-with-content-section .first-image-column .content-row-image-block {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="667.198" height="309.546" viewBox="0 0 667.198 309.546"><path d="M793.465-4.471H290.973c-49.709,0-73.164-29.149-65.152-80.113l25.289-160.13c6.95-43.628,31.563-68.82,78.858-68.82l501.43-.386c36.775,0,67.276,24.9,58.589,80.113L863.057-64.025a70.709,70.709,0,0,1-69.689,59.65Z" transform="translate(-224.28 313.92)" fill="%23620707"/></svg>');
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="667.198" height="309.546" viewBox="0 0 667.198 309.546"><path d="M793.465-4.471H290.973c-49.709,0-73.164-29.149-65.152-80.113l25.289-160.13c6.95-43.628,31.563-68.82,78.858-68.82l501.43-.386c36.775,0,67.276,24.9,58.589,80.113L863.057-64.025a70.709,70.709,0,0,1-69.689,59.65Z" transform="translate(-224.28 313.92)" fill="%23620707"/></svg>');
  -webkit-mask-size: 667px 309px;
          mask-size: 667px 309px;
  -webkit-mask-position: right;
          mask-position: right;
}
.hide-copy-column .images-with-content-section .third-image-column {
  /*@include breakpoint(large down) {
      order: 1;
      @include xy-cell(
          $size: 6,
          $gutters: 30px,
          $gutter-position: top right bottom left
      );
  }*/
}
.hide-copy-column .images-with-content-section .third-image-column .content-row-image-block {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="278.735" height="309.063" viewBox="0 0 278.735 309.063"><path id="Duotone-Colour-Images-Round-240" d="M540.935-4.934H426.943c-49.709,0-72.391-29.439-64.38-80.4L387.852-245.08c6.95-43.628,31.563-68.82,78.858-68.82H579.64c36.775,0,67.276,24.9,58.589,80.113L611.3-64.488c-5.405,34.265-35.617,59.651-70.365,59.651Z" transform="translate(-360.987 313.9)" fill="%235f2323"/></svg>');
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="278.735" height="309.063" viewBox="0 0 278.735 309.063"><path id="Duotone-Colour-Images-Round-240" d="M540.935-4.934H426.943c-49.709,0-72.391-29.439-64.38-80.4L387.852-245.08c6.95-43.628,31.563-68.82,78.858-68.82H579.64c36.775,0,67.276,24.9,58.589,80.113L611.3-64.488c-5.405,34.265-35.617,59.651-70.365,59.651Z" transform="translate(-360.987 313.9)" fill="%235f2323"/></svg>');
  -webkit-mask-size: 286px 309px;
          mask-size: 286px 309px;
}
@media screen and (max-width: 39.9375em) {
  .hide-copy-column .images-with-content-section .third-image-column .content-row-image-block {
    width: 171px !important;
    -webkit-mask-size: 100% !important;
            mask-size: 100% !important;
    margin-left: 35px;
    margin-right: 0;
  }
}
@media screen and (max-width: 74.9375em) {
  .hide-copy-column .images-with-content-section .third-image-column .content-row-image-block {
    -webkit-mask-size: 100%;
            mask-size: 100%;
    background-size: cover;
    width: 240px;
    -webkit-mask-position: inherit;
            mask-position: inherit;
  }
}
@media screen and (min-width: 75em) {
  .hide-copy-column .images-with-content-section .second-image-column {
    margin-left: 5.3125rem;
    margin-right: 5.75rem;
  }
}
.hide-copy-column .images-with-content-section .second-image-column .content-row-image-block {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="383.646" height="309.16" viewBox="0 0 383.646 309.16"><path id="Duotone-light-green-series3" d="M592.284-4.75H374.049c-49.709,0-73.26-29.15-65.152-80.113l25.578-160.13c6.95-43.628,31.562-68.917,78.955-68.917H630.893c36.775,0,67.275,24.9,58.589,80.113L662.648-64.4c-5.405,34.265-35.713,59.651-70.364,59.651Z" transform="translate(-307.327 313.91)" fill="%23501a1a"/></svg>');
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="383.646" height="309.16" viewBox="0 0 383.646 309.16"><path id="Duotone-light-green-series3" d="M592.284-4.75H374.049c-49.709,0-73.26-29.15-65.152-80.113l25.578-160.13c6.95-43.628,31.562-68.917,78.955-68.917H630.893c36.775,0,67.275,24.9,58.589,80.113L662.648-64.4c-5.405,34.265-35.713,59.651-70.364,59.651Z" transform="translate(-307.327 313.91)" fill="%23501a1a"/></svg>');
  -webkit-mask-size: 383px 309px;
          mask-size: 383px 309px;
  -webkit-mask-position: left;
          mask-position: left;
  width: 383px;
}
@media screen and (max-width: 39.9375em) {
  .hide-copy-column .images-with-content-section .second-image-column .content-row-image-block {
    width: 235px !important;
    -webkit-mask-size: 100% !important;
            mask-size: 100% !important;
    -webkit-mask-position: inherit !important;
            mask-position: inherit !important;
    margin-right: 0px;
    margin-left: -55px;
  }
}
@media screen and (max-width: 74.9375em) {
  .hide-copy-column .images-with-content-section .second-image-column .content-row-image-block {
    -webkit-mask-size: 100%;
            mask-size: 100%;
    background-size: cover;
    width: 330px;
    -webkit-mask-position: inherit;
            mask-position: inherit;
  }
}

.sb-align-left .sidebar-content-wrapper {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.sb-align-left .main-content-wrapper {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}

.sb-align-right .sidebar-content-wrapper {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.sb-align-right .main-content-wrapper {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.content-band.btm-mar-collapse .fw-content .main-content-wrapper p:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper ul:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper ol:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h1:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h2:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h3:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h4:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h5:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper h6:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .content-band.btm-mar-collapse .fw-content .main-content-wrapper .accordion-title:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper button:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper .button:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper .forminator-button:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper .edit-link a.post-edit-link:last-child, .edit-link .content-band.btm-mar-collapse .fw-content .main-content-wrapper a.post-edit-link:last-child, .content-band.btm-mar-collapse .fw-content .main-content-wrapper blockquote:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper p:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper ul:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper ol:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h1:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h2:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h3:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h4:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h5:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper h6:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper .accordion-title:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper button:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper .button:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper .forminator-button:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper .edit-link a.post-edit-link:last-child, .edit-link .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper a.post-edit-link:last-child, .content-band.btm-mar-collapse .tc-sb-content .main-content-wrapper blockquote:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper p:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper ul:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper ol:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h1:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h2:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h3:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h4:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h5:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper h6:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper .accordion-title:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper button:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper .button:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper .forminator-button:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper .edit-link a.post-edit-link:last-child, .edit-link .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper a.post-edit-link:last-child, .content-band.btm-mar-collapse .tc-sb-content .sidebar-content-wrapper blockquote:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper p:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper ul:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper ol:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h1:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h2:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h3:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h4:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h5:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper h6:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper .accordion-title:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper button:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper .button:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper .forminator-button:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper .edit-link a.post-edit-link:last-child, .edit-link .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper a.post-edit-link:last-child, .content-band.btm-mar-collapse .tc-even-content .col-content-wrapper blockquote:last-child {
  margin-bottom: 0;
}

.fw-content .main-content-wrapper.btm-mar-collapse p:last-child, .fw-content .main-content-wrapper.btm-mar-collapse ul:last-child, .fw-content .main-content-wrapper.btm-mar-collapse ol:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h1:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h2:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h3:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h4:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h5:last-child, .fw-content .main-content-wrapper.btm-mar-collapse h6:last-child, .fw-content .main-content-wrapper.btm-mar-collapse .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .fw-content .main-content-wrapper.btm-mar-collapse .accordion-title:last-child, .fw-content .main-content-wrapper.btm-mar-collapse button:last-child, .fw-content .main-content-wrapper.btm-mar-collapse .button:last-child, .fw-content .main-content-wrapper.btm-mar-collapse .forminator-button:last-child, .fw-content .main-content-wrapper.btm-mar-collapse .edit-link a.post-edit-link:last-child, .edit-link .fw-content .main-content-wrapper.btm-mar-collapse a.post-edit-link:last-child, .fw-content .main-content-wrapper.btm-mar-collapse blockquote:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse p:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse ul:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse ol:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h1:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h2:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h3:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h4:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h5:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse h6:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .tc-sb-content .main-content-wrapper.btm-mar-collapse .accordion-title:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse button:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse .button:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse .forminator-button:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse .edit-link a.post-edit-link:last-child, .edit-link .tc-sb-content .main-content-wrapper.btm-mar-collapse a.post-edit-link:last-child, .tc-sb-content .main-content-wrapper.btm-mar-collapse blockquote:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse p:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse ul:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse ol:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h1:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h2:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h3:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h4:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h5:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse h6:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse .accordion-title:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse button:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse .button:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse .forminator-button:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse .edit-link a.post-edit-link:last-child, .edit-link .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse a.post-edit-link:last-child, .tc-sb-content .sidebar-content-wrapper.btm-mar-collapse blockquote:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse p:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse ul:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse ol:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h1:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h2:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h3:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h4:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h5:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse h6:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse .accordion .accordion-item .accordion-title:last-child, .accordion .accordion-item .tc-even-content .col-content-wrapper.btm-mar-collapse .accordion-title:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse button:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse .button:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse .forminator-button:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse .edit-link a.post-edit-link:last-child, .edit-link .tc-even-content .col-content-wrapper.btm-mar-collapse a.post-edit-link:last-child, .tc-even-content .col-content-wrapper.btm-mar-collapse blockquote:last-child {
  margin-bottom: 0;
}

.banner {
  background-repeat: no-repeat;
  background-size: cover;
}

.banner {
  min-height: 15.625rem;
}

@media print, screen and (min-width: 40em) {
  .banner {
    min-height: 18.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .banner {
    min-height: 25rem;
  }
}
@media screen and (min-width: 75em) {
  .banner {
    min-height: 31.25rem;
  }
}
@media screen and (min-width: 90em) {
  .banner {
    min-height: 37.5rem;
  }
}
.banner {
  transition: margin 0.2s ease-in-out, min-height 0.2s ease-in-out;
}

.banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.banner .content-band {
  width: 100%;
}
.banner .content-band.align-content-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start;
}
.banner .content-band.align-content-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end;
}

.banner .text-shadow-light {
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.35);
}
.banner .text-shadow-dark {
  text-shadow: 0 0 10px #3d4138;
}

.banner h1,
.banner h2,
.banner h3,
.banner h4,
.banner h5,
.banner h6,
.banner .accordion .accordion-item .accordion-title,
.accordion .accordion-item .banner .accordion-title,
.banner p {
  color: #fff;
}

.home-page-banner .main-content-wrapper {
  visibility: hidden;
}
@media screen and (min-width: 75em) {
  .home-page-banner {
    margin-left: -95px;
    margin-right: -95px;
    overflow: hidden;
  }
}
@media screen and (max-width: 74.9375em) {
  .home-page-banner .hide-banner-on-mobile {
    display: none;
  }
}
@media screen and (max-width: 74.9375em) {
  .home-page-banner .full-banner-on-mobile {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
.home-page-banner .banner-image-block {
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 39.9375em) {
  .home-page-banner .banner-image-block {
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.home-page-banner .banner-image-block .button, .home-page-banner .banner-image-block .forminator-button, .home-page-banner .banner-image-block .edit-link a.post-edit-link, .edit-link .home-page-banner .banner-image-block a.post-edit-link {
  background-color: #E2E367;
  color: #008051;
  margin: 0;
}
.home-page-banner .banner-image-block .button:hover, .home-page-banner .banner-image-block .forminator-button:hover, .home-page-banner .banner-image-block .edit-link a.post-edit-link:hover, .edit-link .home-page-banner .banner-image-block a.post-edit-link:hover, .home-page-banner .banner-image-block .button:focus, .home-page-banner .banner-image-block .forminator-button:focus, .home-page-banner .banner-image-block .edit-link a.post-edit-link:focus, .edit-link .home-page-banner .banner-image-block a.post-edit-link:focus {
  background: #125252;
  color: #75BB59;
}
@media screen and (min-width: 75em) {
  .home-page-banner .banner-image-block.primary-block {
    -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1171.23" height="408.315" viewBox="0 0 1171.23 408.315"><path id="Homepage-hero-duotone" d="M1128.194,411.215l-954.461-.57c-65.55,0-95.949-37.81-85.31-105.166L121.293,93.721C130.414,36.15,162.9,2.9,225.319,2.9h953.036c48.545,0,88.731,32.775,77.235,105.736l-35.435,223.918a93.2,93.2,0,0,1-91.961,78.661Z" transform="translate(-86.342 -2.9)" fill="%23008051"/></svg>');
            mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1171.23" height="408.315" viewBox="0 0 1171.23 408.315"><path id="Homepage-hero-duotone" d="M1128.194,411.215l-954.461-.57c-65.55,0-95.949-37.81-85.31-105.166L121.293,93.721C130.414,36.15,162.9,2.9,225.319,2.9h953.036c48.545,0,88.731,32.775,77.235,105.736l-35.435,223.918a93.2,93.2,0,0,1-91.961,78.661Z" transform="translate(-86.342 -2.9)" fill="%23008051"/></svg>');
    -webkit-mask-size: cover;
            mask-size: cover;
    -webkit-mask-position: right;
            mask-position: right;
  }
}
.home-page-banner .banner-image-block.primary-block {
  padding: 1.875rem;
}
.home-page-banner .banner-image-block.primary-block p {
  color: #fff;
}
@media screen and (max-width: 39.9375em) {
  .home-page-banner .banner-image-block.primary-block {
    padding: 0.9375rem 1.875rem 1.875rem 1.875rem;
    background-position: 60% 0%;
  }
}
@media screen and (min-width: 75em) {
  .home-page-banner .banner-image-block.primary-block {
    padding: 1.875rem 0 1.875rem 5.625rem;
  }
  .home-page-banner .banner-image-block.primary-block h1 {
    width: 85%;
  }
  .home-page-banner .banner-image-block.primary-block p {
    width: 85%;
  }
}
@media screen and (min-width: 90em) {
  .home-page-banner .banner-image-block.primary-block {
    padding-left: 19%;
  }
  .home-page-banner .banner-image-block.primary-block h1 {
    width: 70%;
  }
  .home-page-banner .banner-image-block.primary-block p {
    width: 70%;
  }
}
@media screen and (min-width: 100em) {
  .home-page-banner .banner-image-block.primary-block {
    padding-left: 25%;
  }
}
.home-page-banner .banner-image-block.secondary-block {
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="368.248" height="408.315" viewBox="0 0 368.248 408.315"><path id="Path_527" data-name="Path 527" d="M598.724,94.287h-150.6c-65.672,0-95.639-38.893-85.055-106.223l33.41-211.043c9.182-57.638,41.7-90.921,104.183-90.921h149.2c48.585,0,88.881,32.9,77.4,105.84L691.685,15.608c-7.141,45.269-47.055,78.807-92.961,78.807Z" transform="translate(-360.987 313.9)" fill="%23c84539"/></svg>');
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="368.248" height="408.315" viewBox="0 0 368.248 408.315"><path id="Path_527" data-name="Path 527" d="M598.724,94.287h-150.6c-65.672,0-95.639-38.893-85.055-106.223l33.41-211.043c9.182-57.638,41.7-90.921,104.183-90.921h149.2c48.585,0,88.881,32.9,77.4,105.84L691.685,15.608c-7.141,45.269-47.055,78.807-92.961,78.807Z" transform="translate(-360.987 313.9)" fill="%23c84539"/></svg>');
}
.home-page-banner .banner-image-block h1, .home-page-banner .banner-image-block h2, .home-page-banner .banner-image-block h3, .home-page-banner .banner-image-block h4, .home-page-banner .banner-image-block h5, .home-page-banner .banner-image-block h6, .home-page-banner .banner-image-block .accordion .accordion-item .accordion-title, .accordion .accordion-item .home-page-banner .banner-image-block .accordion-title, .home-page-banner .banner-image-block p {
  color: #fff;
}
.home-page-banner .banner-image-block {
  min-height: 31.25rem;
}
@media print, screen and (min-width: 40em) {
  .home-page-banner .banner-image-block {
    min-height: 31.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  .home-page-banner .banner-image-block {
    min-height: 28.125rem;
  }
}
@media screen and (min-width: 75em) {
  .home-page-banner .banner-image-block {
    min-height: 26.5625rem;
  }
}
@media screen and (min-width: 90em) {
  .home-page-banner .banner-image-block {
    min-height: 31.25rem;
  }
}
@media screen and (min-width: 100em) {
  .home-page-banner .banner-image-block {
    min-height: 34.375rem;
  }
}
@media screen and (min-width: 123.75em) {
  .home-page-banner .banner-image-block {
    min-height: 37.5rem;
  }
}
@media screen and (min-width: 134.375em) {
  .home-page-banner .banner-image-block {
    min-height: 44.6875rem;
  }
}

.front-hero .marketing {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .front-hero .marketing {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .front-hero .marketing {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}
.front-hero .marketing {
  max-width: 55rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.front-hero {
  background: url("../images/demo/hero-bg-foundation-6-small.svg") bottom center;
  background-size: cover;
  background-position: bottom;
  padding: 4.0625rem 0;
  margin: 0 0 2rem;
  height: auto;
  position: relative;
  text-align: left;
}
@media print, screen and (min-width: 40em) {
  .front-hero {
    background: url("../images/demo/hero-bg-foundation-6-large.svg") bottom center;
    background-size: cover;
    background-position: center;
    height: 42.8125rem;
    margin: 0 0 4.5rem;
  }
}
.front-hero .watch {
  width: calc(58.3333333333% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .front-hero .watch {
    width: calc(100% - 3.125rem);
    margin-right: 1.5625rem;
    margin-left: 1.5625rem;
  }
}
.front-hero .watch a {
  color: #B4C9D1;
  cursor: pointer;
  font-weight: 400;
  margin-right: 1.25rem;
}
.front-hero .watch a:hover {
  color: #fff;
}
.front-hero .watch #stargazers :before {
  content: "\f09b";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  color: #B4C9D1;
  margin-right: 0.5rem;
}
.front-hero .watch #twitter :before {
  content: "\f099";
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  color: #B4C9D1;
  margin-right: 0.5rem;
}
.front-hero .tagline {
  width: calc(66.6666666667% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .front-hero .tagline {
    width: calc(41.6666666667% - 3.125rem);
    margin-right: 1.5625rem;
    margin-left: 1.5625rem;
    padding-top: 6rem;
  }
}
.front-hero h1 {
  color: #fff;
  font-weight: 500;
  font-size: 2.2rem;
}
@media print, screen and (min-width: 40em) {
  .front-hero h1 {
    font-size: 2.875rem;
  }
}
.front-hero h4 {
  color: #fefefe;
  font-weight: 300;
  font-size: 1.3125rem;
}
.front-hero .download {
  margin-top: 1.25rem;
}

.intro {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .intro {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .intro {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}
.intro {
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.intro .fp-intro {
  width: calc(100% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .intro .fp-intro {
    width: calc(83.3333333333% - 3.125rem);
    margin-right: 1.5625rem;
    margin-left: 1.5625rem;
    margin-left: calc(8.3333333333% + 1.25rem);
  }
  .intro .fp-intro h2 {
    font-weight: 300;
    margin-bottom: 1.5rem;
  }
  .intro .fp-intro h4 {
    font-size: 1.125rem;
    line-height: 1.6;
    color: #777;
    margin-bottom: 2rem;
  }
}

.section-divider {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .section-divider {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .section-divider {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}
.section-divider {
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.section-divider hr {
  width: calc(100% - 3.75rem);
  margin-right: 1.875rem;
  margin-left: 1.875rem;
  box-sizing: border-box;
}

.benefits {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .benefits {
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}
@media print, screen and (min-width: 64em) {
  .benefits {
    padding-right: 1.875rem;
    padding-left: 1.875rem;
  }
}
.benefits {
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  text-align: center;
}
.benefits header {
  width: calc(100% - 3.75rem);
  margin-right: 1.875rem;
  margin-left: 1.875rem;
}
.benefits header h2 {
  font-weight: 300;
}
.benefits header h4 {
  font-size: 1.125rem;
  line-height: 1.6;
  color: #777;
}
.benefits .semantic,
.benefits .responsive,
.benefits .customizable,
.benefits .professional {
  width: calc(100% - 2.5rem);
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .benefits .semantic,
  .benefits .responsive,
  .benefits .customizable,
  .benefits .professional {
    width: calc(25% - 3.125rem);
    margin-right: 1.5625rem;
    margin-left: 1.5625rem;
  }
}
.benefits .semantic img,
.benefits .responsive img,
.benefits .customizable img,
.benefits .professional img {
  padding: 1.25rem;
  margin: 1rem auto 0 auto;
}
.benefits .semantic h3,
.benefits .responsive h3,
.benefits .customizable h3,
.benefits .professional h3 {
  color: #0a0a0a;
  font-weight: 300;
  font-size: 1.75rem;
}
.benefits .semantic p,
.benefits .responsive p,
.benefits .customizable p,
.benefits .professional p {
  font-size: 0.9375rem;
}
.benefits .why-foundation {
  width: calc(100% - 3.75rem);
  margin-right: 1.875rem;
  margin-left: 1.875rem;
  margin-top: 4rem;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImFwcC5zY3NzIiwiY3VzdG9tLWNsYXNzZXMvX3BhZGRpbmctbWFyZ2lucy5zY3NzIiwiY3VzdG9tLWNsYXNzZXMvX2J1dHRvbi1jbGFzc2VzLnNjc3MiLCJjdXN0b20tY2xhc3Nlcy9fbWlzYy1zdHlsZXMuc2NzcyIsImdsb2JhbC9fbWl4aW5zLnNjc3MiLCJnbG9iYWwvX2FjY2Vzc2liaWxpdHkuc2NzcyIsImdsb2JhbC9fYmFja2dyb3VuZHMuc2NzcyIsImdsb2JhbC9fY29sb3JzLnNjc3MiLCJnbG9iYWwvX2Zvcm1zLnNjc3MiLCJnbG9iYWwvX3R5cG9ncmFwaHkuc2NzcyIsImdsb2JhbC9fd3AtYWRtaW4uc2NzcyIsImdsb2JhbC9fd3Atb3ZlcnJpZGVzLnNjc3MiLCJtb2R1bGVzL19tYXN0aGVhZC5zY3NzIiwibW9kdWxlcy9fbmF2aWdhdGlvbi5zY3NzIiwibW9kdWxlcy9fY29sbGFwc2libGUtbWVudS5zY3NzIiwibW9kdWxlcy9fY29udGVudC5zY3NzIiwibW9kdWxlcy9fZm9vdGVyLnNjc3MiLCJtb2R1bGVzL19lZGl0b3Itc3R5bGUuc2NzcyIsIm1vZHVsZXMvX21DdXN0b21TY3JvbGxiYXJzLnNjc3MiLCJtb2R1bGVzL19tYWduaWZpYy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fY2FsbG91dHMuc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmVkLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL19kaXZpZGVycy5zY3NzIiwiY29tcG9uZW50cy9fbGlua3Muc2NzcyIsImNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcXVvdGVzLnNjc3MiLCJjb21wb25lbnRzL19pbWctZ2FsbGVyeS5zY3NzIiwiY29tcG9uZW50cy9fbW9kYWwtY2FsbG91dHMuc2NzcyIsImNvbXBvbmVudHMvX3RhYnMuc2NzcyIsImNvbXBvbmVudHMvX3RleHQtd2l0aC1jdGEtc2lkZWJhci5zY3NzIiwiY29tcG9uZW50cy9fY2FsbG91dC1ibG9ja3Muc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlcy13aXRoLWNvbnRlbnQtc2VjdGlvbi5zY3NzIiwiZGNiL19jb250ZW50LWJhbmRzLnNjc3MiLCJkY2IvX2Jhbm5lci5zY3NzIiwidGVtcGxhdGVzL19mcm9udC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7R0FBQTtBQ21LTTtFQ3ZISjtJQUNFLFlBQUE7SUFDQSxXQUFBO0lBQ0EsZUFBQTtHSG5DRDtDQUNGO0FJZ0NDLGlFQUFBO0FBR0U7Z0ZBQUE7QUFHQTs7Ozs7R0FBQTtBQU9BO0VBQ0Usd0JDMUNhLENEMENtQixPQUFBO0VBUTlCLGtCQUFBLENBQUEsT0FBQTtFQUVGLDJCQUFBLENBQUEsT0FBQTtFQUNBLCtCQUFBLENBQUEsT0FBQTtDSjFDTDs7QUkrQ0c7Z0ZBQUE7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QUEsbUJBQUE7VUFBQSxlQUFBO0NiOGhCSDs7QVU3aUJHO0VHbUNBLFlBQUE7Q2I4Z0JIO0FVN2lCRztFR21DQSxZQUFBO0NiNmdCSDs7QVVoaUJLO0VBQ0UseUJBQUE7TUFBQSw4QkFBQTtVQUFBLGlCQUFBO0NWbWlCUDs7QUVoY0s7RVFwR0E7SUFDRSx5QkFBQTtRQUFBLDhCQUFBO1lBQUEsaUJBQUE7R1Z3aUJMO0NBQ0Y7QUV0Y0s7RVFwR0E7SUFDRSx5QkFBQTtRQUFBLDhCQUFBO1lBQUEsaUJBQUE7R1Y2aUJMO0NBQ0Y7QVUxaEJLO0VHRUYscUJBRE07Q2I0aEJUOztBVTdoQks7RUdFRixzQkFETTtDYmdpQlQ7O0FVamlCSztFR0VGLFdBRE07Q2JvaUJUOztBVXJpQks7RUdFRixzQkFETTtDYndpQlQ7O0FVemlCSztFR0VGLHNCQURNO0NiNGlCVDs7QVU3aUJLO0VHRUYsV0FETTtDYmdqQlQ7O0FVampCSztFR0VGLHNCQURNO0Nib2pCVDs7QVVyakJLO0VHRUYsc0JBRE07Q2J3akJUOztBVXpqQks7RUdFRixXQURNO0NiNGpCVDs7QVU3akJLO0VHRUYsc0JBRE07Q2Jna0JUOztBVWprQks7RUdFRixzQkFETTtDYm9rQlQ7O0FVcmtCSztFR0VGLFlBRE07Q2J3a0JUOztBRTFmSztFUTVGQTtJR2hCRixzQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtJQXVCQSxZQUFBO0dicWxCRDtFVXZsQkc7SUdsQkYsdUJBQUE7UUFBQSxtQkFBQTtZQUFBLGVBQUE7SUF3QkEsWUFBQTtHYnFsQkQ7RVVubEJHO0lHRUYscUJBRE07R2JxbEJQO0VVdGxCRztJR0VGLHNCQURNO0did2xCUDtFVXpsQkc7SUdFRixXQURNO0diMmxCUDtFVTVsQkc7SUdFRixzQkFETTtHYjhsQlA7RVUvbEJHO0lHRUYsc0JBRE07R2JpbUJQO0VVbG1CRztJR0VGLFdBRE07R2JvbUJQO0VVcm1CRztJR0VGLHNCQURNO0didW1CUDtFVXhtQkc7SUdFRixzQkFETTtHYjBtQlA7RVUzbUJHO0lHRUYsV0FETTtHYjZtQlA7RVU5bUJHO0lHRUYsc0JBRE07R2JnbkJQO0VVam5CRztJR0VGLHNCQURNO0dibW5CUDtFVXBuQkc7SUdFRixZQURNO0dic25CUDtDQUNGO0FFemlCSztFUTVGQTtJR2hCRixzQkFBQTtRQUFBLGtCQUFBO1lBQUEsY0FBQTtJQXVCQSxZQUFBO0dibW9CRDtFVXJvQkc7SUdsQkYsdUJBQUE7UUFBQSxtQkFBQTtZQUFBLGVBQUE7SUF3QkEsWUFBQTtHYm1vQkQ7RVVqb0JHO0lHRUYscUJBRE07R2Jtb0JQO0VVcG9CRztJR0VGLHNCQURNO0dic29CUDtFVXZvQkc7SUdFRixXQURNO0dieW9CUDtFVTFvQkc7SUdFRixzQkFETTtHYjRvQlA7RVU3b0JHO0lHRUYsc0JBRE07R2Irb0JQO0VVaHBCRztJR0VGLFdBRE07R2JrcEJQO0VVbnBCRztJR0VGLHNCQURNO0dicXBCUDtFVXRwQkc7SUdFRixzQkFETTtHYndwQlA7RVV6cEJHO0lHRUYsV0FETTtHYjJwQlA7RVU1cEJHO0lHRUYsc0JBRE07R2I4cEJQO0VVL3BCRztJR0VGLHNCQURNO0diaXFCUDtFVWxxQkc7SUdFRixZQURNO0dib3FCUDtDQUNGO0FVL3BCQztFQUNFLFlBQUE7Q1ZpcUJIOztBVTdwQkM7RUFDRSxhQUFBO0NWZ3FCSDs7QVVsb0JDO0VDL0ZNLHVCQUFBO0VBQUEsd0JBQUE7Q1hzdUJQO0FFbm1CSztFUXBDSjtJQy9GTSx5QkFBQTtJQUFBLDBCQUFBO0dYMnVCTDtDQUNGO0FFem1CSztFUXBDSjtJQy9GTSx3QkFBQTtJQUFBLHlCQUFBO0dYaXZCTDtDQUNGO0FVL29CRztFR3hEQSwyQkFETTtFRmpDSixxQkFBQTtFQUFBLHNCQUFBO0NYOHVCTDtBRXBuQks7RVF6QkU7SUcvREosNkJBRE07SUZqQ0osdUJBQUE7SUFBQSx3QkFBQTtHWG92Qkg7Q0FDRjtBRTNuQks7RVF6QkU7SUcvREosNEJBRE07SUZqQ0osc0JBQUE7SUFBQSx1QkFBQTtHWDJ2Qkg7Q0FDRjtBVTlyQkM7RUd6QkUsWUFBQTtDYjB0Qkg7QVU3ckJDO0VHekJFLFlBQUE7Q2J5dEJIO0FVeHJCRztFRzdCQSxvQ0FETTtDYnl0QlQ7QVUzckJHO0VHN0JBLHFDQURNO0NiNHRCVDtBVTlyQkc7RUc3QkEsMEJBRE07Q2IrdEJUO0FVanNCRztFRzdCQSxxQ0FETTtDYmt1QlQ7QVVwc0JHO0VHN0JBLHFDQURNO0NicXVCVDtBVXZzQkc7RUc3QkEsMEJBRE07Q2J3dUJUO0FVMXNCRztFRzdCQSxxQ0FETTtDYjJ1QlQ7QVU3c0JHO0VHN0JBLHFDQURNO0NiOHVCVDtBVWh0Qkc7RUc3QkEsMEJBRE07Q2JpdkJUO0FVbnRCRztFRzdCQSxxQ0FETTtDYm92QlQ7QVV0dEJHO0VHN0JBLHFDQURNO0NidXZCVDtBVXp0Qkc7RUc3QkEsMkJBRE07Q2IwdkJUO0FFNXFCSztFUTVESjtJR3pCRSxZQUFBO0dicXdCRDtFVXh1QkQ7SUd6QkUsWUFBQTtHYm93QkQ7RVVudUJDO0lHN0JBLHNDQURNO0dib3dCUDtFVXR1QkM7SUc3QkEsdUNBRE07R2J1d0JQO0VVenVCQztJRzdCQSw0QkFETTtHYjB3QlA7RVU1dUJDO0lHN0JBLHVDQURNO0diNndCUDtFVS91QkM7SUc3QkEsdUNBRE07R2JneEJQO0VVbHZCQztJRzdCQSw0QkFETTtHYm14QlA7RVVydkJDO0lHN0JBLHVDQURNO0dic3hCUDtFVXh2QkM7SUc3QkEsdUNBRE07R2J5eEJQO0VVM3ZCQztJRzdCQSw0QkFETTtHYjR4QlA7RVU5dkJDO0lHN0JBLHVDQURNO0diK3hCUDtFVWp3QkM7SUc3QkEsdUNBRE07R2JreUJQO0VVcHdCQztJRzdCQSw2QkFETTtHYnF5QlA7RVVueEJEO0lHekJFLFlBQUE7R2IreUJEO0VVbHhCRDtJR3pCRSxZQUFBO0diOHlCRDtFVTd3QkM7SUc3QkEsc0NBRE07R2I4eUJQO0VVaHhCQztJRzdCQSx1Q0FETTtHYml6QlA7RVVueEJDO0lHN0JBLDRCQURNO0dib3pCUDtFVXR4QkM7SUc3QkEsdUNBRE07R2J1ekJQO0VVenhCQztJRzdCQSx1Q0FETTtHYjB6QlA7RVU1eEJDO0lHN0JBLDRCQURNO0diNnpCUDtFVS94QkM7SUc3QkEsdUNBRE07R2JnMEJQO0VVbHlCQztJRzdCQSx1Q0FETTtHYm0wQlA7RVVyeUJDO0lHN0JBLDRCQURNO0diczBCUDtFVXh5QkM7SUc3QkEsdUNBRE07R2J5MEJQO0VVM3lCQztJRzdCQSx1Q0FETTtHYjQwQlA7RVU5eUJDO0lHN0JBLDZCQURNO0diKzBCUDtDQUNGO0FFbHdCSztFUTVESjtJR3pCRSxZQUFBO0diMjFCRDtFVTl6QkQ7SUd6QkUsWUFBQTtHYjAxQkQ7RVV6ekJDO0lHN0JBLHFDQURNO0diMDFCUDtFVTV6QkM7SUc3QkEsc0NBRE07R2I2MUJQO0VVL3pCQztJRzdCQSwyQkFETTtHYmcyQlA7RVVsMEJDO0lHN0JBLHNDQURNO0dibTJCUDtFVXIwQkM7SUc3QkEsc0NBRE07R2JzMkJQO0VVeDBCQztJRzdCQSwyQkFETTtHYnkyQlA7RVUzMEJDO0lHN0JBLHNDQURNO0diNDJCUDtFVTkwQkM7SUc3QkEsc0NBRE07R2IrMkJQO0VVajFCQztJRzdCQSwyQkFETTtHYmszQlA7RVVwMUJDO0lHN0JBLHNDQURNO0dicTNCUDtFVXYxQkM7SUc3QkEsc0NBRE07R2J3M0JQO0VVMTFCQztJRzdCQSw0QkFETTtHYjIzQlA7RVV6MkJEO0lHekJFLFlBQUE7R2JxNEJEO0VVeDJCRDtJR3pCRSxZQUFBO0dibzRCRDtFVW4yQkM7SUc3QkEscUNBRE07R2JvNEJQO0VVdDJCQztJRzdCQSxzQ0FETTtHYnU0QlA7RVV6MkJDO0lHN0JBLDJCQURNO0diMDRCUDtFVTUyQkM7SUc3QkEsc0NBRE07R2I2NEJQO0VVLzJCQztJRzdCQSxzQ0FETTtHYmc1QlA7RVVsM0JDO0lHN0JBLDJCQURNO0dibTVCUDtFVXIzQkM7SUc3QkEsc0NBRE07R2JzNUJQO0VVeDNCQztJRzdCQSxzQ0FETTtHYnk1QlA7RVUzM0JDO0lHN0JBLDJCQURNO0diNDVCUDtFVTkzQkM7SUc3QkEsc0NBRE07R2IrNUJQO0VVajRCQztJRzdCQSxzQ0FETTtHYms2QlA7RVVwNEJDO0lHN0JBLDRCQURNO0dicTZCUDtFVW41QkQ7SUd6QkUsWUFBQTtHYis2QkQ7RVVsNUJEO0lHekJFLFlBQUE7R2I4NkJEO0VVNzRCQztJRzdCQSxxQ0FETTtHYjg2QlA7RVVoNUJDO0lHN0JBLHNDQURNO0diaTdCUDtFVW41QkM7SUc3QkEsMkJBRE07R2JvN0JQO0VVdDVCQztJRzdCQSxzQ0FETTtHYnU3QlA7RVV6NUJDO0lHN0JBLHNDQURNO0diMDdCUDtFVTU1QkM7SUc3QkEsMkJBRE07R2I2N0JQO0VVLzVCQztJRzdCQSxzQ0FETTtHYmc4QlA7RVVsNkJDO0lHN0JBLHNDQURNO0dibThCUDtFVXI2QkM7SUc3QkEsMkJBRE07R2JzOEJQO0VVeDZCQztJRzdCQSxzQ0FETTtHYnk4QlA7RVUzNkJDO0lHN0JBLHNDQURNO0diNDhCUDtFVTk2QkM7SUc3QkEsNEJBRE07R2IrOEJQO0NBQ0Y7O0FVLzNCRztFQ3RJSSx3QkFBQTtFQUFBLHVCQUFBO0NYMGdDUDtBRXY0Qks7RVFHRjtJQ3RJSSwwQkFBQTtJQUFBLHlCQUFBO0dYK2dDTDtDQUNGO0FFNzRCSztFUUdGO0lDdElJLHlCQUFBO0lBQUEsd0JBQUE7R1hxaENMO0NBQ0Y7QVUxNEJHO0VDNUlJLHdCQUFBO0VBQUEsdUJBQUE7Q1gwaENQO0FFdjVCSztFUVNGO0lDNUlJLDBCQUFBO0lBQUEseUJBQUE7R1graENMO0NBQ0Y7QUU3NUJLO0VRU0Y7SUM1SUkseUJBQUE7SUFBQSx3QkFBQTtHWHFpQ0w7Q0FDRjtBVXI1Qkc7RUNqSkksdUJBQUE7RUFBQSxzQkFBQTtDWDBpQ1A7QUV2NkJLO0VRY0Y7SUNqSkkseUJBQUE7SUFBQSx3QkFBQTtHWCtpQ0w7Q0FDRjtBRTc2Qks7RVFjRjtJQ2pKSSx3QkFBQTtJQUFBLHVCQUFBO0dYcWpDTDtDQUNGOztBY3pqQ0M7RUR5REUsWUFETTtDYnFnQ1Q7O0FjN2pDQztFRHlERSxXQURNO0NieWdDVDs7QWNqa0NDO0VEeURFLHNCQURNO0NiNmdDVDs7QWNya0NDO0VEeURFLFdBRE07Q2JpaENUOztBY3prQ0M7RUR5REUsV0FETTtDYnFoQ1Q7O0FjN2tDQztFRHlERSxzQkFETTtDYnloQ1Q7O0FjamxDQztFRHlERSxzQkFETTtDYjZoQ1Q7O0FjcmxDQztFRHlERSxhQURNO0NiaWlDVDs7QUVuOUJLO0VZdElKO0lEeURFLFlBRE07R2JzaUNQO0VjOWxDRDtJRHlERSxXQURNO0dieWlDUDtFY2ptQ0Q7SUR5REUsc0JBRE07R2I0aUNQO0VjcG1DRDtJRHlERSxXQURNO0diK2lDUDtFY3ZtQ0Q7SUR5REUsV0FETTtHYmtqQ1A7RWMxbUNEO0lEeURFLHNCQURNO0dicWpDUDtFYzdtQ0Q7SUR5REUsc0JBRE07R2J3akNQO0VjaG5DRDtJRHlERSxhQURNO0diMmpDUDtDQUNGO0FFOStCSztFWXRJSjtJRHlERSxZQURNO0diZ2tDUDtFY3huQ0Q7SUR5REUsV0FETTtHYm1rQ1A7RWMzbkNEO0lEeURFLHNCQURNO0dic2tDUDtFYzluQ0Q7SUR5REUsV0FETTtHYnlrQ1A7RWNqb0NEO0lEeURFLFdBRE07R2I0a0NQO0VjcG9DRDtJRHlERSxzQkFETTtHYitrQ1A7RWN2b0NEO0lEeURFLHNCQURNO0dia2xDUDtFYzFvQ0Q7SUR5REUsYUFETTtHYnFsQ1A7Q0FDRjtBYzlvQ0M7RUR5REUsMkJBRE07Q2J5bENUOztBY2pwQ0M7RUR5REUsMEJBRE07Q2I2bENUOztBY3JwQ0M7RUR5REUscUNBRE07Q2JpbUNUOztBY3pwQ0M7RUR5REUsMEJBRE07Q2JxbUNUOztBYzdwQ0M7RUR5REUsMEJBRE07Q2J5bUNUOztBY2pxQ0M7RUR5REUscUNBRE07Q2I2bUNUOztBY3JxQ0M7RUR5REUscUNBRE07Q2JpbkNUOztBY3pxQ0M7RUR5REUsNEJBRE07Q2JxbkNUOztBRXZpQ0s7RVl0SUo7SUR5REUsMkJBRE07R2IwbkNQO0VjbHJDRDtJRHlERSwwQkFETTtHYjZuQ1A7RWNyckNEO0lEeURFLHFDQURNO0diZ29DUDtFY3hyQ0Q7SUR5REUsMEJBRE07R2Jtb0NQO0VjM3JDRDtJRHlERSwwQkFETTtHYnNvQ1A7RWM5ckNEO0lEeURFLHFDQURNO0dieW9DUDtFY2pzQ0Q7SUR5REUscUNBRE07R2I0b0NQO0VjcHNDRDtJRHlERSw0QkFETTtHYitvQ1A7RWN2c0NEO0lEeURFLDZCQURNO0dia3BDUDtFYzFzQ0Q7SUR5REUsNEJBRE07R2JxcENQO0VjN3NDRDtJRHlERSx1Q0FETTtHYndwQ1A7RWNodENEO0lEeURFLDRCQURNO0diMnBDUDtFY250Q0Q7SUR5REUsNEJBRE07R2I4cENQO0VjdHRDRDtJRHlERSx1Q0FETTtHYmlxQ1A7RWN6dENEO0lEeURFLHVDQURNO0dib3FDUDtFYzV0Q0Q7SUR5REUsOEJBRE07R2J1cUNQO0NBQ0Y7QUUxbENLO0VZdElKO0lEeURFLDJCQURNO0diNHFDUDtFY3B1Q0Q7SUR5REUsNkJBRE07R2IrcUNQO0VjdnVDRDtJRHlERSwwQkFETTtHYmtyQ1A7RWMxdUNEO0lEeURFLDRCQURNO0dicXJDUDtFYzd1Q0Q7SUR5REUscUNBRE07R2J3ckNQO0VjaHZDRDtJRHlERSx1Q0FETTtHYjJyQ1A7RWNudkNEO0lEeURFLDBCQURNO0diOHJDUDtFY3R2Q0Q7SUR5REUsNEJBRE07R2Jpc0NQO0VjenZDRDtJRHlERSwwQkFETTtHYm9zQ1A7RWM1dkNEO0lEeURFLDRCQURNO0didXNDUDtFYy92Q0Q7SUR5REUscUNBRE07R2Iwc0NQO0VjbHdDRDtJRHlERSx1Q0FETTtHYjZzQ1A7RWNyd0NEO0lEeURFLHFDQURNO0diZ3RDUDtFY3h3Q0Q7SUR5REUsdUNBRE07R2JtdENQO0VjM3dDRDtJRHlERSw0QkFETTtHYnN0Q1A7RWM5d0NEO0lEeURFLDhCQURNO0dieXRDUDtFY2p4Q0Q7SUR5REUsNEJBRE07R2I0dENQO0VjcHhDRDtJRHlERSwyQkFETTtHYit0Q1A7RWN2eENEO0lEeURFLHNDQURNO0dia3VDUDtFYzF4Q0Q7SUR5REUsMkJBRE07R2JxdUNQO0VjN3hDRDtJRHlERSwyQkFETTtHYnd1Q1A7RWNoeUNEO0lEeURFLHNDQURNO0diMnVDUDtFY255Q0Q7SUR5REUsc0NBRE07R2I4dUNQO0VjdHlDRDtJRHlERSw2QkFETTtHYml2Q1A7Q0FDRjtBVXhtQ0s7RUt2TUUsZ0JBQUE7RUFBQSxlQUFBO0NmbXpDUDtBZWh6Q0s7RUFFSSxnQkFBQTtFQUFBLGVBQUE7Q2ZrekNUO0FlNXhDVztFRm1DUixxQkFETTtDYjZ2Q1Q7QWUveENXO0VGbUNSLHNCQURNO0NiZ3dDVDtBZWx5Q1c7RUZtQ1IsV0FETTtDYm13Q1Q7QWVyeUNXO0VGbUNSLHNCQURNO0Nic3dDVDtBZXh5Q1c7RUZtQ1Isc0JBRE07Q2J5d0NUO0FlM3lDVztFRm1DUixXQURNO0NiNHdDVDtBZTl5Q1c7RUZtQ1Isc0JBRE07Q2Ird0NUO0FlanpDVztFRm1DUixzQkFETTtDYmt4Q1Q7QWVwekNXO0VGbUNSLFdBRE07Q2JxeENUO0FldnpDVztFRm1DUixzQkFETTtDYnd4Q1Q7QWUxekNXO0VGbUNSLHNCQURNO0NiMnhDVDtBZTd6Q1c7RUZtQ1IsWUFETTtDYjh4Q1Q7QUVodENLO0VhaEhNO0lGbUNSLHFCQURNO0dia3lDUDtFZXAwQ1M7SUZtQ1Isc0JBRE07R2JxeUNQO0VldjBDUztJRm1DUixXQURNO0did3lDUDtFZTEwQ1M7SUZtQ1Isc0JBRE07R2IyeUNQO0VlNzBDUztJRm1DUixzQkFETTtHYjh5Q1A7RWVoMUNTO0lGbUNSLFdBRE07R2JpekNQO0VlbjFDUztJRm1DUixzQkFETTtHYm96Q1A7RWV0MUNTO0lGbUNSLHNCQURNO0didXpDUDtFZXoxQ1M7SUZtQ1IsV0FETTtHYjB6Q1A7RWU1MUNTO0lGbUNSLHNCQURNO0diNnpDUDtFZS8xQ1M7SUZtQ1Isc0JBRE07R2JnMENQO0VlbDJDUztJRm1DUixZQURNO0dibTBDUDtDQUNGO0FFdHZDSztFYWhITTtJRm1DUixxQkFETTtHYncwQ1A7RWUxMkNTO0lGbUNSLHNCQURNO0diMjBDUDtFZTcyQ1M7SUZtQ1IsV0FETTtHYjgwQ1A7RWVoM0NTO0lGbUNSLHNCQURNO0diaTFDUDtFZW4zQ1M7SUZtQ1Isc0JBRE07R2JvMUNQO0VldDNDUztJRm1DUixXQURNO0didTFDUDtFZXozQ1M7SUZtQ1Isc0JBRE07R2IwMUNQO0VlNTNDUztJRm1DUixzQkFETTtHYjYxQ1A7RWUvM0NTO0lGbUNSLFdBRE07R2JnMkNQO0VlbDRDUztJRm1DUixzQkFETTtHYm0yQ1A7RWVyNENTO0lGbUNSLHNCQURNO0diczJDUDtFZXg0Q1M7SUZtQ1IsWUFETTtHYnkyQ1A7Q0FDRjs7QVUxdENLO0VLdEtFLGdCQUFBO0VBQUEsZUFBQTtDZnE0Q1A7QWVsNENLO0VBRUksaUJBQUE7RUFBQSxnQkFBQTtDZm80Q1Q7O0FFcnlDSztFUTREQTtJS3ZNRSxnQkFBQTtJQUFBLGVBQUE7R2ZzN0NMO0VlbjdDRztJQUVJLGdCQUFBO0lBQUEsZUFBQTtHZnE3Q1A7Q0FDRjtBRWh6Q0s7RWF6SE07SUY0Q1IscUJBRE07R2JrNENQO0VlNzZDUztJRjRDUixzQkFETTtHYnE0Q1A7RWVoN0NTO0lGNENSLFdBRE07R2J3NENQO0VlbjdDUztJRjRDUixzQkFETTtHYjI0Q1A7RWV0N0NTO0lGNENSLHNCQURNO0diODRDUDtFZXo3Q1M7SUY0Q1IsV0FETTtHYmk1Q1A7RWU1N0NTO0lGNENSLHNCQURNO0dibzVDUDtFZS83Q1M7SUY0Q1Isc0JBRE07R2J1NUNQO0VlbDhDUztJRjRDUixXQURNO0diMDVDUDtFZXI4Q1M7SUY0Q1Isc0JBRE07R2I2NUNQO0VleDhDUztJRjRDUixzQkFETTtHYmc2Q1A7RWUzOENTO0lGNENSLFlBRE07R2JtNkNQO0NBQ0Y7QUV0MUNLO0VhaEhNO0lGbUNSLHFCQURNO0didzZDUDtFZTE4Q1M7SUZtQ1Isc0JBRE07R2IyNkNQO0VlNzhDUztJRm1DUixXQURNO0diODZDUDtFZWg5Q1M7SUZtQ1Isc0JBRE07R2JpN0NQO0VlbjlDUztJRm1DUixzQkFETTtHYm83Q1A7RWV0OUNTO0lGbUNSLFdBRE07R2J1N0NQO0VlejlDUztJRm1DUixzQkFETTtHYjA3Q1A7RWU1OUNTO0lGbUNSLHNCQURNO0diNjdDUDtFZS85Q1M7SUZtQ1IsV0FETTtHYmc4Q1A7RWVsK0NTO0lGbUNSLHNCQURNO0dibThDUDtFZXIrQ1M7SUZtQ1Isc0JBRE07R2JzOENQO0VleCtDUztJRm1DUixZQURNO0dieThDUDtDQUNGO0FFNTNDSztFYWhITTtJRm1DUixxQkFETTtHYjg4Q1A7RWVoL0NTO0lGbUNSLHNCQURNO0diaTlDUDtFZW4vQ1M7SUZtQ1IsV0FETTtHYm85Q1A7RWV0L0NTO0lGbUNSLHNCQURNO0didTlDUDtFZXovQ1M7SUZtQ1Isc0JBRE07R2IwOUNQO0VlNS9DUztJRm1DUixXQURNO0diNjlDUDtFZS8vQ1M7SUZtQ1Isc0JBRE07R2JnK0NQO0VlbGdEUztJRm1DUixzQkFETTtHYm0rQ1A7RWVyZ0RTO0lGbUNSLFdBRE07R2JzK0NQO0VleGdEUztJRm1DUixzQkFETTtHYnkrQ1A7RWUzZ0RTO0lGbUNSLHNCQURNO0diNCtDUDtFZTlnRFM7SUZtQ1IsWUFETTtHYisrQ1A7Q0FDRjs7QUVsNkNLO0VRa0VBO0lLdEtFLGdCQUFBO0lBQUEsZUFBQTtHZjRnREw7RWV6Z0RHO0lBRUksaUJBQUE7SUFBQSxnQkFBQTtHZjJnRFA7Q0FDRjs7QUU3NkNLO0VRNERBO0lLdk1FLGdCQUFBO0lBQUEsZUFBQTtHZjhqREw7RWUzakRHO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0dmNmpEUDtDQUNGO0FFeDdDSztFYXpITTtJRjRDUixxQkFETTtHYjBnRFA7RWVyakRTO0lGNENSLHNCQURNO0diNmdEUDtFZXhqRFM7SUY0Q1IsV0FETTtHYmdoRFA7RWUzakRTO0lGNENSLHNCQURNO0dibWhEUDtFZTlqRFM7SUY0Q1Isc0JBRE07R2JzaERQO0VlamtEUztJRjRDUixXQURNO0dieWhEUDtFZXBrRFM7SUY0Q1Isc0JBRE07R2I0aERQO0VldmtEUztJRjRDUixzQkFETTtHYitoRFA7RWUxa0RTO0lGNENSLFdBRE07R2JraURQO0VlN2tEUztJRjRDUixzQkFETTtHYnFpRFA7RWVobERTO0lGNENSLHNCQURNO0did2lEUDtFZW5sRFM7SUY0Q1IsWUFETTtHYjJpRFA7Q0FDRjtBRTk5Q0s7RWF6SE07SUY0Q1IscUJBRE07R2JnakRQO0VlM2xEUztJRjRDUixzQkFETTtHYm1qRFA7RWU5bERTO0lGNENSLFdBRE07R2JzakRQO0Vlam1EUztJRjRDUixzQkFETTtHYnlqRFA7RWVwbURTO0lGNENSLHNCQURNO0diNGpEUDtFZXZtRFM7SUY0Q1IsV0FETTtHYitqRFA7RWUxbURTO0lGNENSLHNCQURNO0dia2tEUDtFZTdtRFM7SUY0Q1Isc0JBRE07R2Jxa0RQO0VlaG5EUztJRjRDUixXQURNO0did2tEUDtFZW5uRFM7SUY0Q1Isc0JBRE07R2Iya0RQO0VldG5EUztJRjRDUixzQkFETTtHYjhrRFA7RWV6bkRTO0lGNENSLFlBRE07R2JpbERQO0NBQ0Y7QUVwZ0RLO0VhaEhNO0lGbUNSLHFCQURNO0dic2xEUDtFZXhuRFM7SUZtQ1Isc0JBRE07R2J5bERQO0VlM25EUztJRm1DUixXQURNO0diNGxEUDtFZTluRFM7SUZtQ1Isc0JBRE07R2IrbERQO0Vlam9EUztJRm1DUixzQkFETTtHYmttRFA7RWVwb0RTO0lGbUNSLFdBRE07R2JxbURQO0Vldm9EUztJRm1DUixzQkFETTtHYndtRFA7RWUxb0RTO0lGbUNSLHNCQURNO0diMm1EUDtFZTdvRFM7SUZtQ1IsV0FETTtHYjhtRFA7RWVocERTO0lGbUNSLHNCQURNO0diaW5EUDtFZW5wRFM7SUZtQ1Isc0JBRE07R2JvbkRQO0VldHBEUztJRm1DUixZQURNO0didW5EUDtDQUNGOztBRTFpREs7RVFrRUE7SUt0S0UsZ0JBQUE7SUFBQSxlQUFBO0dmb3BETDtFZWpwREc7SUFFSSxpQkFBQTtJQUFBLGdCQUFBO0dmbXBEUDtDQUNGOztBVXIrQ0s7RU0xTkYsZ0JBQUE7Q2hCbXNESDs7QVVyK0NLO0VNOU5GLGdDQUFBO0NoQnVzREg7O0FVNytDSztFTTFORiwyQkFBQTtDaEIyc0RIOztBVTcrQ0s7RU05TkYsMkNBQUE7Q2hCK3NESDs7QVVyL0NLO0VNMU5GLDRCQUFBO0NoQm10REg7O0FVci9DSztFTTlORiw0Q0FBQTtDaEJ1dERIOztBVTcvQ0s7RU0xTkYsaUJBQUE7Q2hCMnRESDs7QVU3L0NLO0VNOU5GLGlDQUFBO0NoQit0REg7O0FVcmdESztFTTFORiw0QkFBQTtDaEJtdURIOztBVXJnREs7RU05TkYsNENBQUE7Q2hCdXVESDs7QVU3Z0RLO0VNMU5GLDRCQUFBO0NoQjJ1REg7O0FVN2dESztFTTlORiw0Q0FBQTtDaEIrdURIOztBVXJoREs7RU0xTkYsaUJBQUE7Q2hCbXZESDs7QVVyaERLO0VNOU5GLGlDQUFBO0NoQnV2REg7O0FVN2hESztFTTFORiw0QkFBQTtDaEIydkRIOztBVTdoREs7RU05TkYsNENBQUE7Q2hCK3ZESDs7QVVyaURLO0VNMU5GLDRCQUFBO0NoQm13REg7O0FVcmlESztFTTlORiw0Q0FBQTtDaEJ1d0RIOztBVTdpREs7RU0xTkYsaUJBQUE7Q2hCMndESDs7QVU3aURLO0VNOU5GLGlDQUFBO0NoQit3REg7O0FVcmpESztFTTFORiw0QkFBQTtDaEJteERIOztBVXJqREs7RU05TkYsNENBQUE7Q2hCdXhESDs7QVU3akRLO0VNMU5GLDRCQUFBO0NoQjJ4REg7O0FVN2pESztFTTlORiw0Q0FBQTtDaEIreERIOztBRXJwREs7RVFnRkE7SU0xTkYsZ0JBQUE7R2hCb3lERDtFVXRrREc7SU05TkYsa0NBQUE7R2hCdXlERDtFVTdrREc7SU0xTkYsMkJBQUE7R2hCMHlERDtFVTVrREc7SU05TkYsNkNBQUE7R2hCNnlERDtFVW5sREc7SU0xTkYsNEJBQUE7R2hCZ3pERDtFVWxsREc7SU05TkYsOENBQUE7R2hCbXpERDtFVXpsREc7SU0xTkYsaUJBQUE7R2hCc3pERDtFVXhsREc7SU05TkYsbUNBQUE7R2hCeXpERDtFVS9sREc7SU0xTkYsNEJBQUE7R2hCNHpERDtFVTlsREc7SU05TkYsOENBQUE7R2hCK3pERDtFVXJtREc7SU0xTkYsNEJBQUE7R2hCazBERDtFVXBtREc7SU05TkYsOENBQUE7R2hCcTBERDtFVTNtREc7SU0xTkYsaUJBQUE7R2hCdzBERDtFVTFtREc7SU05TkYsbUNBQUE7R2hCMjBERDtFVWpuREc7SU0xTkYsNEJBQUE7R2hCODBERDtFVWhuREc7SU05TkYsOENBQUE7R2hCaTFERDtFVXZuREc7SU0xTkYsNEJBQUE7R2hCbzFERDtFVXRuREc7SU05TkYsOENBQUE7R2hCdTFERDtFVTduREc7SU0xTkYsaUJBQUE7R2hCMDFERDtFVTVuREc7SU05TkYsbUNBQUE7R2hCNjFERDtFVW5vREc7SU0xTkYsNEJBQUE7R2hCZzJERDtFVWxvREc7SU05TkYsOENBQUE7R2hCbTJERDtFVXpvREc7SU0xTkYsNEJBQUE7R2hCczJERDtFVXhvREc7SU05TkYsOENBQUE7R2hCeTJERDtDQUNGO0FFaHVESztFUWdGQTtJTTFORixnQkFBQTtHaEI4MkREO0VVaHBERztJTTlORixpQ0FBQTtHaEJpM0REO0VVdnBERztJTTFORiwyQkFBQTtHaEJvM0REO0VVdHBERztJTTlORiw0Q0FBQTtHaEJ1M0REO0VVN3BERztJTTFORiw0QkFBQTtHaEIwM0REO0VVNXBERztJTTlORiw2Q0FBQTtHaEI2M0REO0VVbnFERztJTTFORixpQkFBQTtHaEJnNEREO0VVbHFERztJTTlORixrQ0FBQTtHaEJtNEREO0VVenFERztJTTFORiw0QkFBQTtHaEJzNEREO0VVeHFERztJTTlORiw2Q0FBQTtHaEJ5NEREO0VVL3FERztJTTFORiw0QkFBQTtHaEI0NEREO0VVOXFERztJTTlORiw2Q0FBQTtHaEIrNEREO0VVcnJERztJTTFORixpQkFBQTtHaEJrNUREO0VVcHJERztJTTlORixrQ0FBQTtHaEJxNUREO0VVM3JERztJTTFORiw0QkFBQTtHaEJ3NUREO0VVMXJERztJTTlORiw2Q0FBQTtHaEIyNUREO0VVanNERztJTTFORiw0QkFBQTtHaEI4NUREO0VVaHNERztJTTlORiw2Q0FBQTtHaEJpNkREO0VVdnNERztJTTFORixpQkFBQTtHaEJvNkREO0VVdHNERztJTTlORixrQ0FBQTtHaEJ1NkREO0VVN3NERztJTTFORiw0QkFBQTtHaEIwNkREO0VVNXNERztJTTlORiw2Q0FBQTtHaEI2NkREO0VVbnRERztJTTFORiw0QkFBQTtHaEJnN0REO0VVbHRERztJTTlORiw2Q0FBQTtHaEJtN0REO0NBQ0Y7QVVwc0RDO0VFek9BLHNCQUFBO0VBQUEscUJBQUE7RUFBQSxjQUFBO0VBQ0EsaUNBQUE7TUFBQSw2QkFBQTtVQUFBLHlCQUFBO0NaZzdERDtBVXBzREc7RUcxTUYsWUFBQTtDYmk1REQ7QVVuc0RHO0VHbk1BLGFBQUE7Q2J5NERIO0FVbHNERztFR25NQSxhQUFBO0NidzRESDtBVXZyREs7RUFDRSx5QkFBQTtNQUFBLDhCQUFBO1VBQUEsaUJBQUE7Q1Z5ckRQO0FFMXpESztFUWdJQTtJQUNFLHlCQUFBO1FBQUEsOEJBQUE7WUFBQSxpQkFBQTtHVjZyREw7Q0FDRjtBRS96REs7RVFnSUE7SUFDRSx5QkFBQTtRQUFBLDhCQUFBO1lBQUEsaUJBQUE7R1Zrc0RMO0NBQ0Y7QVVockRPO0VHak9KLHNCQURNO0NicTVEVDtBVW5yRE87RUdqT0osdUJBRE07Q2J3NURUO0FVdHJETztFR2pPSixZQURNO0NiMjVEVDtBVXpyRE87RUdqT0osdUJBRE07Q2I4NURUO0FVNXJETztFR2pPSix1QkFETTtDYmk2RFQ7QVUvckRPO0VHak9KLFlBRE07Q2JvNkRUO0FVbHNETztFR2pPSix1QkFETTtDYnU2RFQ7QVVyc0RPO0VHak9KLHVCQURNO0NiMDZEVDtBVXhzRE87RUdqT0osWUFETTtDYjY2RFQ7QVUzc0RPO0VHak9KLHVCQURNO0NiZzdEVDtBVTlzRE87RUdqT0osdUJBRE07Q2JtN0RUO0FVanRETztFR2pPSixhQURNO0NiczdEVDtBRXgyREs7RVF1SUU7SUduUEosc0JBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7SUF1QkEsYUFBQTtHYms4REQ7RVVqdURLO0lHN05KLGFBQUE7R2JpOEREO0VVNXRESztJR2pPSixzQkFETTtHYmk4RFA7RVUvdERLO0lHak9KLHVCQURNO0dibzhEUDtFVWx1REs7SUdqT0osWUFETTtHYnU4RFA7RVVydURLO0lHak9KLHVCQURNO0diMDhEUDtFVXh1REs7SUdqT0osdUJBRE07R2I2OERQO0VVM3VESztJR2pPSixZQURNO0diZzlEUDtFVTl1REs7SUdqT0osdUJBRE07R2JtOURQO0VVanZESztJR2pPSix1QkFETTtHYnM5RFA7RVVwdkRLO0lHak9KLFlBRE07R2J5OURQO0VVdnZESztJR2pPSix1QkFETTtHYjQ5RFA7RVUxdkRLO0lHak9KLHVCQURNO0diKzlEUDtFVTd2REs7SUdqT0osYUFETTtHYmsrRFA7Q0FDRjtBRXI1REs7RVF1SUU7SUduUEosc0JBQUE7UUFBQSxrQkFBQTtZQUFBLGNBQUE7SUF1QkEsYUFBQTtHYisrREQ7RVU5d0RLO0lHN05KLGFBQUE7R2I4K0REO0VVendESztJR2pPSixzQkFETTtHYjgrRFA7RVU1d0RLO0lHak9KLHVCQURNO0diaS9EUDtFVS93REs7SUdqT0osWUFETTtHYm8vRFA7RVVseERLO0lHak9KLHVCQURNO0didS9EUDtFVXJ4REs7SUdqT0osdUJBRE07R2IwL0RQO0VVeHhESztJR2pPSixZQURNO0diNi9EUDtFVTN4REs7SUdqT0osdUJBRE07R2JnZ0VQO0VVOXhESztJR2pPSix1QkFETTtHYm1nRVA7RVVqeURLO0lHak9KLFlBRE07R2JzZ0VQO0VVcHlESztJR2pPSix1QkFETTtHYnlnRVA7RVV2eURLO0lHak9KLHVCQURNO0diNGdFUDtFVTF5REs7SUdqT0osYUFETTtHYitnRVA7Q0FDRjs7QVVueURLO0VDbFNFLHNCQUFBO0VBQUEseUJBQUE7Q1gwa0VQO0FFdjhESztFUStKQTtJQ2xTRSx3QkFBQTtJQUFBLDJCQUFBO0dYK2tFTDtDQUNGO0FFNzhESztFUStKQTtJQ2xTRSx1QkFBQTtJQUFBLDBCQUFBO0dYcWxFTDtDQUNGO0FVL3lESztFQ3ZTRSxxQkFBQTtFQUFBLHdCQUFBO0NYMGxFUDtBRXY5REs7RVFvS0E7SUN2U0UsdUJBQUE7SUFBQSwwQkFBQTtHWCtsRUw7Q0FDRjtBRTc5REs7RVFvS0E7SUN2U0Usc0JBQUE7SUFBQSx5QkFBQTtHWHFtRUw7Q0FDRjs7QVV2Z0VDO0VDL0ZNLHNCQUFBO0VBQUEseUJBQUE7Q1gybUVQO0FFeCtESztFUXBDSjtJQy9GTSx3QkFBQTtJQUFBLDJCQUFBO0dYZ25FTDtDQUNGO0FFOStESztFUXBDSjtJQy9GTSx1QkFBQTtJQUFBLDBCQUFBO0dYc25FTDtDQUNGO0FVcGhFRztFR3hEQSw0QkFETTtFRmpDSixvQkFBQTtFQUFBLHVCQUFBO0NYbW5FTDtBRXovREs7RVF6QkU7SUcvREosOEJBRE07SUZqQ0osc0JBQUE7SUFBQSx5QkFBQTtHWHluRUg7Q0FDRjtBRWhnRUs7RVF6QkU7SUcvREosNkJBRE07SUZqQ0oscUJBQUE7SUFBQSx3QkFBQTtHWGdvRUg7Q0FDRjtBVW5rRUM7RUd6QkUsYUFBQTtDYitsRUg7QVVsa0VDO0VHekJFLGFBQUE7Q2I4bEVIO0FVN2pFRztFRzdCQSxxQ0FETTtDYjhsRVQ7QVVoa0VHO0VHN0JBLHNDQURNO0NiaW1FVDtBVW5rRUc7RUc3QkEsMkJBRE07Q2JvbUVUO0FVdGtFRztFRzdCQSxzQ0FETTtDYnVtRVQ7QVV6a0VHO0VHN0JBLHNDQURNO0NiMG1FVDtBVTVrRUc7RUc3QkEsMkJBRE07Q2I2bUVUO0FVL2tFRztFRzdCQSxzQ0FETTtDYmduRVQ7QVVsbEVHO0VHN0JBLHNDQURNO0NibW5FVDtBVXJsRUc7RUc3QkEsMkJBRE07Q2JzbkVUO0FVeGxFRztFRzdCQSxzQ0FETTtDYnluRVQ7QVUzbEVHO0VHN0JBLHNDQURNO0NiNG5FVDtBVTlsRUc7RUc3QkEsNEJBRE07Q2IrbkVUO0FFampFSztFUTVESjtJR3pCRSxhQUFBO0diMG9FRDtFVTdtRUQ7SUd6QkUsYUFBQTtHYnlvRUQ7RVV4bUVDO0lHN0JBLHVDQURNO0dieW9FUDtFVTNtRUM7SUc3QkEsd0NBRE07R2I0b0VQO0VVOW1FQztJRzdCQSw2QkFETTtHYitvRVA7RVVqbkVDO0lHN0JBLHdDQURNO0dia3BFUDtFVXBuRUM7SUc3QkEsd0NBRE07R2JxcEVQO0VVdm5FQztJRzdCQSw2QkFETTtHYndwRVA7RVUxbkVDO0lHN0JBLHdDQURNO0diMnBFUDtFVTduRUM7SUc3QkEsd0NBRE07R2I4cEVQO0VVaG9FQztJRzdCQSw2QkFETTtHYmlxRVA7RVVub0VDO0lHN0JBLHdDQURNO0dib3FFUDtFVXRvRUM7SUc3QkEsd0NBRE07R2J1cUVQO0VVem9FQztJRzdCQSw4QkFETTtHYjBxRVA7RVV4cEVEO0lHekJFLGFBQUE7R2JvckVEO0VVdnBFRDtJR3pCRSxhQUFBO0dibXJFRDtFVWxwRUM7SUc3QkEsdUNBRE07R2JtckVQO0VVcnBFQztJRzdCQSx3Q0FETTtHYnNyRVA7RVV4cEVDO0lHN0JBLDZCQURNO0dieXJFUDtFVTNwRUM7SUc3QkEsd0NBRE07R2I0ckVQO0VVOXBFQztJRzdCQSx3Q0FETTtHYityRVA7RVVqcUVDO0lHN0JBLDZCQURNO0dia3NFUDtFVXBxRUM7SUc3QkEsd0NBRE07R2Jxc0VQO0VVdnFFQztJRzdCQSx3Q0FETTtHYndzRVA7RVUxcUVDO0lHN0JBLDZCQURNO0diMnNFUDtFVTdxRUM7SUc3QkEsd0NBRE07R2I4c0VQO0VVaHJFQztJRzdCQSx3Q0FETTtHYml0RVA7RVVuckVDO0lHN0JBLDhCQURNO0dib3RFUDtDQUNGO0FFdm9FSztFUTVESjtJR3pCRSxhQUFBO0diZ3VFRDtFVW5zRUQ7SUd6QkUsYUFBQTtHYit0RUQ7RVU5ckVDO0lHN0JBLHNDQURNO0diK3RFUDtFVWpzRUM7SUc3QkEsdUNBRE07R2JrdUVQO0VVcHNFQztJRzdCQSw0QkFETTtHYnF1RVA7RVV2c0VDO0lHN0JBLHVDQURNO0did3VFUDtFVTFzRUM7SUc3QkEsdUNBRE07R2IydUVQO0VVN3NFQztJRzdCQSw0QkFETTtHYjh1RVA7RVVodEVDO0lHN0JBLHVDQURNO0diaXZFUDtFVW50RUM7SUc3QkEsdUNBRE07R2JvdkVQO0VVdHRFQztJRzdCQSw0QkFETTtHYnV2RVA7RVV6dEVDO0lHN0JBLHVDQURNO0diMHZFUDtFVTV0RUM7SUc3QkEsdUNBRE07R2I2dkVQO0VVL3RFQztJRzdCQSw2QkFETTtHYmd3RVA7RVU5dUVEO0lHekJFLGFBQUE7R2Iwd0VEO0VVN3VFRDtJR3pCRSxhQUFBO0dieXdFRDtFVXh1RUM7SUc3QkEsc0NBRE07R2J5d0VQO0VVM3VFQztJRzdCQSx1Q0FETTtHYjR3RVA7RVU5dUVDO0lHN0JBLDRCQURNO0diK3dFUDtFVWp2RUM7SUc3QkEsdUNBRE07R2JreEVQO0VVcHZFQztJRzdCQSx1Q0FETTtHYnF4RVA7RVV2dkVDO0lHN0JBLDRCQURNO0did3hFUDtFVTF2RUM7SUc3QkEsdUNBRE07R2IyeEVQO0VVN3ZFQztJRzdCQSx1Q0FETTtHYjh4RVA7RVVod0VDO0lHN0JBLDRCQURNO0diaXlFUDtFVW53RUM7SUc3QkEsdUNBRE07R2JveUVQO0VVdHdFQztJRzdCQSx1Q0FETTtHYnV5RVA7RVV6d0VDO0lHN0JBLDZCQURNO0diMHlFUDtFVXh4RUQ7SUd6QkUsYUFBQTtHYm96RUQ7RVV2eEVEO0lHekJFLGFBQUE7R2JtekVEO0VVbHhFQztJRzdCQSxzQ0FETTtHYm16RVA7RVVyeEVDO0lHN0JBLHVDQURNO0dic3pFUDtFVXh4RUM7SUc3QkEsNEJBRE07R2J5ekVQO0VVM3hFQztJRzdCQSx1Q0FETTtHYjR6RVA7RVU5eEVDO0lHN0JBLHVDQURNO0diK3pFUDtFVWp5RUM7SUc3QkEsNEJBRE07R2JrMEVQO0VVcHlFQztJRzdCQSx1Q0FETTtHYnEwRVA7RVV2eUVDO0lHN0JBLHVDQURNO0didzBFUDtFVTF5RUM7SUc3QkEsNEJBRE07R2IyMEVQO0VVN3lFQztJRzdCQSx1Q0FETTtHYjgwRVA7RVVoekVDO0lHN0JBLHVDQURNO0diaTFFUDtFVW56RUM7SUc3QkEsNkJBRE07R2JvMUVQO0NBQ0Y7O0FVcmxFQztFT3JVRSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsMEJBQUE7TUFBQSxzQkFBQTtVQUFBLGtCQUFBO0VBQ0EsNkJBQUE7TUFBQSx3QkFBQTtVQUFBLHFCQUFBO0VBMkJJLGFBQUE7Q2pCbzRFUDs7QVV6bEVDO0VBQ0UsWUFBQTtDVjRsRUg7O0FVemxFQztFTzdSRSxpQkFBQTtFQUNBLGdCQUFBO0VBR0Ysa0NBQUE7RUFDQSw2Q0FBQTtDakJ3M0VEOztBVTVsRUM7RU9wU0UsaUJBQUE7RUFDQSxpQkFBQTtFQU1GLGtDQUFBO0VBQ0EsNkNBQUE7Q2pCKzNFRDs7QVU5bEVDO0VPMVJBLHNCQUFBO0VBQUEscUJBQUE7RUFBQSxjQUFBO0VBQ0EsK0JBQUE7TUFBQSwyQkFBQTtVQUFBLHVCQUFBO0VBQ0EsaUJBQUE7Q2pCNDNFRDtBaUIxM0VDO0VBQ0UsaUJBQUE7RUFDQSwwQkFBQTtNQUFBLHNCQUFBO1VBQUEsa0JBQUE7Q2pCNDNFSDs7QUUzeUVLO0VR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RE07Q2IraEZUO0FVamdGRztFRzdCQSwyQkFETTtDYmtpRlQ7QVVwZ0ZHO0VHN0JBLHNDQURNO0NicWlGVDtBVXZnRkc7RUc3QkEsc0NBRE07Q2J3aUZUO0FVMWdGRztFRzdCQSwyQkFETTtDYjJpRlQ7QVU3Z0ZHO0VHN0JBLHNDQURNO0NiOGlGVDtBVWhoRkc7RUc3QkEsc0NBRE07Q2JpakZUO0FVbmhGRztFRzdCQSw0QkFETTtDYm9qRlQ7QUV0K0VLO0VRNURKO0lHekJFLGFBQUE7R2IrakZEO0VVbGlGRDtJR3pCRSxhQUFBO0diOGpGRDtFVTdoRkM7SUc3QkEsdUNBRE07R2I4akZQO0VVaGlGQztJRzdCQSx3Q0FETTtHYmlrRlA7RVVuaUZDO0lHN0JBLDZCQURNO0dib2tGUDtFVXRpRkM7SUc3QkEsd0NBRE07R2J1a0ZQO0VVemlGQztJRzdCQSx3Q0FETTtHYjBrRlA7RVU1aUZDO0lHN0JBLDZCQURNO0diNmtGUDtFVS9pRkM7SUc3QkEsd0NBRE07R2JnbEZQO0VVbGpGQztJRzdCQSx3Q0FETTtHYm1sRlA7RVVyakZDO0lHN0JBLDZCQURNO0dic2xGUDtFVXhqRkM7SUc3QkEsd0NBRE07R2J5bEZQO0VVM2pGQztJRzdCQSx3Q0FETTtHYjRsRlA7RVU5akZDO0lHN0JBLDhCQURNO0diK2xGUDtFVTdrRkQ7SUd6QkUsYUFBQTtHYnltRkQ7RVU1a0ZEO0lHekJFLGFBQUE7R2J3bUZEO0VVdmtGQztJRzdCQSx1Q0FETTtHYndtRlA7RVUxa0ZDO0lHN0JBLHdDQURNO0diMm1GUDtFVTdrRkM7SUc3QkEsNkJBRE07R2I4bUZQO0VVaGxGQztJRzdCQSx3Q0FETTtHYmluRlA7RVVubEZDO0lHN0JBLHdDQURNO0dib25GUDtFVXRsRkM7SUc3QkEsNkJBRE07R2J1bkZQO0VVemxGQztJRzdCQSx3Q0FETTtHYjBuRlA7RVU1bEZDO0lHN0JBLHdDQURNO0diNm5GUDtFVS9sRkM7SUc3QkEsNkJBRE07R2Jnb0ZQO0VVbG1GQztJRzdCQSx3Q0FETTtHYm1vRlA7RVVybUZDO0lHN0JBLHdDQURNO0dic29GUDtFVXhtRkM7SUc3QkEsOEJBRE07R2J5b0ZQO0NBQ0Y7QUU1akZLO0VRNURKO0lHekJFLGFBQUE7R2JxcEZEO0VVeG5GRDtJR3pCRSxhQUFBO0dib3BGRDtFVW5uRkM7SUc3QkEsc0NBRE07R2JvcEZQO0VVdG5GQztJRzdCQSx1Q0FETTtHYnVwRlA7RVV6bkZDO0lHN0JBLDRCQURNO0diMHBGUDtFVTVuRkM7SUc3QkEsdUNBRE07R2I2cEZQO0VVL25GQztJRzdCQSx1Q0FETTtHYmdxRlA7RVVsb0ZDO0lHN0JBLDRCQURNO0dibXFGUDtFVXJvRkM7SUc3QkEsdUNBRE07R2JzcUZQO0VVeG9GQztJRzdCQSx1Q0FETTtHYnlxRlA7RVUzb0ZDO0lHN0JBLDRCQURNO0diNHFGUDtFVTlvRkM7SUc3QkEsdUNBRE07R2IrcUZQO0VVanBGQztJRzdCQSx1Q0FETTtHYmtyRlA7RVVwcEZDO0lHN0JBLDZCQURNO0dicXJGUDtFVW5xRkQ7SUd6QkUsYUFBQTtHYityRkQ7RVVscUZEO0lHekJFLGFBQUE7R2I4ckZEO0VVN3BGQztJRzdCQSxzQ0FETTtHYjhyRlA7RVVocUZDO0lHN0JBLHVDQURNO0diaXNGUDtFVW5xRkM7SUc3QkEsNEJBRE07R2Jvc0ZQO0VVdHFGQztJRzdCQSx1Q0FETTtHYnVzRlA7RVV6cUZDO0lHN0JBLHVDQURNO0diMHNGUDtFVTVxRkM7SUc3QkEsNEJBRE07R2I2c0ZQO0VVL3FGQztJRzdCQSx1Q0FETTtHYmd0RlA7RVVsckZDO0lHN0JBLHVDQURNO0dibXRGUDtFVXJyRkM7SUc3QkEsNEJBRE07R2JzdEZQO0VVeHJGQztJRzdCQSx1Q0FETTtHYnl0RlA7RVUzckZDO0lHN0JBLHVDQURNO0diNHRGUDtFVTlyRkM7SUc3QkEsNkJBRE07R2IrdEZQO0VVN3NGRDtJR3pCRSxhQUFBO0dieXVGRDtFVTVzRkQ7SUd6QkUsYUFBQTtHYnd1RkQ7RVV2c0ZDO0lHN0JBLHNDQURNO0did3VGUDtFVTFzRkM7SUc3QkEsdUNBRE07R2IydUZQO0VVN3NGQztJRzdCQSw0QkFETTtHYjh1RlA7RVVodEZDO0lHN0JBLHVDQURNO0diaXZGUDtFVW50RkM7SUc3QkEsdUNBRE07R2JvdkZQO0VVdHRGQztJRzdCQSw0QkFETTtHYnV2RlA7RVV6dEZDO0lHN0JBLHVDQURNO0diMHZGUDtFVTV0RkM7SUc3QkEsdUNBRE07R2I2dkZQO0VVL3RGQztJRzdCQSw0QkFETTtHYmd3RlA7RVVsdUZDO0lHN0JBLHVDQURNO0dibXdGUDtFVXJ1RkM7SUc3QkEsdUNBRE07R2Jzd0ZQO0VVeHVGQztJRzdCQSw2QkFETTtHYnl3RlA7Q0FDRjs7QVVqOEVHO0VPM1hJLDZCQUFBO0NqQmcwRlA7QUVoc0ZLO0VRMlBGO0lPM1hJLCtCQUFBO0dqQm8wRkw7Q0FDRjtBRXJzRks7RVEyUEY7SU8zWEksOEJBQUE7R2pCeTBGTDtDQUNGOztBRTFzRks7RVErUEE7SU8vWEUsK0JBQUE7R2pCKzBGTDtDQUNGO0FFaHRGSztFUStQQTtJTy9YRSw4QkFBQTtHakJvMUZMO0NBQ0Y7QWtCem5GQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsVUFBQTtFQUNBLFdBQUE7Q2xCNG5GSDs7QWtCeG5GQztFQUNFLG9CVk9zQjtFVUx0QixtQkFBQTtFQUNBLGlCVkdtQjtFVUZuQixtQ1ZJdUI7Q1JzbkYxQjs7QWtCdG5GQzs7RUFFRSxtQkFBQTtFQUNBLHFCQUFBO0NsQnluRkg7O0FrQnJuRkM7O0VBRUUsaUJWak1pQjtFVWtNakIscUJBQUE7Q2xCd25GSDs7QWtCcG5GQztFQUNFLGVWbkJjO0VVb0JkLHFCQUFBO0NsQnVuRkg7O0FrQm5uRkM7Ozs7Ozs7RUFNRSxrQ1Z4S2lCO0VVeUtqQixtQlZ2S2dCO0VVd0toQixpQlZwTmlCO0VVcU5qQixlVnZLVztFVXdLWCxtQ1ZuQ29CO0NSMHBGdkI7QWtCcm5GRzs7Ozs7OztFQUNFLGVBQUE7RUFDQSxlVnZPUTtDUm8yRmI7O0FrQnBuRk87RUFJSSxrQkFEaUI7RUFTakIsZUFBQTtFQVlBLGNBQUE7RUFHQSx1QkFBQTtDbEJnbUZYOztBa0IzbkZPO0VBSUkscUJBRGlCO0VBU2pCLGVBQUE7RUFZQSxjQUFBO0VBR0EsdUJBQUE7Q2xCdW1GWDs7QWtCbG9GTztFQUlJLHFCQURpQjtFQVNqQiwwQkFBQTtFQVlBLGNBQUE7RUFHQSx1QkFBQTtDbEI4bUZYOztBa0J6b0ZPO0VBSUksb0JBRGlCO0VBU2pCLDBCQUFBO0VBWUEsY0FBQTtFQUdBLHVCQUFBO0NsQnFuRlg7O0FrQmhwRk87RUFJSSxvQkFEaUI7RUFTakIsMEJBQUE7RUFZQSxjQUFBO0VBR0EsdUJBQUE7Q2xCNG5GWDs7QWtCdnBGTztFQUlJLHFCQURpQjtFQVNqQiwwQkFBQTtFQVlBLGNBQUE7RUFHQSx1QkFBQTtDbEJtb0ZYOztBRXQwRks7RWdCd0tFO0lBSUksb0JBRGlCO0lBU2pCLDBCQUFBO0lBZUEsdUJBQUE7R2xCMG9GVDtFa0JycUZLO0lBSUksbUJBRGlCO0lBU2pCLDBCQUFBO0lBZUEsdUJBQUE7R2xCK29GVDtFa0IxcUZLO0lBSUksbUJBRGlCO0lBU2pCLDBCQUFBO0lBZUEsdUJBQUE7R2xCb3BGVDtFa0IvcUZLO0lBSUkscUJBRGlCO0lBU2pCLDBCQUFBO0lBZUEsdUJBQUE7R2xCeXBGVDtFa0JwckZLO0lBSUksa0JBRGlCO0lBU2pCLDBCQUFBO0lBZUEsdUJBQUE7R2xCOHBGVDtFa0J6ckZLO0lBSUksb0JBRGlCO0lBU2pCLDBCQUFBO0lBZUEsdUJBQUE7R2xCbXFGVDtDQUNGO0FFdjJGSztFZ0J3S0U7SUFJSSxtQkFEaUI7SUFTakIsMEJBQUE7SUFlQSx1QkFBQTtHbEIwcUZUO0VrQnJzRks7SUFJSSxvQkFEaUI7SUFTakIsa0JBQUE7SUFlQSx1QkFBQTtHbEIrcUZUO0VrQjFzRks7SUFJSSxvQkFEaUI7SUFTakIsMEJBQUE7SUFlQSx1QkFBQTtHbEJvckZUO0VrQi9zRks7SUFJSSxxQkFEaUI7SUFTakIsMEJBQUE7SUFlQSx1QkFBQTtHbEJ5ckZUO0VrQnB0Rks7SUFJSSxtQkFEaUI7SUFTakIsMEJBQUE7SUFlQSx1QkFBQTtHbEI4ckZUO0VrQnp0Rks7SUFJSSxxQkFEaUI7SUFTakIsMEJBQUE7SUFlQSx1QkFBQTtHbEJtc0ZUO0NBQ0Y7QUVsNEZLO0VnQm1LRTtJQUlJLG1CQURpQjtJQVNqQiwwQkFBQTtJQWVBLHVCQUFBO0dsQjBzRlQ7RWtCcnVGSztJQUlJLG9CQURpQjtJQVNqQixrQkFBQTtJQWVBLHVCQUFBO0dsQitzRlQ7RWtCMXVGSztJQUlJLG9CQURpQjtJQVNqQiwwQkFBQTtJQWVBLHVCQUFBO0dsQm90RlQ7RWtCL3VGSztJQUlJLHFCQURpQjtJQVNqQiwwQkFBQTtJQWVBLHVCQUFBO0dsQnl0RlQ7RWtCcHZGSztJQUlJLG1CQURpQjtJQVNqQiwwQkFBQTtJQWVBLHVCQUFBO0dsQjh0RlQ7RWtCenZGSztJQUlJLHFCQURpQjtJQVNqQiwwQkFBQTtJQWVBLHVCQUFBO0dsQm11RlQ7Q0FDRjtBa0J4dEZDO0VBQ0UscUJBQUE7RUFDQSxlQ2xRZ0I7RURtUWhCLHNCVjVFcUI7RVU4RXJCLGdCQUFBO0NsQnl0Rkg7QWtCdnRGRztFQUVFLDZCVm5GZTtDUjJ5RnBCO0FrQmx0Rkc7RUFDRSxVQUFBO0NsQm90Rkw7O0FrQi9zRkM7RUFDRSxZQUFBO0VBRUEsaUJWclVXO0VVc1VYLFVBQUE7RUFDQSxxQlYvRlE7RVVpR1IsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsaUNWcEdRO0VVcUdSLGVBQUE7Q2xCZ3RGSDs7QWtCNXNGQzs7O0VBR0Usb0JWekhzQjtFVTBIdEIsNkJWeEdrQjtFVXlHbEIsaUJWNUhtQjtDUjIwRnRCOztBa0Izc0ZDO0VBQ0UsbUJBQUE7Q2xCOHNGSDs7QWtCMXNGQztFQUNFLHFCVmxIZTtFVW1IZixzQlZySGM7Q1JrMEZqQjs7QWtCenNGQztFQUNFLHFCVnhIZTtDUm8wRmxCOztBa0J2c0ZHO0VBQ0UscUJWN0hvQjtFVThIcEIsaUJBQUE7Q2xCMHNGTDs7QWtCcnNGQztFQUNFLG9CVm5JcUI7Q1IyMEZ4QjtBa0J0c0ZHO0VBQ0Usc0JWcEl3QjtFVXFJeEIsaUJWblZlO0NSMmhHcEI7O0FrQm5zRkM7RUFDRSxpQkFBQTtFQUNBLFdWMUlpQjtFVTJJakIsa0JWMUlnQjtDUmcxRm5CO0FrQnBzRkc7RUFDRSxpQlZ4S2lCO0VVeUtqQixlVjNXTTtDUmlqR1g7O0FrQmpzRkM7RUFDRSxlQUFBO0VBQ0EsbUJWcEphO0VVcUpiLGVWcFhVO0NSd2pHYjtBa0Jsc0ZHO0VBQ0UsY1Z0SmdCO0NSMDFGckI7O0FrQi9yRkM7RUFDRSxrQ1Z0SmE7RVV1SmIsYUFBQTtFQUNBLHNCQUFBO0NsQmtzRkg7O0FrQjlyRkM7RUFDRSxVQUFBO0NsQmlzRkg7O0FrQjdyRkM7RUFDRSxzQ1Y5TFc7RVVnTVgsMEJWak1VO0VVa01WLDBCVjdZUztFVStZVCw2RFZwVm9CO0VVcVZwQixpQlZwWW1CO0VVcVluQixlVjlZSTtDUjRrR1A7O0FrQjFyRkM7RUFDRSxVQUFBO0VBQ0EsNEJWakxnQjtFVW1MaEIsMEJWelpTO0VVMlpULDZEVmhXb0I7RVVpV3BCLGVWelpJO0VVNFpGLHlCVmhaVTtDUnlrR2Y7O0FvQm5vR0M7RUFDRSxtQlo0Um1CO0VZM1JuQixzQlo0UnNCO0VZMVJ0QixpQlptRG1CO0VZbERuQixpQlpxUm1CO0VZcFJuQixlWnVDUTtDUjhsR1g7O0FvQmpvR0M7RUFDRSxnQlo2UWE7RVk1UWIsaUJaNlFjO0NSdTNGakI7O0FvQmhvR0M7RUFDRSxrQlo4UWE7RVk3UWIsZUFBQTtDcEJtb0dIO0FvQmpvR0c7RUFDRSxrQkFBQTtDcEJtb0dMOztBb0I3bkdHO0VBQ0UsZUFBQTtFQUNBLGlCQUFBO0NwQmdvR0w7O0FxQjlyR1M7RUFDRSxpQkFSVTtDckJ5c0dyQjs7QXFCbHNHUztFQUNFLGtCQVJVO0NyQjZzR3JCOztBcUJ0c0dTO0VBQ0UsbUJBUlU7Q3JCaXRHckI7O0FxQjFzR1M7RUFDRSxvQkFSVTtDckJxdEdyQjs7QUV6akdLO0VtQjFKSTtJQUNFLGlCQUhVO0dyQjB0R25CO0VxQnh0R087SUFDRSxrQkFIVTtHckI2dEduQjtFcUIzdEdPO0lBQ0UsbUJBSFU7R3JCZ3VHbkI7RXFCOXRHTztJQUNFLG9CQUhVO0dyQm11R25CO0NBQ0Y7QUV4a0dLO0VtQjFKSTtJQUNFLGlCQUhVO0dyQnd1R25CO0VxQnR1R087SUFDRSxrQkFIVTtHckIydUduQjtFcUJ6dUdPO0lBQ0UsbUJBSFU7R3JCOHVHbkI7RXFCNXVHTztJQUNFLG9CQUhVO0dyQml2R25CO0NBQ0Y7QXNCNXVHQztFQUFrQix5QkFBQTtDdEIrdUduQjs7QXNCN3VHQztFQUNFO0lBRUksbUNBQUE7SUFHRiw0QkFBQTtJQUVBLHdCQUFBO0lBQ0EsNkJBQUE7R3RCNHVHSDtFc0J6dUdDO0lBQWtCLDBCQUFBO0d0QjR1R25CO0VzQjN1R0M7SUFBa0IseUJBQUE7R3RCOHVHbkI7RXNCNXVHQztJQUF1QiwwQkFBQTtHdEIrdUd4QjtFc0I5dUdDO0lBQXVCLHVDQUFBO0d0Qml2R3hCO0VzQmh2R0M7SUFBdUIsb0NBQUE7R3RCbXZHeEI7RXNCbHZHQztJQUFvQiw4QkFBQTtHdEJxdkdyQjtFc0JwdkdDO0lBQW9CLCtCQUFBO0d0QnV2R3JCO0VzQnR2R0M7SUFBb0IsK0JBQUE7R3RCeXZHckI7RXNCdHZHQzs7SUFDWSwyQkFBQTtHdEJ5dkdiO0VzQnZ2R0c7SUFBZ0IsNkJBQUE7R3RCMHZHbkI7RXNCdHZHQzs7O0lBRXFCLFlBQUE7R3RCeXZHdEI7RXNCdHZHQztJQUFvQiw4QkFBQTtHdEJ5dkdyQjtFc0J0dkdDOztJQUVFLDBCQUFBO0lBQ0EseUJBQUE7R3RCd3ZHSDtFc0JwdkdDO0lBQVEsNEJBQUE7R3RCdXZHVDtFc0JydkdDOztJQUNNLHlCQUFBO0d0Qnd2R1A7RXNCdHZHQztJQUFNLDJCQUFBO0d0Qnl2R1A7RXNCdnZHQztJQUFRLGNBQUE7R3RCMHZHVDtFc0J4dkdDOzs7SUFHRSxXQUFBO0lBQ0EsVUFBQTtHdEIwdkdIO0VzQnR2R0M7O0lBQ0ssd0JBQUE7R3RCeXZHTjtFc0J0dkdDO0lBQ0Usd0JBQUE7R3RCd3ZHSDtDQUNGO0FTbG9HQztFQUNFLFdBQUE7Q1Rvb0dIO0F1QnprR0M7RUFoTEEsc0JBQUE7RUFDQSx1QkFBQTtFQUNBLG1CZmlVYztFZWhVZCxxQmY4VG1CO0VlcFRqQixvQmZxVGE7RWVsVGYseUJBQUE7RUFDQSw4QkFBQTtFQUNBLHlCZkVjO0VlRGQsa0Vma1VrQjtFZWhVbEIsa0JBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtFQXFDQSwwQkpoQ2tCO0VJaUNsQixZZnJETTtDUml3R1A7QXVCMXNHQztFQUNFLDBCSnBDZ0I7RUlxQ2hCLFlmekRJO0NScXdHUDtBdUJ6bEdLO0VBQ0Usa0JBRm1CO0N2QjZsRzFCO0F1QjVsR0s7RUFDRSxtQkFGbUI7Q3ZCZ21HMUI7QXVCL2xHSztFQUNFLG1CQUZtQjtDdkJtbUcxQjtBdUI3bEdHO0VBM0pBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0N2QjJ2R0g7QXVCOWxHTztFQWxJTiwwQmYvRG1CO0VlZ0VuQixZQVJVO0N2QjJ1R1g7QXVCanVHQztFQUNFLHNDQVBtQjtFQVFuQixZQVpRO0N2Qit1R1g7QXVCdG1HTztFQWxJTiwwQmYvRG1CO0VlZ0VuQixlQVJVO0N2Qm12R1g7QXVCenVHQztFQUNFLG9FQVBtQjtFQVFuQixlQVpRO0N2QnV2R1g7QXVCOW1HTztFQWxJTiwwQmYvRG1CO0VlZ0VuQixlQVJVO0N2QjJ2R1g7QXVCanZHQztFQUNFLG9FQVBtQjtFQVFuQixlQVpRO0N2Qit2R1g7QXVCdG5HTztFQWxJTiwwQmYvRG1CO0VlZ0VuQixlQVJVO0N2Qm13R1g7QXVCenZHQztFQUNFLG9FQVBtQjtFQVFuQixlQVpRO0N2QnV3R1g7QXVCOW5HTztFQWxJTiwwQmYvRG1CO0VlZ0VuQixZQVJVO0N2QjJ3R1g7QXVCandHQztFQUNFLGlFQVBtQjtFQVFuQixZQVpRO0N2Qit3R1g7QXVCdG5HRztFQXpGRixjZjROd0I7RWUzTnhCLG9CQUFBO0N2Qmt0R0Q7QXVCaHRHQztFQUNFLDBCSjdGZ0I7RUk4RmhCLFlmbEhJO0NSbzBHUDtBdUJ6bkdPO0VBOUZOLGNmNE53QjtFZTNOeEIsb0JBQUE7Q3ZCMHRHRDtBdUJ4dEdDO0VBQ0UsMEJmNUhpQjtFZTZIakIsWUFSUTtDdkJrdUdYO0F1QmpvR087RUE5Rk4sY2Y0TndCO0VlM054QixvQkFBQTtDdkJrdUdEO0F1Qmh1R0M7RUFDRSwwQmY1SGlCO0VlNkhqQixlQVJRO0N2QjB1R1g7QXVCem9HTztFQTlGTixjZjROd0I7RWUzTnhCLG9CQUFBO0N2QjB1R0Q7QXVCeHVHQztFQUNFLDBCZjVIaUI7RWU2SGpCLGVBUlE7Q3ZCa3ZHWDtBdUJqcEdPO0VBOUZOLGNmNE53QjtFZTNOeEIsb0JBQUE7Q3ZCa3ZHRDtBdUJodkdDO0VBQ0UsMEJmNUhpQjtFZTZIakIsZUFSUTtDdkIwdkdYO0F1QnpwR087RUE5Rk4sY2Y0TndCO0VlM054QixvQkFBQTtDdkIwdkdEO0F1Qnh2R0M7RUFDRSwwQmY1SGlCO0VlNkhqQixZQVJRO0N2Qmt3R1g7QXVCN3lHQztFQUVFLDhCQUFBO0N2Qjh5R0g7QXVCenlHRztFQUVFLDhCQUFBO0N2QjB5R0w7QXVCL3BHSztFQS9ISiwwQkFBQTtFQUNBLGVKakVrQjtDbkJrMkduQjtBdUIveEdDO0VBQ0UsK0JBTlk7RUFPWix3QkFQWTtDdkJ3eUdmO0F1Qmh5R0c7RUFFRSwwQkFBQTtFQUNBLGVKekVjO0NuQjAyR25CO0F1QnRxR1M7RUFwSVIsMEJBQUE7RUFDQSxlZmhHbUI7Q1I2NEdwQjtBdUIzeUdDO0VBQ0UsK0JBTlk7RUFPWix3QkFQWTtDdkJvekdmO0F1QjV5R0c7RUFFRSwwQkFBQTtFQUNBLGVmeEdlO0NScTVHcEI7QXVCbHJHUztFQXBJUiwwQkFBQTtFQUNBLGVmaEdtQjtDUnk1R3BCO0F1QnZ6R0M7RUFDRSwrREFOWTtFQU9aLHdEQVBZO0N2QmcwR2Y7QXVCeHpHRztFQUVFLDBCQUFBO0VBQ0EsZWZ4R2U7Q1JpNkdwQjtBdUI5ckdTO0VBcElSLDBCQUFBO0VBQ0EsZWZoR21CO0NScTZHcEI7QXVCbjBHQztFQUNFLCtEQU5ZO0VBT1osd0RBUFk7Q3ZCNDBHZjtBdUJwMEdHO0VBRUUsMEJBQUE7RUFDQSxlZnhHZTtDUjY2R3BCO0F1QjFzR1M7RUFwSVIsMEJBQUE7RUFDQSxlZmhHbUI7Q1JpN0dwQjtBdUIvMEdDO0VBQ0UsK0RBTlk7RUFPWix3REFQWTtDdkJ3MUdmO0F1QmgxR0c7RUFFRSwwQkFBQTtFQUNBLGVmeEdlO0NSeTdHcEI7QXVCdHRHUztFQXBJUiwwQkFBQTtFQUNBLGVmaEdtQjtDUjY3R3BCO0F1QjMxR0M7RUFDRSwrREFOWTtFQU9aLHdEQVBZO0N2Qm8yR2Y7QXVCNTFHRztFQUVFLDBCQUFBO0VBQ0EsZWZ4R2U7Q1JxOEdwQjtBdUIzM0dDO0VBRUUsOEJBQUE7Q3ZCNDNHSDtBdUJ2M0dHO0VBRUUsOEJBQUE7Q3ZCdzNHTDtBdUIvdEdLO0VBN0lKLDBCQUFBO0VBQ0EsZUpqRWtCO0NuQmc3R25CO0F1QjcyR0M7RUFDRSwrQkFOWTtFQU9aLHdCQVBZO0N2QnMzR2Y7QXVCOTJHRztFQUVFLDBCQUFBO0VBQ0EsZUp6RWM7Q25CdzdHbkI7QXVCdHVHUztFQUNFLDBCQUFBO0N2Qnd1R1g7QXVCbnVHUztFQXhKUiwwQkFBQTtFQUNBLGVmaEdtQjtDUjg5R3BCO0F1QjUzR0M7RUFDRSwrQkFOWTtFQU9aLHdCQVBZO0N2QnE0R2Y7QXVCNzNHRztFQUVFLDBCQUFBO0VBQ0EsZWZ4R2U7Q1JzK0dwQjtBdUIxdUdhO0VBR0UsMEJBQUE7Q3ZCMHVHZjtBdUJsdkdTO0VBeEpSLDBCQUFBO0VBQ0EsZWZoR21CO0NSNitHcEI7QXVCMzRHQztFQUNFLCtEQU5ZO0VBT1osd0RBUFk7Q3ZCbzVHZjtBdUI1NEdHO0VBRUUsMEJBQUE7RUFDQSxlZnhHZTtDUnEvR3BCO0F1Qnp2R2E7RUFHRSwwQkFBQTtDdkJ5dkdmO0F1Qmp3R1M7RUF4SlIsMEJBQUE7RUFDQSxlZmhHbUI7Q1I0L0dwQjtBdUIxNUdDO0VBQ0UsK0RBTlk7RUFPWix3REFQWTtDdkJtNkdmO0F1QjM1R0c7RUFFRSwwQkFBQTtFQUNBLGVmeEdlO0NSb2dIcEI7QXVCeHdHYTtFQUdFLDBCQUFBO0N2Qnd3R2Y7QXVCaHhHUztFQXhKUiwwQkFBQTtFQUNBLGVmaEdtQjtDUjJnSHBCO0F1Qno2R0M7RUFDRSwrREFOWTtFQU9aLHdEQVBZO0N2Qms3R2Y7QXVCMTZHRztFQUVFLDBCQUFBO0VBQ0EsZWZ4R2U7Q1JtaEhwQjtBdUJ2eEdhO0VBR0UsMEJBQUE7Q3ZCdXhHZjtBdUIveEdTO0VBeEpSLDBCQUFBO0VBQ0EsZWZoR21CO0NSMGhIcEI7QXVCeDdHQztFQUNFLCtEQU5ZO0VBT1osd0RBUFk7Q3ZCaThHZjtBdUJ6N0dHO0VBRUUsMEJBQUE7RUFDQSxlZnhHZTtDUmtpSHBCO0F1QnR5R2E7RUFHRSwwQkFBQTtDdkJzeUdmO0F1QjM1R0M7RWRuTEEsZUFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBRUEsb0JBQUE7RUFFQSxZQUFBO0VBR0UsdUJBQUE7RUFDQSx3QkFBQTtFQUNBLDJDQUFBO0VjMEtBLG1CQUFBO0VBQ0EsV0FBQTtFQUVBLHNCQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQVRPO0N2QjQ2R1Y7QXVCbHlHTztFQUNFLDBCSnBQVTtDbkJ3aEhuQjtBdUIveEdXO0VBQ0UsMEJmelJPO0NSMGpIcEI7QXVCbHlHVztFQUNFLDBCZnpSTztDUjZqSHBCO0F1QnJ5R1c7RUFDRSwwQmZ6Uk87Q1Jna0hwQjtBdUJ4eUdXO0VBQ0UsMEJmelJPO0NSbWtIcEI7QXVCM3lHVztFQUNFLDBCZnpSTztDUnNrSHBCO0F1QnJ5R0c7RUFDRSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7Q3ZCdXlHTDs7QXVCbnlHRztFQUVFLHNCQUFBO0N2QnF5R0w7O0F3QnRpSEM7O0VBckNBLGVBQUE7RUFDQSx1QkFBQTtFQUNBLFlBQUE7RUFDQSxrQkFMUztFQU1ULGlCQUFBO0VBQ0EsZ0JoQjBkYztFZ0J4ZGQsMEJoQnNkYTtFZ0JyZGIseUJoQlVjO0VnQlRkLHVCaEJGTTtFZ0JHTixrRGhCc2RhO0VnQnBkYixxQmhCMGNrQjtFZ0J6Y2xCLGdCaEIwY2dCO0VnQnpjaEIsaUJoQkNxQjtFZ0JBckIsaUJoQmhDa0I7RWdCaUNsQixlaEJWTTtFZ0JhSiw0RGhCZ2RlO0NSNG5HbEI7QXdCeGtIQzs7RUFDRSxjQUFBO0VBQ0EsMEJoQnFjaUI7RWdCcGNqQix1QmhCbkJJO0VnQm9CSiw0QmhCc2NpQjtFZ0JuY2YsNERoQnFjYTtDUm9vR2xCO0F3QmxrSEM7O0VBR0UseUJBQUE7VUFBQSxpQkFBQTtDeEJta0hIOztBd0IvakhDO0VBQ0UsZ0JBQUE7Q3hCa2tISDtBd0Joa0hHO0VBQ0UsYUFBQTtDeEJra0hMOztBd0IzakhHOztFQUNFLGVoQnBEUTtDUm1uSGI7O0F3QmhrSEc7O0VBQ0UsZWhCcERRO0NSbW5IYjs7QXdCaGtIRzs7RUFDRSxlaEJwRFE7Q1JtbkhiO0F3QjNqSEc7OztFQUVFLDBCaEIzRE87RWdCNERQLG9CaEJtYWtCO0NSMnBHdkI7O0F3QnpqSEM7O0VBRUUseUJBQUE7VUFBQSxpQkFBQTtFQUNBLHlCaEJyRFk7Q1JpbkhmOztBd0J4akhDO0VBQ0UsdUJBQUE7Q3hCMmpISDs7QXlCcnRIQzs7O0VBR0UsaUJBQUE7Q3pCd3RISDs7QXlCcHRIQzs7RUFFRSxzQkFBQTtFQUNBLHlCQUFBO0VBRUEsb0JBQUE7RUFDQSxtQmpCc2dCVztFaUJyZ0JYLGlCQUFBO0N6QnN0SEg7QXlCcHRIRzs7RUFDRSxnQkFBQTtDekJ1dEhMOztBeUJsdEhDOztFQUVFLHFCQUFBO0N6QnF0SEg7O0F5Qmp0SEM7RUFDRSxZQUFBO0N6Qm90SEg7O0EwQmh0SEM7RUFqQkEsZUFBQTtFQUNBLFVBQUE7RUFFQSxvQmxCeWdCcUI7RWtCeGdCckIsaUJsQnlFcUI7RWtCeEVyQixpQmxCeWdCdUI7RWtCeGdCdkIsZWxCOERNO0NSc3FIUDtBMEJ0dEhHO0VBUkYsaUJBQUE7RUFDQSxxQkFBQTtDMUJpdUhEOztBMkJsdkhDO0VBR0Usb0JBRmE7RUFHYixxQm5CcWdCaUI7RW1CcGdCakIsbUJuQnFnQmtCO0VtQnBnQmxCLGVuQmtFSTtDUmlySFA7O0E0QnB2SEM7RUFDRSxzQkFBQTtFQUFBLHFCQUFBO0VBQUEsY0FBQTtFQUNBLFlBQUE7RUFDQSxvQnBCK2ZXO0VvQjVmVCw2QkFBQTtNQUFBLHdCQUFBO1VBQUEscUJBQUE7QzVCcXZITDtBNEJsdkhHO0VBQ0UsdUNBQUE7QzVCb3ZITDtBNEJodkhLO0VBQ0UsdUNBQUE7QzVCa3ZIUDs7QTRCN3VIQzs7OztFQUNFLFVBQUE7RUFDQSxvQkFBQTtDNUJtdkhIOztBNEIzdUhDO0VBRUUsZ0JBQUE7RUFDQSwwQnBCdWVrQjtFb0J0ZWxCLG9CcEI4QlM7RW9CNUJULGVwQitCSTtFb0I5QkosbUJBQUE7RUFDQSxvQkFBQTtFQUdFLHNCQUFBO0VBQUEscUJBQUE7RUFBQSxjQUFBO0VBQ0EsdUJBQUE7TUFBQSxtQkFBQTtVQUFBLGVBQUE7RUFDQSw0QkFBQTtNQUFBLHVCQUFBO1VBQUEsb0JBQUE7QzVCMHVITDtBNEJsdUhLO0VBQ0UsZ0JBQUE7QzVCb3VIUDtBNEJqdUhLO0VBQ0UsZUFBQTtDNUJtdUhQOztBNEI5dEhDO0VBRUUsaUJBQUE7RUFHRSxzQkFBQTtNQUFBLGtCQUFBO1VBQUEsY0FBQTtFQUNBLGFBQUE7RUFDQSxhQUFBO0M1Qjh0SEw7O0E0QnZ0SEM7RUFFRSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUdFLHNCQUFBO0VBQUEscUJBQUE7RUFBQSxjQUFBO0VBQ0EsdUJBQUE7TUFBQSxtQkFBQTtVQUFBLGVBQUE7QzVCdXRITDtBNEJodEhHOzs7O0VBT0ksYUFBQTtFQUNBLDRCQUFBO01BQUEsNkJBQUE7Y0FBQSw0QkFBQTtVQUFBLG9CQUFBO0VBS0YsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JwQjJhWTtDUmd5R2pCOztBNkJ4eUhDO0VBQ0UsVUFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0M3QjJ5SEg7O0E2Qnh5SEM7RUFDRSxnQkFBQTtFQUNBLHNCQUFBO0M3QjJ5SEg7O0E2Qnh5SEM7RUF4QkEsbUJyQmlnQmdCO0VxQmhnQmhCLGlCckIrZmlCO0VxQjlmakIsMEJyQjZmZ0I7Q1J1MEdqQjtBNkJsMEhDO0VBRUUsVUFBQTtFQUNBLHdCQUFBO0VBQ0EscUJyQjBmYTtDUnkwR2hCOztBOEJseEhDO0VBM0RBLGtCQUZTO0VBR1QsaUJBQUE7RUFDQSxnQnRCNmhCYztFc0IzaEJkLHlCQUFBO1VBQUEsaUJBQUE7RUFDQSwwQnRCd2hCYTtFc0J2aEJiLHlCdEI0RWM7RXNCM0VkLHVCdEJnRU07RXNCOUROLHFCdEI2Z0JrQjtFc0I1Z0JsQixnQnRCNmdCZ0I7RXNCNWdCaEIsaUJ0Qm9FcUI7RXNCbkVyQixpQnRCbUNrQjtFc0JsQ2xCLGV0QnlETTtFQ3lETixzT0FBQTtDVDh0SEQ7QVM1dEhDO0VxQnRFQTtJckJ5RUksd1dBQUE7R1Q2dEhIO0NBQ0Y7QThCdnlIQztFQTFDRSwrQkFBQTtFQUNBLHdDQUFBO0VBQ0EsNkJBQUE7RUFDQSx5QkFBQTtFQUVBLHNCQUFBO0VBSUEsNER0QnlnQmU7Q1J1MEdsQjtBOEI1MEhDO0VBQ0UsY0FBQTtFQUNBLDBCdEI4ZmlCO0VzQjdmakIsdUJ0QnNDSTtFc0JyQ0osNEJ0QitmaUI7RXNCNWZmLDREdEI4ZmE7Q1I4MEdsQjtBOEJ2MEhDO0VBQ0UsMEJ0QndCUztFc0J2QlQsb0J0QnNmb0I7Q1JtMUd2QjtBOEJyMEhDO0VBQ0UsY0FBQTtDOUJ1MEhIO0E4QnAwSEM7RUFDRSxhQUFBO0VBQ0EsdUJBQUE7QzlCczBISDs7QStCdjJIQztFQUNFLHNCdkJ3U3VCO0V1QnZTdkIsMkNBQUE7Qy9CMDJISDtBK0J6MkhHO0VBQ0UsZXZCcVNxQjtDUnNrSDFCO0ErQjUySEc7RUFDRSxldkJxU3FCO0NSc2tIMUI7QStCNTJIRztFQUNFLGV2QnFTcUI7Q1Jza0gxQjs7QStCajFIRztFQUNFLGV2QjJRcUI7Q1J5a0gxQjs7QStCLzBIQztFQXpCQSxjQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQnZCbWVhO0V1QmplYixtQnZCNlJzQjtFdUI1UnRCLGlCdkI0Q21CO0V1QjNDbkIsZXZCMFJrQjtDUmlsSG5CO0ErQnIxSEc7RUFDRSxlQUFBO0MvQnUxSEw7O0FnQ2h5SEM7RUF2RkEsZUFBQTtFQUNBLHdCeEJ5U3FCO0V3QnhTckIsc0JBQUE7Q2hDMjNIRDtBZ0N6M0hHO0VBQ0Usb0JBQUE7Q2hDMjNITDs7QWdDcDNIQztFQUNFLHVDQUFBO0NoQ3UzSEg7QWdDcDNIQztFQUNFLHVDQUFBO0NoQ3MzSEg7O0FnQ3h5SEM7RUFsRUEsbUJBQUE7RUFDQSxlQUFBO0VBQ0Esc0J4QmdSdUI7RXdCOVF2QiwwQnhCZ1J5QjtFd0IvUXpCLGlCQUFBO0VBRUEsbUJ4QndRMEI7RXdCdlExQixlQUFBO0VBQ0EsZWJ3QmtCO0NuQm8xSG5CO0Fn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SUFFQSxVQUFBO0lBQ0EsaUJBQUE7R0h5MEpDO0NBQ0Y7QUd0eEpHO0VBQ0UsZ0JBQUE7Q0h3eEpMOztBOEN4cEpDO0VBOUdBLDBCQUFBO0VBQ0EsWUFBQTtFQUNBLG9CdENqR2M7RXNDa0dkLHlCdEM1RmM7Q1JzMkpmO0E4Q2oySkM7OztFQUdFLDhDdENndkJXO0VzQy91QlgsdUJ0Q3BCSTtDUnUzSlA7O0E4Qy8xSkM7RUFDRSxrQ3RDMnVCWTtFc0MxdUJaLGlCdENoQmlCO0NSazNKcEI7O0E4QzkxSkM7RUFDRSwyQ3RDK3VCb0I7RXNDOXVCcEIsZXRDakNJO0NSazRKUDs7QThDNzFKQztFQUNFLHdDdEMydUJvQjtFc0MxdUJwQixldEN2Q0k7Q1J1NEpQOztBOEN6MUpHOztFQUNFLHdCQUFBO0M5QzYxSkw7QThDejFKRzs7OztFQUVFLGtDdENndEJVO0VzQy9zQlYsaUJ0QzNDZTtFc0M0Q2YsaUJBQUE7QzlDNjFKTDs7QThDdjFKRzs7RUFFRSxrQ3RDc3NCVTtDUm9wSWY7O0E4Q2g2Sks7RUFDRSxpQkFBQTtFQUNBLDhDdENreEJtQjtDUmlwSTFCOztBOENyNUpDO0VBQ0UsaUJBQUE7RUFDQSxxRHRDeXZCVztFc0N4dkJYLHVCdENYSTtDUm02SlA7QThDMTFKSztFQUVFLHVCdEMzRUE7Q1JzNkpQOztBRTUxSks7RTRDbUhGO0lBQ0UsY0FBQTtHOUM2dUpIO0U4Q3p1SkQ7SUFDRSxjQUFBO0c5QzJ1SkQ7RThDeHVKRDs7O0lBR0UsZUFBQTtHOUMwdUpEO0U4Q3Z1SkQ7SUFDRSxjQUFBO0c5Q3l1SkQ7Q0FDRjs7QThDM3RKQztFQXZHQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0M5Q3MwSkQ7O0E4Qy96Skc7RUFDRSxpRHRDZ3BCaUI7Q1Jrckl0QjtBOEM1ekpHO0VBQ0UsOEN0QzJvQmlCO0NSbXJJdEI7QThDeHpKRztFQUNFLDJDdEN5bkJZO0NSaXNJakI7QThDbnpKSztFQUNFLDhDdENrbkJpQjtDUm1zSXhCOztBOEN0dUpDO0VBQ0UsaUJBQUE7QzlDeXVKSDtBOEN2dUpHO0VBQ0UsWUFBQTtD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UTtNQVFSLHVCQVJRO1VBUVIsb0JBUlE7RUQyRE4sOEJBQUE7TUFBQSwyQkFBQTtVQUFBLHNCQUFBO0NsRHV1S0g7O0FrRGp1S0s7RUNuQ0osaUJEa0NlO01DbENmLGtCRGtDZTtVQ2xDZixTRGtDZTtDbERzdUtoQjs7QWtEcnVLSztFQ25DSixpQkRrQ2U7TUNsQ2Ysa0JEa0NlO1VDbENmLFNEa0NlO0NsRDB1S2hCOztBa0R6dUtLO0VDbkNKLGlCRGtDZTtNQ2xDZixrQkRrQ2U7VUNsQ2YsU0RrQ2U7Q2xEOHVLaEI7O0FrRDd1S0s7RUNuQ0osaUJEa0NlO01DbENmLGtCRGtDZTtVQ2xDZixTRGtDZTtDbERrdktoQjs7QWtEanZLSztFQ25DSixpQkRrQ2U7TUNsQ2Ysa0JEa0NlO1VDbENmLFNEa0NlO0NsRHN2S2hCOztBa0RydktLO0VDbkNKLGlCRGtDZTtNQ2xDZixrQkRrQ2U7VUNsQ2YsU0RrQ2U7Q2xEMHZLaEI7O0FFbHNLSztFZ0R2REE7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHbEQrdktkO0VrRDl2S0c7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHbERrd0tkO0VrRGp3S0c7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHbERxd0tkO0VrRHB3S0c7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHbER3d0tkO0VrRHZ3S0c7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHbEQyd0tkO0VrRDF3S0c7SUNuQ0osaUJEa0NlO1FDbENmLGtCRGtDZTtZQ2xDZixTRGtDZTtHbEQ4d0tkO0NBQ0Y7QUV2dEtLO0VnRHZEQTtJQ25DSixpQkRrQ2U7UUNsQ2Ysa0JEa0NlO1lDbENmLFNEa0NlO0dsRG14S2Q7RWtEbHhLRztJQ25DSixpQkRrQ2U7UUNsQ2Ysa0JEa0NlO1lDbENmLFNEa0NlO0dsRHN4S2Q7RWtEcnhLRztJQ25DSixpQkRrQ2U7UUNsQ2Ysa0JEa0NlO1lDbENmLFNEa0NlO0ds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RUFDQywwQnhEaUZpQjtFd0RoRmpCLGV4RCtFZTtDUDZoTWY7O0ErRHhtTUQ7RUFDQywwQnhENEVlO0V3RDNFZixleER5RWU7Q1BraU1mOztBK0R2bU1EO0VBQ0MsMEJ4RHVFZTtFd0R0RWYsZXhEbUVlO0NQdWlNZjs7QStEdm1NRDtFQUNDLDBCeERtRWE7RXdEbEViLFl2RDRCTztDUjhrTVA7O0ErRHRtTUQ7RUFDQywwQnZEb0JhO0V1RG5CYixZdkRzQk87Q1JtbE1QOztBK0RybU1EO0VBQ0MsdUJ2RGlCTztFdURoQlAsZXZEZU87Q1J5bE1QOztBZ0V0ck1EOzs7Ozs7Ozs7RUNZQyx1Q0RKQztDaEU4ck1EOztBZ0Uzck1EO0VBQ0UsbUJBQUE7Q2hFOHJNRDs7QWdFenJNQztFQUNFLGdCQUFBO0NoRTRyTUg7QWdFMXJNRztFQUNFLG9CQUFBO0NoRTRyTUw7O0FFOWlNSztFOER6SUo7SUFDRSxnQkFBQTtHaEUyck1EO0VnRXpyTUM7SUFDRSxnQkFBQTtHaEUyck1IO0NBQ0Y7QUV2ak1LO0U4RGhJSjtJQUNFLGdCQUFBO0doRTByTUQ7RWdFeHJNQztJQUNFLGtCQUFBO0doRTByTUg7Q0FDRjtBRTFqTUs7RThENUhKO0lBQ0UsZ0JBQUE7R2hFeXJNRDtFZ0V2ck1DO0lBQ0UsaUJBQUE7R2hFeXJNSDtDQUNGO0FnRXJyTUQsK0NBQUE7QUFFQTtFQUNFLHNCQUFBO0VBQ0EsdUJBQUE7Q2hFc3JNRDs7QWdFcHJNRDtFQUNFO0lBQ0Usd0JBQUE7SUFDQSx5QkFBQTtHaEV1ck1EO0NBQ0Y7QWdFcnJNRDtFQUNFO0lBQ0UsdUJBQUE7SUFDQSx3QkFBQTtHaEV1ck1EO0NBQ0Y7QWdFcHJNRDtFQUNFLHVCQUFBO0VBQ0Esc0JBQUE7Q2hFc3JNRDs7QWdFcHJNRDtFQUNFO0lBQ0UseUJBQUE7SUFDQSx3QkFBQTtHaEV1ck1EO0NBQ0Y7QWdFcnJNRDtFQUNFO0lBQ0Usd0JBQUE7SUFDQSx1QkFBQTtHaEV1ck1EO0NBQ0Y7QWdFcnJNRDtFQUNFLHVCQUFBO0VBQ0Esc0JBQUE7Q2hFdXJNRDs7QWdFcnJNRDtFQUNFO0lB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QTtJQUFBLHVCQUFBO0dYNDdOSDtDQUNGO0FjejhOQztFRHlERSwwQkFETTtFRjVDSixzQkFBQTtFQUFBLHFCQUFBO0NYazhOTDtBRXgwTks7RVl0SUo7SUR5REUsNEJBRE07SUY1Q0osd0JBQUE7SUFBQSx1QkFBQTtHWHc4Tkg7Q0FDRjtBRS8wTks7RVl0SUo7SUR5REUsdUNBRE07SUY1Q0osd0JBQUE7SUFBQSx1QkFBQTtHWCs4Tkg7Q0FDRjtBYzU5TkM7RUR5REUsMEJBRE07RUY1Q0osc0JBQUE7RUFBQSxxQkFBQTtDWHE5Tkw7QUUzMU5LO0VZdElKO0lEeURFLDRCQURNO0lGNUNKLHdCQUFBO0lBQUEsdUJBQUE7R1gyOU5IO0NBQ0Y7QUVsMk5LO0VZdElKO0lEeURFLDRCQURNO0lGNUNKLHdCQUFBO0lBQUEsdUJBQUE7R1hrK05IO0NBQ0Y7QWMvK05DO0VEeURFLDBCQURNO0VGNUNKLHNCQUFBO0VBQUEscUJBQUE7Q1h3K05MO0FFOTJOSztFWXRJSjtJRHlERSw0QkFETTtJRjVDSix3QkFBQTtJQUFBLHVCQUFBO0dYOCtOSDtDQUNGO0FFcjNOSztFWXRJSjtJRHlERSw0QkFETTtJRjVDSix3QkFBQTtJQUFBLHVCQUFBO0dYcS9OSDtDQUNGO0FjbGdPQztFRHlERSwwQkFETTtFRjVDSixzQkFBQTtFQUFBLHFCQUFBO0NYMi9OTDtBRWo0Tks7RVl0SUo7SUR5REUsNEJBRE07SUY1Q0osd0JBQUE7SUFBQSx1QkFBQTtHWGlnT0g7Q0FDRjtBRXg0Tks7RVl0SUo7SUR5REUsdUNBRE07SUY1Q0osd0JBQUE7SUFBQSx1QkFBQTtHWHdnT0g7Q0FDRjtBY3JoT0M7RUR5REUsMEJBRE07RUY1Q0osc0JBQUE7RUFBQSxxQkFBQTtDWDhnT0w7QUVwNU5LO0VZdElKO0lEeURFLDRCQURNO0lGNUNKLHdCQUFBO0lBQUEsdUJBQUE7R1hvaE9IO0NBQ0Y7QUUzNU5LO0VZdElKO0lEeURFLHVDQURNO0lGNUNKLHdCQUFBO0lBQUEsdUJBQUE7R1gyaE9IO0NBQ0Y7QWN4aU9DO0VEeURFLDBCQURNO0VGNUNKLHNCQUFBO0VBQUEscUJBQUE7Q1hpaU9MO0FFdjZOSztFWXRJSjtJRHlERSw0QkFETTtJRjVDSix3QkFBQTtJQUFBLHVCQUFBO0dYdWlPSDtDQUNGO0FFOTZOSztFWXRJSjtJRHlERSw4QkFETTtJRjVDSix3QkFBQTtJQUFBLHVCQUFBO0dYOGlPSDtDQUNGO0FjM2pPQztFRHlERSwwQkFETTtFRjVDSixzQkFBQTtFQUFBLHFCQUFBO0NYb2pPTDtBRTE3Tks7RVl0SUo7SUR5REUsNEJBRE07SUY1Q0osd0JBQUE7SUFBQSx1QkFBQTtHWDBqT0g7Q0FDRjtBRWo4Tks7RVl0SUo7SUR5REUsdUNBRE07SUY1Q0osd0JBQUE7SUFBQSx1QkFBQTtHWGlrT0g7Q0FDRjtBd0Uxak9DO0V4QmZBLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQnhDK0RjO0V3QzdEZCx1QnhDbTJCaUI7RXdDbDJCakIseUJ4Q2tFYztFd0NqRWQsNEN4Q20yQmlCO0V3Q2oyQmpCLGVBQUE7RUFJQSxzQ3hDKzFCcUI7Q1J3dU10QjtBZ0Rya09DO0VBRUUsOEN4QzAxQnFCO0NSNHVNeEI7QWdEbmtPQztFQUNFLGlCQUFBO0NoRHFrT0g7QXdFdGtPQztFeEJuQkEsc0JBQUE7RUFDQSxnQkFBQTtFQUNBLG9CeEMrRGM7RXdDN0RkLHVCeENtMkJpQjtFd0NsMkJqQix5QnhDa0VjO0V3Q2pFZCw0Q3hDbTJCaUI7RXdDajJCakIsZUFBQTtDaEQwbE9EOztBeUVub09EO0VBQ0UsdUJqRTRGTTtFaUUzRk4sZ0JBQUE7RUFDQSxPQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7Q3pFc29PRDtBeUVwb09DO0VSZUQsZ0RRZEs7Q3pFd29PTDs7QXlFbG9PQztFQUVFLG1CQUFBO0N6RW9vT0g7QXlFbG9PQztFQUNFLG1CQUFBO0VSUkgsOEJRU0c7Q3pFd29PSDtBeUV0b09DO0VBQ0UsZ0JBQUE7Q3pFd29PSDtBRTcvTks7RXVFNUlKO0lBR0ksZ0JBQUE7R3pFMG9PSDtDQUNGO0F5RXhvT0c7O0VBRUUsc0JBQUE7RUFBQSxxQkFBQTtFQUFBLGNBQUE7Q3pFMG9PTDtBeUV4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LGNBQUE7RUFDQSx3QkFBQTtNQUFBLG9CQUFBO1VBQUEsZ0JBQUE7RUFFQSxtQkFBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFVkxILDBCVU9HO0MzRSsrT0g7QTJFNytPRztFQUVFLDRCQUFBO0VBQ0Esb0JuRXVEUTtFbUV0RFIsZ0NBQUE7TUFBQSw0QkFBQTtVQUFBLHdCQUFBO0VBQ0EsbUJBQUE7RVZkTCwwQlVnQks7QzNFaS9PTDtBMkUvK09LOztFQUdFLHVCbkU2REE7RW1FNURBLFlBQUE7RUFDQSxlQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFVmFQLG9DVVhpQztFVmFqQyxvQ1ViaUM7RVZjakMsd0NVZGlDO0VWZWpDLGdDVWZpQztFVjdCakMsMEJVOEJPO0MzRXUvT1A7QTJFbC9PTzs7RUFHRSx1Qm5FNENGO0NSdThPUDtBMkU3K09HO0VBQ0Usb0JuRW9CTztDUjI5T1o7QTJFNytPSzs7RUFHRSwwQm5FaUJNO0NSNjlPYjtBMkU1K09LO0VWbkNMLG9EVW9DMEI7RVZuQzFCLHdEVW1DMEI7RVZsQzFCLGdEVWtDMEI7QzNFay9PMUI7QTJFaC9PSztFVnRDTCxzRFV1QzBCO0VWdEMxQiwwRFVzQzBCO0VWckMxQixrRFVxQzBCO0MzRXMvTzFCO0EyRXAvT0s7RVZ6Q0wsd0JVMEMwQjtFVnpDMUIsNEJVeUMwQjtFVnhDMUIsb0JVd0MwQjtDM0UwL08xQjtBMkVyL09HO0VBQ0UsNEJBQUE7RUFDQSxjQUFBO0MzRXUvT0w7QUVsNk9LO0V5RWpGRjtJQUNFLDJCQUFBO0lBQ0EsY0FBQTtHM0VzL09IO0NBQ0Y7QUV4Nk9LO0V5RXJFRjtJVmpFSCxpQ1VrRXdCO0lWakV4QixxQ1VpRXdCO0lWaEV4Qiw2QlVnRXdCO0czRW8vT3RCO0NBQ0Y7O0EyRS8rT0Q7RUFDRSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFVi9GRCwyRVVpR0M7QzNFcS9PRDtBMkUvK09DO0VBQ0UsaUJuRXRCSTtFbUV1QkosY0FBQTtFQUNBLFdBQUE7RVYxR0gsc0VVNEdHO0MzRW8vT0g7QTJFOStPQztFVmxIRCw4QlVtSEc7QzNFby9PSDtBMkU5Z1BEO0VBNkJJLFNBQUE7QzNFby9PSDtBMkUvK09HO0VBQ0UsWUFBQTtDM0VpL09MO0EyRS8rT0c7RUFDRSwrQkFBQTtFQUNBLDRDQUFBO0MzRWkvT0w7QUUxOU9LO0V5RTlETjtJQTJDSSxzQkFBQTtHM0VpL09EO0UyRS8rT0M7SUFDRSxlQUFBO0czRWkvT0g7RTJFLytPQztJQUNFLGdDQUFBO0lBQ0EsMEJBQUE7RzNFaS9PSDtFMkUvK09DO0lBQ0UsZUFBQTtHM0VpL09IO0NBQ0Y7QUV6K09LO0V5RTlETjtJQXlESSxjQUFBO0czRWsvT0Q7RTJFLytPRztJQUNFLGlCQUFBO0czRWkvT0w7RTJFOStPQztJQUNFLGdDQUFBO0czRWcvT0g7Q0FDRjtBRS8rT0s7RXlFRUY7SUFDRSxnQ0FBQTtHM0VnL09IO0UyRTcrT0c7SUFDRSxpQkFBQTtHM0UrK09MO0NBQ0Y7O0EyRXgrT0M7RUFDRSxpQm5FaEZpQjtFbUVpRmpCLDBCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0MzRTIrT0g7QTJFeitPRztFQUNFLGVuRWhIUztFbUVpSFQsaUJuRXZGZTtFbUV3RmYsbUJBQUE7QzNFMitPTDtBMkV2K09LO0VBQ0UsaUJuRTdGYTtFbUU4RmIsbUJBQUE7QzNFeStPUDtBMkV2K09LO0VBQ0Usc0JBQUE7RUFBQSxxQkFBQTtFQUFBLGNBQUE7QzNFeStPUDtBMkV2K09LO0VBQ0Usc0JBQUE7QzNFeStPUDtBMkV2K09PO0VBQ0UsbUJBQUE7QzNFeStPVDtBMkV2K09TO0VBQ0UscUJBQUE7QzNFeStPWDtBMkV2K09TO0VBQ0UsaUJBQUE7QzNFeStPWDs7QTJFLzlPQztFQUNFLHdCQUFBO0VBQ0EsZW5FbkpXO0V5RGxFZCw0QlV1Tkc7QzNFcStPSDtBMkVuK09DOztFQUVFLGVuRXhKVTtFbUV5SlYsNEJBQUE7QzNFcStPSDs7QTJFaitPQztFQUNFLHdEQUFBO0VBQ0EsdUJBQUE7RUFDQSw2QkFB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QjtFdkJwQnBCLHNDdUJvQm9CO0V2Qm5CcEIsOEJ1Qm1Cb0I7Q3hGdzhVcEI7QXdGdDhVQTtFQUNDLGFBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtFdkIxQkQsa0N1QjRCb0I7RXZCM0JwQixzQ3VCMkJvQjtFdkIxQnBCLDhCdUIwQm9CO0N4RjI4VXBCOztBeUZuZ1ZEO0VBQ0Msa0JBQUE7Q3pGc2dWQTtBeUZuZ1ZDO0VBQ0MsaUJBQUE7Q3pGcWdWRjtBeUZsZ1ZBO0VBQ0MsaUJqRjhGbUI7Q1JzNlVwQjs7QXlGNy9VQztFQUNDLHNCQUFBO0N6RmdnVkY7QXlGNy9VQTtFQUNDLHFCQUFBO0N6RisvVUQ7QXlGNy9VQTtFQUNDLHNCQUFBO0N6RisvVUQ7QXlGNy9VQTtFQUNDLGtCQUFBO0N6RisvVUQ7QXlGNy9VQztFQUNDLG9CQUFBO0VBQ0EsaUJqRndFa0I7Q1J1N1VwQjtBeUY3L1VFO0VBQ0MsY0FBQTtDekYrL1VIOztBeUZ6L1VBO0VBQ0MsbUJBQUE7Q3pGNC9VRDs7QXlGeC9VQTtFQUNDLHFCQUFBO0N6RjIvVUQ7O0FFdjRVSztFdUY5R0g7SUFDQyxpQkFBQTtHekZ5L1VEO0V5RnQvVUQ7SUFDQyxxQkFBQTtHekZ3L1VBO0V5RnQvVUQ7SUFDQyxrQkFBQTtHekZ3L1VBO0V5RnQvVUE7SUFDQyxvQkFBQTtHekZ3L1VEO0V5Rm4vVUQ7SUFDQyxvQkFBQTtHekZxL1VBO0NBQ0Y7QUV6NVVLO0V1RnZGSjtJQUNDLG9CQUFBO0d6Rm0vVUE7Q0FDRjtBeUY3K1VBO0VBQ0Msd0JBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0V4QjVFRCxxQ3dCOEVDO0N6RmsvVUQ7QXlGaC9VQztFQUNDLGFBQUE7Q3pGay9VRjtBeUY5K1VDO0VBQ0MsOENBQUE7RUFDQSxzQkFBQTtDekZnL1VGO0F5RjkrVUM7RUFDQyxnQkFBQTtDekZnL1VGO0F5RjUrVUE7RUFDQyxpQ0FBQTtFQUNBLHlCQUFBO0V4QmhHRCxzQ3dCa0dDO0N6RmkvVUQ7QXlGLytVQztFQUNDLDJCQUFBO0N6RmkvVUY7QXlGOStVQTtFQUND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O0VBQUEsc0JBQUE7Q1hxOFdMO0FnR2oxV0c7RUFDRSxpQkFBQTtDaEdtMVdMO0FnR2gxV0c7RUFDRSxvQkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtDaEdrMVdMO0FnRzkwV0M7Ozs7RW5GbEZFLDJCQURNO0VGNUNKLHNCQUFBO0VBQUEscUJBQUE7Q1hxOVdMO0FFMzFXSztFOEZLSjs7OztJbkZsRkUsNEJBRE07SUY1Q0osd0JBQUE7SUFBQSx1QkFBQTtHWDg5V0g7Q0FDRjtBZ0dwMVdHOzs7O0VBQ0UsaUJBQUE7RUFDQSx5QkFBQTtDaEd5MVdMO0FnR3QxV0c7Ozs7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtDaEcyMVdMO0FnR3gxV0c7Ozs7RUFDRSxxQkFBQTtDaEc2MVdMO0FnR3oxV0M7RW5GOUdFLDRCQURNO0VGNUNKLHVCQUFBO0VBQUEsc0JBQUE7RXFGNkpGLGlCQUFBO0NoRzYxV0giLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjQuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwubGFyZ2UsIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwudGlueSwgLnJldmVhbCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAqL1xufVxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC8qKlxuICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAqL1xufVxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuICAvKipcbiAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICovXG59XG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiO1xufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LWZhbWlseTogXCJudW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMzRDQxMzg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xufVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xufVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bztcbn1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgfVxufVxuLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY2VsbC5hdXRvIHtcbiAgZmxleDogMSAxIDBweDtcbn1cbi5jZWxsLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bztcbn1cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0gMS4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtIDEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0gMS41NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLSAxLjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14IHtcbiAgICBtYXJnaW4tbGVmdDogLSAxLjg3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogY2FsYyg3NSUgLSAyLjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy4xMjVyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0gMS4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0gMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLSAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0gMS41NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0gMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtIDEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtIDEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtIDEuNTYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLSAxLjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0gMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gIH1cbn1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlO1xufVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xufVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAyLjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAyLjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMi41cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAyLjVyZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAzLjEyNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMi41cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMy43NXJlbSk7XG4gIH1cbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAxLjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMS4yNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS4yNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDEuMjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAxLjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMS4yNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDEuMjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDEuMjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDEuMjVyZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuNTYyNXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMS41NjI1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDEuNTYyNXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuNTYyNXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAxLjU2MjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY2NjY2NjclICsgMS41NjI1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS41NjI1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDEuNTYyNXJlbSk7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgKyAxLjU2MjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjU2MjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAxLjU2MjVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgKyAxLjU2MjVyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjg3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMzMzMzMzJSArIDEuODc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgKyAxLjg3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjg3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzMzMzMzMlICsgMS44NzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NjY2NjY3JSArIDEuODc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuODc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgKyAxLjg3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY2NjY2NjclICsgMS44NzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS44NzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzMzMzMzMlICsgMS44NzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY2NjY2NjclICsgMS44NzVyZW0pO1xuICB9XG59XG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuLmdyaWQteSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87XG59XG4uZ3JpZC15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC15ID4gLnNocmluayB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG4uZ3JpZC15ID4gLnNtYWxsLTEge1xuICBoZWlnaHQ6IDguMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IDE2LjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgaGVpZ2h0OiAyNSU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTQge1xuICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xufVxuLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNiB7XG4gIGhlaWdodDogNTAlO1xufVxuLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgaGVpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogNjYuNjY2NjY2NjY2NyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTkge1xuICBoZWlnaHQ6IDc1JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMTAge1xuICBoZWlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogOTEuNjY2NjY2NjY2NyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtIDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0gMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgIG1hcmdpbi10b3A6IC0gMS41NjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0gMS41NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICBtYXJnaW4tdG9wOiAtIDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0gMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgIHBhZGRpbmctdG9wOiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtIDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0gMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15IHtcbiAgICBtYXJnaW4tdG9wOiAtIDEuNTYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtIDEuNTYyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0gMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLSAxLjg3NXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMi41cmVtKTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy4xMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy43NXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gIGhlaWdodDogY2FsYyg1MCUgLSAyLjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjVyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy43NXJlbSk7XG4gIH1cbn1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3O1xufVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4uY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eXBlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxufVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLSAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtIDEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgbWFyZ2luLXRvcDogLSAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLSAxLjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15IHtcbiAgICBtYXJnaW4tdG9wOiAtIDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0gMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogY2FsYygyNSUgLSAyLjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi41cmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjVyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuNXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMi41cmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMy4xMjVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAzLjEyNXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuMTI1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy4xMjVyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy43NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuNzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICB9XG59XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAyLjVyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMy4xMjVyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzLjc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMy4xMjVyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzLjc1cmVtKTtcbiAgfVxufVxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSxcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLCAuaDYsIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sucHJpbWFyeS1ibG9jayBwIHtcbiAgZm9udC1mYW1pbHk6IFwibnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5oMSBzbWFsbCwgLmgxIHNtYWxsLFxuaDIgc21hbGwsIC5oMiBzbWFsbCxcbmgzIHNtYWxsLCAuaDMgc21hbGwsXG5oNCBzbWFsbCwgLmg0IHNtYWxsLFxuaDUgc21hbGwsIC5oNSBzbWFsbCxcbmg2IHNtYWxsLFxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSBzbWFsbCwgLmg2IHNtYWxsLCAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrLnByaW1hcnktYmxvY2sgcCBzbWFsbCB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBjb2xvcjogI2EzYTNhMztcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMi4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4wNjg5NjU1MTcyO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMDc2OTIzMDc2OTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA5MDkwOTA5MDk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbmg2LCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLCAuaDYsIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sucHJpbWFyeS1ibG9jayBwIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI2MzE1Nzg5NDc7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMy4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDE4NTE4NTE4NTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMi43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wMjI3MjcyNzI3O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjAyNzc3Nzc3Nzg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wNjg5NjU1MTcyO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDgzMzMzMzMzMztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG4gIGg2LCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLCAuaDYsIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sucHJpbWFyeS1ibG9jayBwIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA5MDkwOTA5MDk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjAxNjY2NjY2Njc7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDMuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjAyO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAyLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wMjM4MDk1MjM4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDU3MTQyODU3MTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wNzE0Mjg1NzE0O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbiAgaDYsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUsIC5oNiwgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jay5wcmltYXJ5LWJsb2NrIHAge1xuICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA4Njk1NjUyMTc7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDMuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDE2NjY2NjY2NztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDIuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjAyMzgwOTUyMzg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wNTcxNDI4NTcxO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA3MTQyODU3MTQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxuICBoNiwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSwgLmg2LCAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrLnByaW1hcnktYmxvY2sgcCB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDg2OTU2NTIxNztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG59XG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMDA4MDUxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbmE6aG92ZXIsIGE6Zm9jdXMge1xuICBjb2xvcjogcmdiKDAsIDExMC4wOCwgNjkuNjYpO1xufVxuYSBpbWcge1xuICBib3JkZXI6IDA7XG59XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhM2EzYTM7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG51bCB1bCwgdWwgb2wsIG9sIHVsLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5kbCBkdCB7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMzRDQxMzg7XG59XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogI2EzYTNhMztcbn1cbmNpdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJQgXCI7XG59XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjM0Q0MTM4O1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EzYTNhMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjM0Q0MTM4O1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG59XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMzRDQxMzg7XG59XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbnAgKyAuc3RhdCB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xufVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gIH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzRDQxMzg7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207XG4gIH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICB9XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5idXR0b24sIFtkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rLCAuZWRpdC1saW5rIFtkYXRhLXdoYXRpbnB1dD1tb3VzZV0gYS5wb3N0LWVkaXQtbGluaywgW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuZm9ybWluYXRvci1idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuLmJ1dHRvbiwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rLCAuZm9ybWluYXRvci1idXR0b25bZGlzYWJsZWRdLCAuZm9ybWluYXRvci1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgwNTE7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJ1dHRvbjpob3ZlciwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuZm9ybWluYXRvci1idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpmb2N1cywgLmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODA1MTtcbiAgY29sb3I6ICNmZmY7XG59XG4uYnV0dG9uLnRpbnksIC5lZGl0LWxpbmsgYS50aW55LnBvc3QtZWRpdC1saW5rLCAudGlueS5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuLmJ1dHRvbi5zbWFsbCwgLmVkaXQtbGluayBhLnNtYWxsLnBvc3QtZWRpdC1saW5rLCAuc21hbGwuZm9ybWluYXRvci1idXR0b24ge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG4uYnV0dG9uLmxhcmdlLCAuZWRpdC1saW5rIGEubGFyZ2UucG9zdC1lZGl0LWxpbmssIC5sYXJnZS5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi5idXR0b24uZXhwYW5kZWQsIC5lZGl0LWxpbmsgYS5leHBhbmRlZC5wb3N0LWVkaXQtbGluaywgLmV4cGFuZGVkLmZvcm1pbmF0b3ItYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmJ1dHRvbi5wcmltYXJ5LCAuZWRpdC1saW5rIGEucHJpbWFyeS5wb3N0LWVkaXQtbGluaywgLnByaW1hcnkuZm9ybWluYXRvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDUxO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5idXR0b24ucHJpbWFyeTpob3ZlciwgLmVkaXQtbGluayBhLnByaW1hcnkucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5wcmltYXJ5LmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMsIC5lZGl0LWxpbmsgYS5wcmltYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzLCAucHJpbWFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAxMDIuNCwgNjQuOCk7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJ1dHRvbi5zZWNvbmRhcnksIC5lZGl0LWxpbmsgYS5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbmssIC5zZWNvbmRhcnkuZm9ybWluYXRvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzVCQjU5O1xuICBjb2xvcjogIzNENDEzODtcbn1cbi5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuZWRpdC1saW5rIGEuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuc2Vjb25kYXJ5LmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cywgLmVkaXQtbGluayBhLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpmb2N1cywgLnNlY29uZGFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig5MC41ODQ2MTUzODQ2LCAxNTYuNjM1ODk3NDM1OSwgNjQuMTY0MTAyNTY0MSk7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuLmJ1dHRvbi5zdWNjZXNzLCAuZWRpdC1saW5rIGEuc3VjY2Vzcy5wb3N0LWVkaXQtbGluaywgLnN1Y2Nlc3MuZm9ybWluYXRvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2NjNDdjO1xuICBjb2xvcjogIzNENDEzODtcbn1cbi5idXR0b24uc3VjY2Vzczpob3ZlciwgLmVkaXQtbGluayBhLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5zdWNjZXNzLmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsIC5lZGl0LWxpbmsgYS5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuc3VjY2Vzcy5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig0Ny41NzE2NTM1NDMzLCAxNTcuMjI4MzQ2NDU2NywgOTkuMTc0ODAzMTQ5Nik7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuLmJ1dHRvbi53YXJuaW5nLCAuZWRpdC1saW5rIGEud2FybmluZy5wb3N0LWVkaXQtbGluaywgLndhcm5pbmcuZm9ybWluYXRvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdiNzMzO1xuICBjb2xvcjogIzNENDEzODtcbn1cbi5idXR0b24ud2FybmluZzpob3ZlciwgLmVkaXQtbGluayBhLndhcm5pbmcucG9zdC1lZGl0LWxpbms6aG92ZXIsIC53YXJuaW5nLmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMsIC5lZGl0LWxpbmsgYS53YXJuaW5nLnBvc3QtZWRpdC1saW5rOmZvY3VzLCAud2FybmluZy5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkuNDAzNzczNTg0OSwgMTU3LjQzMzk2MjI2NDIsIDguOTk2MjI2NDE1MSk7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuLmJ1dHRvbi5hbGVydCwgLmVkaXQtbGluayBhLmFsZXJ0LnBvc3QtZWRpdC1saW5rLCAuYWxlcnQuZm9ybWluYXRvci1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmM0YTFhO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5idXR0b24uYWxlcnQ6aG92ZXIsIC5lZGl0LWxpbmsgYS5hbGVydC5wb3N0LWVkaXQtbGluazpob3ZlciwgLmFsZXJ0LmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzLCAuZWRpdC1saW5rIGEuYWxlcnQucG9zdC1lZGl0LWxpbms6Zm9jdXMsIC5hbGVydC5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMTkuNTI0MTM3OTMxLCA0OC44ODk2NTUxNzI0LCAyLjg3NTg2MjA2OSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJ1dHRvbi5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmRpc2FibGVkLnBvc3QtZWRpdC1saW5rLCAuZGlzYWJsZWQuZm9ybWluYXRvci1idXR0b24sIC5idXR0b25bZGlzYWJsZWRdLCAuZWRpdC1saW5rIGFbZGlzYWJsZWRdLnBvc3QtZWRpdC1saW5rLCBbZGlzYWJsZWRdLmZvcm1pbmF0b3ItYnV0dG9uIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5idXR0b24uZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5kaXNhYmxlZC5wb3N0LWVkaXQtbGluaywgLmRpc2FibGVkLmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhW2Rpc2FibGVkXS5wb3N0LWVkaXQtbGluaywgW2Rpc2FibGVkXS5mb3JtaW5hdG9yLWJ1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODA1MTtcbiAgY29sb3I6ICNmZmY7XG59XG4uYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5lZGl0LWxpbmsgYS5kaXNhYmxlZC5wcmltYXJ5LnBvc3QtZWRpdC1saW5rLCAuZGlzYWJsZWQucHJpbWFyeS5mb3JtaW5hdG9yLWJ1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmVkaXQtbGluayBhW2Rpc2FibGVkXS5wcmltYXJ5LnBvc3QtZWRpdC1saW5rLCBbZGlzYWJsZWRdLnByaW1hcnkuZm9ybWluYXRvci1idXR0b24ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuZWRpdC1saW5rIGEuZGlzYWJsZWQucHJpbWFyeS5wb3N0LWVkaXQtbGluaywgLmRpc2FibGVkLnByaW1hcnkuZm9ybWluYXRvci1idXR0b24sIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuZWRpdC1saW5rIGFbZGlzYWJsZWRdLnByaW1hcnkucG9zdC1lZGl0LWxpbmssIFtkaXNhYmxlZF0ucHJpbWFyeS5mb3JtaW5hdG9yLWJ1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgwNTE7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5lZGl0LWxpbmsgYS5kaXNhYmxlZC5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbmssIC5kaXNhYmxlZC5zZWNvbmRhcnkuZm9ybWluYXRvci1idXR0b24sIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmVkaXQtbGluayBhW2Rpc2FibGVkXS5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbmssIFtkaXNhYmxlZF0uc2Vjb25kYXJ5LmZvcm1pbmF0b3ItYnV0dG9uIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuZWRpdC1saW5rIGEuZGlzYWJsZWQuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rLCAuZGlzYWJsZWQuc2Vjb25kYXJ5LmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLmVkaXQtbGluayBhW2Rpc2FibGVkXS5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbmssIFtkaXNhYmxlZF0uc2Vjb25kYXJ5LmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NUJCNTk7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuZWRpdC1saW5rIGEuZGlzYWJsZWQuc3VjY2Vzcy5wb3N0LWVkaXQtbGluaywgLmRpc2FibGVkLnN1Y2Nlc3MuZm9ybWluYXRvci1idXR0b24sIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5lZGl0LWxpbmsgYVtkaXNhYmxlZF0uc3VjY2Vzcy5wb3N0LWVkaXQtbGluaywgW2Rpc2FibGVkXS5zdWNjZXNzLmZvcm1pbmF0b3ItYnV0dG9uIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmVkaXQtbGluayBhLmRpc2FibGVkLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbmssIC5kaXNhYmxlZC5zdWNjZXNzLmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmVkaXQtbGluayBhW2Rpc2FibGVkXS5zdWNjZXNzLnBvc3QtZWRpdC1saW5rLCBbZGlzYWJsZWRdLnN1Y2Nlc3MuZm9ybWluYXRvci1idXR0b24sIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2NjNDdjO1xuICBjb2xvcjogIzNENDEzODtcbn1cbi5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmVkaXQtbGluayBhLmRpc2FibGVkLndhcm5pbmcucG9zdC1lZGl0LWxpbmssIC5kaXNhYmxlZC53YXJuaW5nLmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuZWRpdC1saW5rIGFbZGlzYWJsZWRdLndhcm5pbmcucG9zdC1lZGl0LWxpbmssIFtkaXNhYmxlZF0ud2FybmluZy5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5lZGl0LWxpbmsgYS5kaXNhYmxlZC53YXJuaW5nLnBvc3QtZWRpdC1saW5rLCAuZGlzYWJsZWQud2FybmluZy5mb3JtaW5hdG9yLWJ1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5lZGl0LWxpbmsgYVtkaXNhYmxlZF0ud2FybmluZy5wb3N0LWVkaXQtbGluaywgW2Rpc2FibGVkXS53YXJuaW5nLmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3YjczMztcbiAgY29sb3I6ICMzRDQxMzg7XG59XG4uYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuZWRpdC1saW5rIGEuZGlzYWJsZWQuYWxlcnQucG9zdC1lZGl0LWxpbmssIC5kaXNhYmxlZC5hbGVydC5mb3JtaW5hdG9yLWJ1dHRvbiwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5lZGl0LWxpbmsgYVtkaXNhYmxlZF0uYWxlcnQucG9zdC1lZGl0LWxpbmssIFtkaXNhYmxlZF0uYWxlcnQuZm9ybWluYXRvci1idXR0b24ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmVkaXQtbGluayBhLmRpc2FibGVkLmFsZXJ0LnBvc3QtZWRpdC1saW5rLCAuZGlzYWJsZWQuYWxlcnQuZm9ybWluYXRvci1idXR0b24sIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuZWRpdC1saW5rIGFbZGlzYWJsZWRdLmFsZXJ0LnBvc3QtZWRpdC1saW5rLCBbZGlzYWJsZWRdLmFsZXJ0LmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmM0YTFhO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5idXR0b24uaG9sbG93LCAuZWRpdC1saW5rIGEuaG9sbG93LnBvc3QtZWRpdC1saW5rLCAuaG9sbG93LmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuZWRpdC1saW5rIGEuaG9sbG93LmRpc2FibGVkLnBvc3QtZWRpdC1saW5rLCAuaG9sbG93LmRpc2FibGVkLmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmhvbGxvd1tkaXNhYmxlZF0ucG9zdC1lZGl0LWxpbmssIC5ob2xsb3dbZGlzYWJsZWRdLmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5ob2xsb3csIC5lZGl0LWxpbmsgYS5ob2xsb3cucG9zdC1lZGl0LWxpbmssIC5ob2xsb3cuZm9ybWluYXRvci1idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA4MDUxO1xuICBjb2xvcjogIzAwODA1MTtcbn1cbi5idXR0b24uaG9sbG93OmhvdmVyLCAuZWRpdC1saW5rIGEuaG9sbG93LnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuaG9sbG93LmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmVkaXQtbGluayBhLmhvbGxvdy5wb3N0LWVkaXQtbGluazpmb2N1cywgLmhvbGxvdy5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDAsIDY0LCA0MC41KTtcbiAgY29sb3I6IHJnYigwLCA2NCwgNDAuNSk7XG59XG4uYnV0dG9uLmhvbGxvdzpob3Zlci5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmhvbGxvdy5wb3N0LWVkaXQtbGluazpob3Zlci5kaXNhYmxlZCwgLmhvbGxvdy5mb3JtaW5hdG9yLWJ1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6aG92ZXJbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuaG9sbG93LnBvc3QtZWRpdC1saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmhvbGxvdy5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuaG9sbG93LnBvc3QtZWRpdC1saW5rOmZvY3VzLmRpc2FibGVkLCAuaG9sbG93LmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5ob2xsb3cucG9zdC1lZGl0LWxpbms6Zm9jdXNbZGlzYWJsZWRdLCAuaG9sbG93LmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDgwNTE7XG4gIGNvbG9yOiAjMDA4MDUxO1xufVxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSwgLmVkaXQtbGluayBhLmhvbGxvdy5wcmltYXJ5LnBvc3QtZWRpdC1saW5rLCAuaG9sbG93LnByaW1hcnkuZm9ybWluYXRvci1idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA4MDUxO1xuICBjb2xvcjogIzAwODA1MTtcbn1cbi5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5lZGl0LWxpbmsgYS5ob2xsb3cucHJpbWFyeS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmhvbGxvdy5wcmltYXJ5LmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLCAuZWRpdC1saW5rIGEuaG9sbG93LnByaW1hcnkucG9zdC1lZGl0LWxpbms6Zm9jdXMsIC5ob2xsb3cucHJpbWFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDAsIDY0LCA0MC41KTtcbiAgY29sb3I6IHJnYigwLCA2NCwgNDAuNSk7XG59XG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuaG9sbG93LnByaW1hcnkucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5ob2xsb3cucHJpbWFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5ob2xsb3cucHJpbWFyeS5wb3N0LWVkaXQtbGluazpob3ZlcltkaXNhYmxlZF0sIC5ob2xsb3cucHJpbWFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5ob2xsb3cucHJpbWFyeS5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmhvbGxvdy5wcmltYXJ5LmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmhvbGxvdy5wcmltYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzW2Rpc2FibGVkXSwgLmhvbGxvdy5wcmltYXJ5LmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDgwNTE7XG4gIGNvbG9yOiAjMDA4MDUxO1xufVxuLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LCAuZWRpdC1saW5rIGEuaG9sbG93LnNlY29uZGFyeS5wb3N0LWVkaXQtbGluaywgLmhvbGxvdy5zZWNvbmRhcnkuZm9ybWluYXRvci1idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzVCQjU5O1xuICBjb2xvcjogIzc1QkI1OTtcbn1cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmVkaXQtbGluayBhLmhvbGxvdy5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5ob2xsb3cuc2Vjb25kYXJ5LmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsIC5lZGl0LWxpbmsgYS5ob2xsb3cuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuaG9sbG93LnNlY29uZGFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDU2LjYxNTM4NDYxNTQsIDk3Ljg5NzQzNTg5NzQsIDQwLjEwMjU2NDEwMjYpO1xuICBjb2xvcjogcmdiKDU2LjYxNTM4NDYxNTQsIDk3Ljg5NzQzNTg5NzQsIDQwLjEwMjU2NDEwMjYpO1xufVxuLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuaG9sbG93LnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpob3Zlci5kaXNhYmxlZCwgLmhvbGxvdy5zZWNvbmRhcnkuZm9ybWluYXRvci1idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5ob2xsb3cuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmhvbGxvdy5zZWNvbmRhcnkuZm9ybWluYXRvci1idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5ob2xsb3cuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzLmRpc2FibGVkLCAuaG9sbG93LnNlY29uZGFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmhvbGxvdy5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbms6Zm9jdXNbZGlzYWJsZWRdLCAuaG9sbG93LnNlY29uZGFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzVCQjU5O1xuICBjb2xvcjogIzc1QkI1OTtcbn1cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC5lZGl0LWxpbmsgYS5ob2xsb3cuc3VjY2Vzcy5wb3N0LWVkaXQtbGluaywgLmhvbGxvdy5zdWNjZXNzLmZvcm1pbmF0b3ItYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNjYzQ3YztcbiAgY29sb3I6ICMzY2M0N2M7XG59XG4uYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuZWRpdC1saW5rIGEuaG9sbG93LnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5ob2xsb3cuc3VjY2Vzcy5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cywgLmVkaXQtbGluayBhLmhvbGxvdy5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuaG9sbG93LnN1Y2Nlc3MuZm9ybWluYXRvci1idXR0b246Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigyOS43MzIyODM0NjQ2LCA5OC4yNjc3MTY1MzU0LCA2MS45ODQyNTE5Njg1KTtcbiAgY29sb3I6IHJnYigyOS43MzIyODM0NjQ2LCA5OC4yNjc3MTY1MzU0LCA2MS45ODQyNTE5Njg1KTtcbn1cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5ob2xsb3cuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpob3Zlci5kaXNhYmxlZCwgLmhvbGxvdy5zdWNjZXNzLmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmhvbGxvdy5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmhvbGxvdy5zdWNjZXNzLmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmhvbGxvdy5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmZvY3VzLmRpc2FibGVkLCAuaG9sbG93LnN1Y2Nlc3MuZm9ybWluYXRvci1idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuaG9sbG93LnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6Zm9jdXNbZGlzYWJsZWRdLCAuaG9sbG93LnN1Y2Nlc3MuZm9ybWluYXRvci1idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNjYzQ3YztcbiAgY29sb3I6ICMzY2M0N2M7XG59XG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuZWRpdC1saW5rIGEuaG9sbG93Lndhcm5pbmcucG9zdC1lZGl0LWxpbmssIC5ob2xsb3cud2FybmluZy5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmN2I3MzM7XG4gIGNvbG9yOiAjZjdiNzMzO1xufVxuLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmVkaXQtbGluayBhLmhvbGxvdy53YXJuaW5nLnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuaG9sbG93Lndhcm5pbmcuZm9ybWluYXRvci1idXR0b246aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMsIC5lZGl0LWxpbmsgYS5ob2xsb3cud2FybmluZy5wb3N0LWVkaXQtbGluazpmb2N1cywgLmhvbGxvdy53YXJuaW5nLmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTQzLjM3NzM1ODQ5MDYsIDk4LjM5NjIyNjQxNTEsIDUuNjIyNjQxNTA5NCk7XG4gIGNvbG9yOiByZ2IoMTQzLjM3NzM1ODQ5MDYsIDk4LjM5NjIyNjQxNTEsIDUuNjIyNjQxNTA5NCk7XG59XG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuaG9sbG93Lndhcm5pbmcucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5ob2xsb3cud2FybmluZy5mb3JtaW5hdG9yLWJ1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5ob2xsb3cud2FybmluZy5wb3N0LWVkaXQtbGluazpob3ZlcltkaXNhYmxlZF0sIC5ob2xsb3cud2FybmluZy5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5ob2xsb3cud2FybmluZy5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmhvbGxvdy53YXJuaW5nLmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmhvbGxvdy53YXJuaW5nLnBvc3QtZWRpdC1saW5rOmZvY3VzW2Rpc2FibGVkXSwgLmhvbGxvdy53YXJuaW5nLmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmN2I3MzM7XG4gIGNvbG9yOiAjZjdiNzMzO1xufVxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQsIC5lZGl0LWxpbmsgYS5ob2xsb3cuYWxlcnQucG9zdC1lZGl0LWxpbmssIC5ob2xsb3cuYWxlcnQuZm9ybWluYXRvci1idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmM0YTFhO1xuICBjb2xvcjogI2ZjNGExYTtcbn1cbi5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuZWRpdC1saW5rIGEuaG9sbG93LmFsZXJ0LnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuaG9sbG93LmFsZXJ0LmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cywgLmVkaXQtbGluayBhLmhvbGxvdy5hbGVydC5wb3N0LWVkaXQtbGluazpmb2N1cywgLmhvbGxvdy5hbGVydC5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDEzNy4yMDI1ODYyMDY5LCAzMC41NTYwMzQ0ODI4LCAxLjc5NzQxMzc5MzEpO1xuICBjb2xvcjogcmdiKDEzNy4yMDI1ODYyMDY5LCAzMC41NTYwMzQ0ODI4LCAxLjc5NzQxMzc5MzEpO1xufVxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5ob2xsb3cuYWxlcnQucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5ob2xsb3cuYWxlcnQuZm9ybWluYXRvci1idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmhvbGxvdy5hbGVydC5wb3N0LWVkaXQtbGluazpob3ZlcltkaXNhYmxlZF0sIC5ob2xsb3cuYWxlcnQuZm9ybWluYXRvci1idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmhvbGxvdy5hbGVydC5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmhvbGxvdy5hbGVydC5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuaG9sbG93LmFsZXJ0LnBvc3QtZWRpdC1saW5rOmZvY3VzW2Rpc2FibGVkXSwgLmhvbGxvdy5hbGVydC5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmM0YTFhO1xuICBjb2xvcjogI2ZjNGExYTtcbn1cbi5idXR0b24uY2xlYXIsIC5lZGl0LWxpbmsgYS5jbGVhci5wb3N0LWVkaXQtbGluaywgLmNsZWFyLmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIuZGlzYWJsZWQucG9zdC1lZGl0LWxpbmssIC5jbGVhci5kaXNhYmxlZC5mb3JtaW5hdG9yLWJ1dHRvbiwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhcltkaXNhYmxlZF0ucG9zdC1lZGl0LWxpbmssIC5jbGVhcltkaXNhYmxlZF0uZm9ybWluYXRvci1idXR0b24sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhciwgLmVkaXQtbGluayBhLmNsZWFyLnBvc3QtZWRpdC1saW5rLCAuY2xlYXIuZm9ybWluYXRvci1idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA4MDUxO1xuICBjb2xvcjogIzAwODA1MTtcbn1cbi5idXR0b24uY2xlYXI6aG92ZXIsIC5lZGl0LWxpbmsgYS5jbGVhci5wb3N0LWVkaXQtbGluazpob3ZlciwgLmNsZWFyLmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbms6Zm9jdXMsIC5jbGVhci5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDAsIDY0LCA0MC41KTtcbiAgY29sb3I6IHJnYigwLCA2NCwgNDAuNSk7XG59XG4uYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5jbGVhci5mb3JtaW5hdG9yLWJ1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci5wb3N0LWVkaXQtbGluazpob3ZlcltkaXNhYmxlZF0sIC5jbGVhci5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmNsZWFyLmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmZvY3VzW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLnBvc3QtZWRpdC1saW5rOmZvY3VzW2Rpc2FibGVkXSwgLmNsZWFyLmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDgwNTE7XG4gIGNvbG9yOiAjMDA4MDUxO1xufVxuLmJ1dHRvbi5jbGVhciwgLmVkaXQtbGluayBhLmNsZWFyLnBvc3QtZWRpdC1saW5rLCAuY2xlYXIuZm9ybWluYXRvci1idXR0b24sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuZWRpdC1saW5rIGEuY2xlYXIucHJpbWFyeS5wb3N0LWVkaXQtbGluaywgLmNsZWFyLnByaW1hcnkuZm9ybWluYXRvci1idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA4MDUxO1xuICBjb2xvcjogIzAwODA1MTtcbn1cbi5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmVkaXQtbGluayBhLmNsZWFyLnByaW1hcnkucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5jbGVhci5wcmltYXJ5LmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC5lZGl0LWxpbmsgYS5jbGVhci5wcmltYXJ5LnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuY2xlYXIucHJpbWFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDAsIDY0LCA0MC41KTtcbiAgY29sb3I6IHJnYigwLCA2NCwgNDAuNSk7XG59XG4uYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci5wcmltYXJ5LnBvc3QtZWRpdC1saW5rOmhvdmVyLmRpc2FibGVkLCAuY2xlYXIucHJpbWFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLnByaW1hcnkucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuY2xlYXIucHJpbWFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmNsZWFyLnByaW1hcnkucG9zdC1lZGl0LWxpbms6Zm9jdXMuZGlzYWJsZWQsIC5jbGVhci5wcmltYXJ5LmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIucHJpbWFyeS5wb3N0LWVkaXQtbGluazpmb2N1c1tkaXNhYmxlZF0sIC5jbGVhci5wcmltYXJ5LmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDgwNTE7XG4gIGNvbG9yOiAjMDA4MDUxO1xufVxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuZWRpdC1saW5rIGEuY2xlYXIucHJpbWFyeS5wb3N0LWVkaXQtbGluaywgLmNsZWFyLnByaW1hcnkuZm9ybWluYXRvci1idXR0b24sIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuZWRpdC1saW5rIGEuY2xlYXIuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rLCAuY2xlYXIuc2Vjb25kYXJ5LmZvcm1pbmF0b3ItYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc1QkI1OTtcbiAgY29sb3I6ICM3NUJCNTk7XG59XG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmVkaXQtbGluayBhLmNsZWFyLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmNsZWFyLnNlY29uZGFyeS5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5lZGl0LWxpbmsgYS5jbGVhci5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbms6Zm9jdXMsIC5jbGVhci5zZWNvbmRhcnkuZm9ybWluYXRvci1idXR0b246Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYig1Ni42MTUzODQ2MTU0LCA5Ny44OTc0MzU4OTc0LCA0MC4xMDI1NjQxMDI2KTtcbiAgY29sb3I6IHJnYig1Ni42MTUzODQ2MTU0LCA5Ny44OTc0MzU4OTc0LCA0MC4xMDI1NjQxMDI2KTtcbn1cbi5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOmhvdmVyLmRpc2FibGVkLCAuY2xlYXIuc2Vjb25kYXJ5LmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbms6aG92ZXJbZGlzYWJsZWRdLCAuY2xlYXIuc2Vjb25kYXJ5LmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci5zZWNvbmRhcnkucG9zdC1lZGl0LWxpbms6Zm9jdXMuZGlzYWJsZWQsIC5jbGVhci5zZWNvbmRhcnkuZm9ybWluYXRvci1idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluazpmb2N1c1tkaXNhYmxlZF0sIC5jbGVhci5zZWNvbmRhcnkuZm9ybWluYXRvci1idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc1QkI1OTtcbiAgY29sb3I6ICM3NUJCNTk7XG59XG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmVkaXQtbGluayBhLmNsZWFyLnNlY29uZGFyeS5wb3N0LWVkaXQtbGluaywgLmNsZWFyLnNlY29uZGFyeS5mb3JtaW5hdG9yLWJ1dHRvbiwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uY2xlYXIuc3VjY2VzcywgLmVkaXQtbGluayBhLmNsZWFyLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbmssIC5jbGVhci5zdWNjZXNzLmZvcm1pbmF0b3ItYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNjYzQ3YztcbiAgY29sb3I6ICMzY2M0N2M7XG59XG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5lZGl0LWxpbmsgYS5jbGVhci5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuY2xlYXIuc3VjY2Vzcy5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuZWRpdC1saW5rIGEuY2xlYXIuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpmb2N1cywgLmNsZWFyLnN1Y2Nlc3MuZm9ybWluYXRvci1idXR0b246Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigyOS43MzIyODM0NjQ2LCA5OC4yNjc3MTY1MzU0LCA2MS45ODQyNTE5Njg1KTtcbiAgY29sb3I6IHJnYigyOS43MzIyODM0NjQ2LCA5OC4yNjc3MTY1MzU0LCA2MS45ODQyNTE5Njg1KTtcbn1cbi5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmVkaXQtbGluayBhLmNsZWFyLnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5jbGVhci5zdWNjZXNzLmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEuY2xlYXIuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpob3ZlcltkaXNhYmxlZF0sIC5jbGVhci5zdWNjZXNzLmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIuc3VjY2Vzcy5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmNsZWFyLnN1Y2Nlc3MuZm9ybWluYXRvci1idXR0b246Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci5zdWNjZXNzLnBvc3QtZWRpdC1saW5rOmZvY3VzW2Rpc2FibGVkXSwgLmNsZWFyLnN1Y2Nlc3MuZm9ybWluYXRvci1idXR0b246Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNjYzQ3YztcbiAgY29sb3I6ICMzY2M0N2M7XG59XG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5lZGl0LWxpbmsgYS5jbGVhci5zdWNjZXNzLnBvc3QtZWRpdC1saW5rLCAuY2xlYXIuc3VjY2Vzcy5mb3JtaW5hdG9yLWJ1dHRvbiwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuZWRpdC1saW5rIGEuY2xlYXIud2FybmluZy5wb3N0LWVkaXQtbGluaywgLmNsZWFyLndhcm5pbmcuZm9ybWluYXRvci1idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjdiNzMzO1xuICBjb2xvcjogI2Y3YjczMztcbn1cbi5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmVkaXQtbGluayBhLmNsZWFyLndhcm5pbmcucG9zdC1lZGl0LWxpbms6aG92ZXIsIC5jbGVhci53YXJuaW5nLmZvcm1pbmF0b3ItYnV0dG9uOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5lZGl0LWxpbmsgYS5jbGVhci53YXJuaW5nLnBvc3QtZWRpdC1saW5rOmZvY3VzLCAuY2xlYXIud2FybmluZy5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDE0My4zNzczNTg0OTA2LCA5OC4zOTYyMjY0MTUxLCA1LjYyMjY0MTUwOTQpO1xuICBjb2xvcjogcmdiKDE0My4zNzczNTg0OTA2LCA5OC4zOTYyMjY0MTUxLCA1LjYyMjY0MTUwOTQpO1xufVxuLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIud2FybmluZy5wb3N0LWVkaXQtbGluazpob3Zlci5kaXNhYmxlZCwgLmNsZWFyLndhcm5pbmcuZm9ybWluYXRvci1idXR0b246aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci53YXJuaW5nLnBvc3QtZWRpdC1saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmNsZWFyLndhcm5pbmcuZm9ybWluYXRvci1idXR0b246aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci53YXJuaW5nLnBvc3QtZWRpdC1saW5rOmZvY3VzLmRpc2FibGVkLCAuY2xlYXIud2FybmluZy5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLndhcm5pbmcucG9zdC1lZGl0LWxpbms6Zm9jdXNbZGlzYWJsZWRdLCAuY2xlYXIud2FybmluZy5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjdiNzMzO1xuICBjb2xvcjogI2Y3YjczMztcbn1cbi5idXR0b24uY2xlYXIud2FybmluZywgLmVkaXQtbGluayBhLmNsZWFyLndhcm5pbmcucG9zdC1lZGl0LWxpbmssIC5jbGVhci53YXJuaW5nLmZvcm1pbmF0b3ItYnV0dG9uLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLmNsZWFyLmFsZXJ0LCAuZWRpdC1saW5rIGEuY2xlYXIuYWxlcnQucG9zdC1lZGl0LWxpbmssIC5jbGVhci5hbGVydC5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmYzRhMWE7XG4gIGNvbG9yOiAjZmM0YTFhO1xufVxuLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmVkaXQtbGluayBhLmNsZWFyLmFsZXJ0LnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuY2xlYXIuYWxlcnQuZm9ybWluYXRvci1idXR0b246aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5lZGl0LWxpbmsgYS5jbGVhci5hbGVydC5wb3N0LWVkaXQtbGluazpmb2N1cywgLmNsZWFyLmFsZXJ0LmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTM3LjIwMjU4NjIwNjksIDMwLjU1NjAzNDQ4MjgsIDEuNzk3NDEzNzkzMSk7XG4gIGNvbG9yOiByZ2IoMTM3LjIwMjU4NjIwNjksIDMwLjU1NjAzNDQ4MjgsIDEuNzk3NDEzNzkzMSk7XG59XG4uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuZWRpdC1saW5rIGEuY2xlYXIuYWxlcnQucG9zdC1lZGl0LWxpbms6aG92ZXIuZGlzYWJsZWQsIC5jbGVhci5hbGVydC5mb3JtaW5hdG9yLWJ1dHRvbjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5jbGVhci5hbGVydC5wb3N0LWVkaXQtbGluazpob3ZlcltkaXNhYmxlZF0sIC5jbGVhci5hbGVydC5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5lZGl0LWxpbmsgYS5jbGVhci5hbGVydC5wb3N0LWVkaXQtbGluazpmb2N1cy5kaXNhYmxlZCwgLmNsZWFyLmFsZXJ0LmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLmNsZWFyLmFsZXJ0LnBvc3QtZWRpdC1saW5rOmZvY3VzW2Rpc2FibGVkXSwgLmNsZWFyLmFsZXJ0LmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmYzRhMWE7XG4gIGNvbG9yOiAjZmM0YTFhO1xufVxuLmJ1dHRvbi5jbGVhci5hbGVydCwgLmVkaXQtbGluayBhLmNsZWFyLmFsZXJ0LnBvc3QtZWRpdC1saW5rLCAuY2xlYXIuYWxlcnQuZm9ybWluYXRvci1idXR0b24sIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIsIC5lZGl0LWxpbmsgYS5kcm9wZG93bi5wb3N0LWVkaXQtbGluazo6YWZ0ZXIsIC5kcm9wZG93bi5mb3JtaW5hdG9yLWJ1dHRvbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDAuNGVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmVkaXQtbGluayBhLmRyb3Bkb3duLmhvbGxvdy5wb3N0LWVkaXQtbGluazo6YWZ0ZXIsIC5kcm9wZG93bi5ob2xsb3cuZm9ybWluYXRvci1idXR0b246OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwODA1MTtcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuZWRpdC1saW5rIGEuZHJvcGRvd24uaG9sbG93LnByaW1hcnkucG9zdC1lZGl0LWxpbms6OmFmdGVyLCAuZHJvcGRvd24uaG9sbG93LnByaW1hcnkuZm9ybWluYXRvci1idXR0b246OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwODA1MTtcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC5lZGl0LWxpbmsgYS5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5LnBvc3QtZWRpdC1saW5rOjphZnRlciwgLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnkuZm9ybWluYXRvci1idXR0b246OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzc1QkI1OTtcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuZWRpdC1saW5rIGEuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3MucG9zdC1lZGl0LWxpbms6OmFmdGVyLCAuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3MuZm9ybWluYXRvci1idXR0b246OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzNjYzQ3Yztcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAuZWRpdC1saW5rIGEuZHJvcGRvd24uaG9sbG93Lndhcm5pbmcucG9zdC1lZGl0LWxpbms6OmFmdGVyLCAuZHJvcGRvd24uaG9sbG93Lndhcm5pbmcuZm9ybWluYXRvci1idXR0b246OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2Y3YjczMztcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmVkaXQtbGluayBhLmRyb3Bkb3duLmhvbGxvdy5hbGVydC5wb3N0LWVkaXQtbGluazo6YWZ0ZXIsIC5kcm9wZG93bi5ob2xsb3cuYWxlcnQuZm9ybWluYXRvci1idXR0b246OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZjNGExYTtcbn1cbi5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIsIC5lZGl0LWxpbmsgYS5hcnJvdy1vbmx5LnBvc3QtZWRpdC1saW5rOjphZnRlciwgLmFycm93LW9ubHkuZm9ybWluYXRvci1idXR0b246OmFmdGVyIHtcbiAgdG9wOiAtMC4xZW07XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuYS5idXR0b246aG92ZXIsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpob3ZlciwgYS5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlciwgYS5idXR0b246Zm9jdXMsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpmb2N1cywgYS5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuW3R5cGU9dGV4dF0sIFt0eXBlPXBhc3N3b3JkXSwgW3R5cGU9ZGF0ZV0sIFt0eXBlPWRhdGV0aW1lXSwgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLCBbdHlwZT1tb250aF0sIFt0eXBlPXdlZWtdLCBbdHlwZT1lbWFpbF0sIFt0eXBlPW51bWJlcl0sIFt0eXBlPXNlYXJjaF0sIFt0eXBlPXRlbF0sIFt0eXBlPXRpbWVdLCBbdHlwZT11cmxdLCBbdHlwZT1jb2xvcl0sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EzYTNhMztcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSg2MSwgNjUsIDU2LCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzNENDEzODtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5bdHlwZT10ZXh0XTpmb2N1cywgW3R5cGU9cGFzc3dvcmRdOmZvY3VzLCBbdHlwZT1kYXRlXTpmb2N1cywgW3R5cGU9ZGF0ZXRpbWVdOmZvY3VzLCBbdHlwZT1kYXRldGltZS1sb2NhbF06Zm9jdXMsIFt0eXBlPW1vbnRoXTpmb2N1cywgW3R5cGU9d2Vla106Zm9jdXMsIFt0eXBlPWVtYWlsXTpmb2N1cywgW3R5cGU9bnVtYmVyXTpmb2N1cywgW3R5cGU9c2VhcmNoXTpmb2N1cywgW3R5cGU9dGVsXTpmb2N1cywgW3R5cGU9dGltZV06Zm9jdXMsIFt0eXBlPXVybF06Zm9jdXMsIFt0eXBlPWNvbG9yXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAjYTNhM2EzO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblt0eXBlPXRleHRdLCBbdHlwZT1wYXNzd29yZF0sIFt0eXBlPWRhdGVdLCBbdHlwZT1kYXRldGltZV0sIFt0eXBlPWRhdGV0aW1lLWxvY2FsXSwgW3R5cGU9bW9udGhdLCBbdHlwZT13ZWVrXSwgW3R5cGU9ZW1haWxdLCBbdHlwZT1udW1iZXJdLCBbdHlwZT1zZWFyY2hdLCBbdHlwZT10ZWxdLCBbdHlwZT10aW1lXSwgW3R5cGU9dXJsXSwgW3R5cGU9Y29sb3JdLFxudGV4dGFyZWEge1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbnRleHRhcmVhW3Jvd3NdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2EzYTNhMztcbn1cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5bdHlwZT1maWxlXSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblt0eXBlPWNoZWNrYm94XSArIGxhYmVsLFxuW3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuW3R5cGU9Y2hlY2tib3hdICsgbGFiZWxbZm9yXSxcblt0eXBlPXJhZGlvXSArIGxhYmVsW2Zvcl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmxhYmVsID4gW3R5cGU9Y2hlY2tib3hdLFxubGFiZWwgPiBbdHlwZT1yYWRpb10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuW3R5cGU9ZmlsZV0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzNENDEzODtcbn1cbmxhYmVsLm1pZGRsZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAwO1xufVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMzRDQxMzg7XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cbi5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbSAwIDAgMC4xODc1cmVtO1xufVxuLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjE4NzVyZW0gMC4xODc1cmVtIDA7XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhM2EzYTM7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjM0Q0MTM4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG59XG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EzYTNhMztcbn1cbi5maWVsZHNldCBsZWdlbmQge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICBwYWRkaW5nOiAwIDAuMTg3NXJlbTtcbn1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EzYTNhMztcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjg2MSwgNjUsIDU2JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCApIHtcbiAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICB9XG59XG5zZWxlY3Qge1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAjYTNhM2EzO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cbnNlbGVjdDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuc2VsZWN0W211bHRpcGxlXSB7XG4gIGhlaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNmYzRhMWE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTQuNywgMjM2LjksIDIzMi4xKTtcbn1cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZmM0YTFhO1xufVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjZmM0YTFhO1xufVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNmYzRhMWE7XG59XG4uZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbi5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW0gMC4xODc1cmVtIDAgMDtcbn1cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC4xODc1cmVtIDAuMTg3NXJlbTtcbn1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwMDgwNTE7XG59XG46bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjE4NzVyZW0gMC4xODc1cmVtO1xufVxuLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG59XG4uYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgY29udGVudDogXCIrXCI7XG59XG4uaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJNcIjtcbn1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMzRDQxMzg7XG59XG46bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG59XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwO1xufVxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMDtcbn1cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgcmlnaHQ6IDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbn1cbi5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPXRydWVdOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbn1cbi5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNhbGxvdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBjb2xvcjogIzNENDEzODtcbn1cbi5jYWxsb3V0LnByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMzRDQxMzg7XG59XG4uY2FsbG91dC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMzRDQxMzg7XG59XG4uY2FsbG91dC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuLmNhbGxvdXQud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzNENDEzODtcbn1cbi5jYWxsb3V0LmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuLmNhbGxvdXQuc21hbGwge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuLmNhbGxvdXQubGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIHBhZGRpbmctbGVmdDogM3JlbTtcbn1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMzRDQxMzg7XG59XG4uY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xufVxuLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7XG59XG5cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmNsb3NlLWJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzNENDEzODtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gIHJpZ2h0OiAwLjY2cmVtO1xuICB0b3A6IDAuMzNlbTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4uY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5tZW51IGxpIHtcbiAgb3V0bGluZTogMDtcbn1cbi5tZW51IGEsXG4ubWVudSAuYnV0dG9uLFxuLm1lbnUgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rLFxuLmVkaXQtbGluayAubWVudSBhLnBvc3QtZWRpdC1saW5rLFxuLm1lbnUgLmZvcm1pbmF0b3ItYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG59XG4ubWVudSBpbnB1dCxcbi5tZW51IHNlbGVjdCxcbi5tZW51IGEsXG4ubWVudSBidXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm1lbnUgaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5tZW51LnZlcnRpY2FsIHtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4ubWVudS5leHBhbmRlZCBsaSB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG4ubWVudS5zaW1wbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbi5tZW51LnNpbXBsZSBhIHtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuLm1lbnUubmVzdGVkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbi5tZW51Lmljb25zIGEge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm1lbnUuaWNvbi10b3AgYSwgLm1lbnUuaWNvbi1yaWdodCBhLCAubWVudS5pY29uLWJvdHRvbSBhLCAubWVudS5pY29uLWxlZnQgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ubWVudS5pY29uLWxlZnQgbGkgYSB7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cbi5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbi5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4ubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG4ubWVudS5pY29uLXJpZ2h0IGxpIGEge1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG59XG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG59XG4ubWVudS5pY29uLXRvcCBsaSBhIHtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4ubWVudS5pY29uLXRvcCBsaSBhIGksXG4ubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG59XG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbi5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbi5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7XG59XG4ubWVudSAuYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5tZW51LmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4ubWVudSAubWVudS10ZXh0IHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5tZW51LWljb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZmZiwgMCAxNHB4IDAgI2ZmZjtcbiAgY29udGVudDogXCJcIjtcbn1cbi5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2EzYTNhMztcbiAgYm94LXNoYWRvdzogMCA3cHggMCAjYTNhM2EzLCAwIDE0cHggMCAjYTNhM2EzO1xufVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjM0Q0MTM4O1xuICBib3gtc2hhZG93OiAwIDdweCAwICMzRDQxMzgsIDAgMTRweCAwICMzRDQxMzg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4ubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzNENDEzODtcbiAgYm94LXNoYWRvdzogMCA3cHggMCAjM0Q0MTM4LCAwIDE0cHggMCAjM0Q0MTM4O1xufVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmlzLWRyaWxsZG93biBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xufVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDA7XG59XG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTZweDtcbiAgcmlnaHQ6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwODA1MTtcbn1cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDA4MDUxO1xufVxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDA4MDUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDgwNTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG59XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDE4Ljc1cmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhM2EzYTM7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwO1xufVxuLmRyb3Bkb3duLm1lbnUgYSB7XG4gIHBhZGRpbmc6IDA7XG59XG4uZHJvcGRvd24ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2U2ZTZlNjtcbn1cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogMDtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxufVxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7XG59XG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTZweDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiA5LjM3NXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjNzVCQjU5O1xufVxuLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbi5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbi5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4uZmxleC12aWRlbyBpZnJhbWUsXG4uZmxleC12aWRlbyBvYmplY3QsXG4uZmxleC12aWRlbyBlbWJlZCxcbi5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMwMDgwNTE7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmxhYmVsLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMDA4MDUxO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5sYWJlbC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjNzVCQjU5O1xuICBjb2xvcjogIzNENDEzODtcbn1cbi5sYWJlbC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogIzNjYzQ3YztcbiAgY29sb3I6ICMzRDQxMzg7XG59XG4ubGFiZWwud2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmN2I3MzM7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuLmxhYmVsLmFsZXJ0IHtcbiAgYmFja2dyb3VuZDogI2ZjNGExYTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cbi5tZWRpYS1vYmplY3QgaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87XG59XG4ubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG5cbi5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4ucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4ucGFnaW5hdGlvbiBsaSB7XG4gIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbi5wYWdpbmF0aW9uIGEsXG4ucGFnaW5hdGlvbiBidXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuLnBhZ2luYXRpb24gYTpob3Zlcixcbi5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG59XG4ucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogIzAwODA1MTtcbiAgY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgY29sb3I6ICNhM2EzYTM7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGNvbnRlbnQ6IFwi4oCmXCI7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogXCLCq1wiO1xufVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6IFwiwrtcIjtcbn1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnJldmVhbCB7XG4gIG91dGxpbmU6IDA7XG59XG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTNhM2EzO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG4ucmV2ZWFsIC5jb2x1bW4ge1xuICBtaW4td2lkdGg6IDA7XG59XG4ucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gIH1cbn1cbi5yZXZlYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4ucmV2ZWFsLmNvbGxhcHNlIHtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwudGlueSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLnNtYWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwubGFyZ2Uge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgfVxufVxuLnJldmVhbC5mdWxsIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5yZXZlYWwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbn1cbnRoZWFkLFxudGJvZHksXG50Zm9vdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyNDIuMjUsIDI0Mi4yNSwgMjQyLjI1KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxudGhlYWQge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjQ4LjYyNSwgMjQ4LjYyNSwgMjQ4LjYyNSk7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuXG50Zm9vdCB7XG4gIGJhY2tncm91bmQ6IHJnYigyNDIuMjUsIDI0Mi4yNSwgMjQyLjI1KTtcbiAgY29sb3I6ICMzRDQxMzg7XG59XG5cbnRoZWFkIHRyLFxudGZvb3QgdHIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbnRoZWFkIHRoLFxudGhlYWQgdGQsXG50Zm9vdCB0aCxcbnRmb290IHRkIHtcbiAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50Ym9keSB0aCxcbnRib2R5IHRkIHtcbiAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xufVxuXG50Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQyLjI1LCAyNDIuMjUsIDI0Mi4yNSk7XG59XG5cbnRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMjQyLjI1LCAyNDIuMjUsIDI0Mi4yNSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG50YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDMuNTI1LCAyNDMuNTI1LCAyNDMuNTI1KTtcbn1cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzNy4xNSwgMjM3LjE1LCAyMzcuMTUpO1xufVxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5LjksIDI0OS45LCAyNDkuOSk7XG59XG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM3LjE1LCAyMzcuMTUsIDIzNy4xNSk7XG59XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLnRhYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7XG59XG4udGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMwMDgwNTE7XG59XG4udGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4udGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogcmdiKDAsIDE0Ny4xLCA5My4wODY3MTg3NSk7XG59XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4udGFicy10aXRsZSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMDA4MDUxO1xufVxuLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6IHJnYigwLCAxMTAuMDgsIDY5LjY2KTtcbn1cbi50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kOiAjMDA4MDUxO1xuICBjb2xvcjogI2U2ZTZlNjtcbn1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzNENDEzODtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG4udGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDYxLCA2NSwgNTYsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG59XG5hLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDAsIDEyOCwgODEsIDAuNSk7XG59XG5hLnRodW1ibmFpbCBpbWFnZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7XG59XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7XG59XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7XG59XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7XG59XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7XG59XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxufVxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvO1xufVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xufVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDtcbn1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50O1xufVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xufVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDtcbn1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50O1xufVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7XG59XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpO1xuICB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTtcbiAgfVxufVxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7XG59XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG59XG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pO1xuICB9XG59XG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjtcbn1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpO1xuICB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpO1xuICB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbn1cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7XG59XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG59XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDtcbn1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDtcbn1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50O1xufVxuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuLnRvcC1wYWQsIC50b3AtYnRtLXBhZCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xufVxuXG4uYnRtLXBhZCwgLnRvcC1idG0tcGFkIHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG5cbi5oYWxmLXRvcC1wYWQge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLmhhbGYtYnRtLW1hciB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4uZG91YmxlLXRvcC1wYWQge1xuICBwYWRkaW5nLXRvcDogODBweDtcbn1cblxuLmRvdWJsZS1idG0tcGFkIHtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC50b3AtcGFkLCAudG9wLWJ0bS1wYWQge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG4gIC5idG0tcGFkLCAudG9wLWJ0bS1wYWQge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG4gIC5oYWxmLXRvcC1wYWQge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICB9XG4gIC5oYWxmLWJ0bS1tYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICB9XG4gIC5kb3VibGUtdG9wLXBhZCB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICB9XG4gIC5kb3VibGUtYnRtLXBhZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudG9wLXBhZCwgLnRvcC1idG0tcGFkIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxuICAuYnRtLXBhZCwgLnRvcC1idG0tcGFkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxuICAuaGFsZi10b3AtcGFkIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgfVxuICAuaGFsZi1idG0tcGFkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuICAuZG91YmxlLXRvcC1wYWQge1xuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgfVxuICAuZG91YmxlLWJ0bS1wYWQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgfVxufVxuLnRvcC1tYXIsIC50b3AtYnRtLW1hciB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5idG0tbWFyLCAudG9wLWJ0bS1tYXIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uaGFsZi10b3AtbWFyIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmhhbGYtYnRtLW1hciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC50b3AtbWFyLCAudG9wLWJ0bS1tYXIge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cbiAgLmJ0bS1tYXIsIC50b3AtYnRtLW1hciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuICAuaGFsZi10b3AtbWFyIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICB9XG4gIC5oYWxmLWJ0bS1tYXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50b3AtbWFyLCAudG9wLWJ0bS1tYXIge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbiAgLmJ0bS1tYXIsIC50b3AtYnRtLW1hciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuICAuaGFsZi10b3AtbWFyIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG4gIC5oYWxmLWJ0bS1tYXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cbi5idXR0b24udGlueSwgLmVkaXQtbGluayBhLnRpbnkucG9zdC1lZGl0LWxpbmssIC50aW55LmZvcm1pbmF0b3ItYnV0dG9uIHtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDAuNXJlbSAwLjI1cmVtIDAuNXJlbTtcbn1cbi5idXR0b24udGlueSAubWFpbi10ZXh0LCAuZWRpdC1saW5rIGEudGlueS5wb3N0LWVkaXQtbGluayAubWFpbi10ZXh0LCAudGlueS5mb3JtaW5hdG9yLWJ1dHRvbiAubWFpbi10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cbi5idXR0b24udGlueSBwLCAuZWRpdC1saW5rIGEudGlueS5wb3N0LWVkaXQtbGluayBwLCAudGlueS5mb3JtaW5hdG9yLWJ1dHRvbiBwIHtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtO1xufVxuLmJ1dHRvbi5sYXJnZSAubWFpbi10ZXh0LCAuZWRpdC1saW5rIGEubGFyZ2UucG9zdC1lZGl0LWxpbmsgLm1haW4tdGV4dCwgLmxhcmdlLmZvcm1pbmF0b3ItYnV0dG9uIC5tYWluLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmJ1dHRvbi5sYXJnZSBwLCAuZWRpdC1saW5rIGEubGFyZ2UucG9zdC1lZGl0LWxpbmsgcCwgLmxhcmdlLmZvcm1pbmF0b3ItYnV0dG9uIHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmJ1dHRvbi5sYXJnZSAubWFpbi10ZXh0LCAuZWRpdC1saW5rIGEubGFyZ2UucG9zdC1lZGl0LWxpbmsgLm1haW4tdGV4dCwgLmxhcmdlLmZvcm1pbmF0b3ItYnV0dG9uIC5tYWluLXRleHQge1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cbi5idXR0b24ubGFyZ2UgcCwgLmVkaXQtbGluayBhLmxhcmdlLnBvc3QtZWRpdC1saW5rIHAsIC5sYXJnZS5mb3JtaW5hdG9yLWJ1dHRvbiBwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmJ1dHRvbi5sYXJnZSAubWFpbi10ZXh0LCAuZWRpdC1saW5rIGEubGFyZ2UucG9zdC1lZGl0LWxpbmsgLm1haW4tdGV4dCwgLmxhcmdlLmZvcm1pbmF0b3ItYnV0dG9uIC5tYWluLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuICAuYnV0dG9uLmxhcmdlIHAsIC5lZGl0LWxpbmsgYS5sYXJnZS5wb3N0LWVkaXQtbGluayBwLCAubGFyZ2UuZm9ybWluYXRvci1idXR0b24gcCB7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIH1cbn1cblxuLmJ1dHRvbi5uby1idG0tbWFyLCAuZWRpdC1saW5rIGEubm8tYnRtLW1hci5wb3N0LWVkaXQtbGluaywgLm5vLWJ0bS1tYXIuZm9ybWluYXRvci1idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYnV0dG9uLnNlY29uZGFyeS1idG4tY29sb3IsIC5lZGl0LWxpbmsgYS5zZWNvbmRhcnktYnRuLWNvbG9yLnBvc3QtZWRpdC1saW5rLCAuc2Vjb25kYXJ5LWJ0bi1jb2xvci5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NUJCNTk7XG4gIGNvbG9yOiAjMDA4MDUxO1xufVxuXG4uYnV0dG9uLnN1Y2Nlc3MtYnRuLWNvbG9yLCAuZWRpdC1saW5rIGEuc3VjY2Vzcy1idG4tY29sb3IucG9zdC1lZGl0LWxpbmssIC5zdWNjZXNzLWJ0bi1jb2xvci5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzY2M0N2M7XG4gIGNvbG9yOiAjMDA4MDUxO1xufVxuXG4uYnV0dG9uLndhcm5pbmctYnRuLWNvbG9yLCAuZWRpdC1saW5rIGEud2FybmluZy1idG4tY29sb3IucG9zdC1lZGl0LWxpbmssIC53YXJuaW5nLWJ0bi1jb2xvci5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2I3MzM7XG4gIGNvbG9yOiAjMDA4MDUxO1xufVxuXG4uYnV0dG9uLmFsZXJ0LWJ0bi1jb2xvciwgLmVkaXQtbGluayBhLmFsZXJ0LWJ0bi1jb2xvci5wb3N0LWVkaXQtbGluaywgLmFsZXJ0LWJ0bi1jb2xvci5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYzRhMWE7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnV0dG9uLmdyYXktYnRuLWNvbG9yLCAuZWRpdC1saW5rIGEuZ3JheS1idG4tY29sb3IucG9zdC1lZGl0LWxpbmssIC5ncmF5LWJ0bi1jb2xvci5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhM2EzYTM7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnV0dG9uLndoaXRlLWJ0bi1jb2xvciwgLmVkaXQtbGluayBhLndoaXRlLWJ0bi1jb2xvci5wb3N0LWVkaXQtbGluaywgLndoaXRlLWJ0bi1jb2xvci5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjM0Q0MTM4O1xufVxuXG5wLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSxcbmxpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBmb250LXNpemUgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBmb250LXNpemUgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBmb250LXNpemUgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi50eHQtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5sZy10ZXh0IHtcbiAgZm9udC1zaXplOiAxMTUlO1xufVxuLmxnLXRleHQgaDEge1xuICBmb250LXNpemU6IDQuMzc1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubGctdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNTAlO1xuICB9XG4gIC5sZy10ZXh0IGgxIHtcbiAgICBmb250LXNpemU6IDVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sZy10ZXh0IHtcbiAgICBmb250LXNpemU6IDE1MCU7XG4gIH1cbiAgLmxnLXRleHQgaDEge1xuICAgIGZvbnQtc2l6ZTogNy41cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5sZy10ZXh0IHtcbiAgICBmb250LXNpemU6IDIwMCU7XG4gIH1cbiAgLmxnLXRleHQgaDEge1xuICAgIGZvbnQtc2l6ZTogMTByZW07XG4gIH1cbn1cbi8qIEZpeCBuZWdhdGl2ZSBtYXJnaW5zIG9uIHRoZSBncmlkIGVsZW1lbnRzICovXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTEuNTYyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNTYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEuNTYyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTtcbiAgfVxufVxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjU2MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjg3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEuODc1cmVtO1xuICB9XG59XG4uZ2FsbGVyeSB7XG4gIG1hcmdpbi1yaWdodDogLTEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdhbGxlcnkge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNTYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEuNTYyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdhbGxlcnkge1xuICAgIG1hcmdpbi1yaWdodDogLTEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zbWFsbC1jb250ZW50IC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMS4yNXJlbSk7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuMzEyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNtYWxsLWNvbnRlbnQgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMS4yNXJlbSk7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuMzEyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC55ZWxsb3ctYmFja2dyb3VuZC1zaGFwZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDIwNCwgMTI3LCAwLjI1KTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC55ZWxsb3ctYmFja2dyb3VuZC1zaGFwZS5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuNzVyZW07XG4gIH1cbn1cbi55ZWxsb3ctYmFja2dyb3VuZC1zaGFwZSAudGMtc2ItY29udGVudCAuYnV0dG9uLCAueWVsbG93LWJhY2tncm91bmQtc2hhcGUgLnRjLXNiLWNvbnRlbnQgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rLCAuZWRpdC1saW5rIC55ZWxsb3ctYmFja2dyb3VuZC1zaGFwZSAudGMtc2ItY29udGVudCBhLnBvc3QtZWRpdC1saW5rLCAueWVsbG93LWJhY2tncm91bmQtc2hhcGUgLnRjLXNiLWNvbnRlbnQgLmZvcm1pbmF0b3ItYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xufVxuLnllbGxvdy1iYWNrZ3JvdW5kLXNoYXBlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciBpbWcge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnllbGxvdy1iYWNrZ3JvdW5kLXNoYXBlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueWVsbG93LWJhY2tncm91bmQtc2hhcGUgLnRjLXNiLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTE5Mi4wMzFcIiBoZWlnaHQ9XCIzNjAuOTYxXCIgdmlld0JveD1cIjAgMCAxMTkyLjAzMSAzNjAuOTYxXCI+PHBhdGggaWQ9XCJhLW1hbi1zZWF0ZWQtYXQtYS1jb21wdXRlci1zY3JlZW4td29ya2luZy1vbi1oaXMtby0yMDI2LTAxLTA5LTA4LTM2LTUyLXV0Yy1Db2xvdXJpemVkXCIgZD1cIk0xMjc3Ljg3NywzNjMuODYxbC05OTkuOTE4LS41Yy01Ny45NDgsMC04NS4zMjctMzMuOTI5LTc1LjkyMi05My40NzRMMjMxLjYsODMuMTg4QzIzOS42NjMsMzIuMjk0LDI2OC4zODUsMi45LDMyMy41NjIsMi45aDk5OC42NTljNDIuOTE1LDAsNzguNDQsMjguOTc0LDY4LjI3OCw5My40NzRsLTMxLjMyNiwxOTcuOTQ5QTgyLjM5Miw4Mi4zOTIsMCwwLDEsMTI3Ny44NzcsMzYzLjg2MVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIwMC4yMiAtMi45KVwiIGZpbGw9XCIlMjNmMGNjN2ZcIiBvcGFjaXR5PVwiMC4yNDZcIi8+PC9zdmc+Jyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgcGFkZGluZzogMi41cmVtIDIuODEyNXJlbTtcbiAgICBtaW4taGVpZ2h0OiAyMy4xMjVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnllbGxvdy1iYWNrZ3JvdW5kLXNoYXBlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbi5zdXJyb3VuZGluZy1zaGFwZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zdXJyb3VuZGluZy1zaGFwZXMge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc3Vycm91bmRpbmctc2hhcGVzOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjcyLjQ2NFwiIGhlaWdodD1cIjM5Ny4wMTNcIiB2aWV3Qm94PVwiMCAwIDI3Mi40NjQgMzk3LjAxM1wiPjxnIGlkPVwiR3JvdXBfNTRcIiBkYXRhLW5hbWU9XCJHcm91cCA1NFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg3Ni44ODIgLTYxOC4xMDgpXCI+PHBhdGggaWQ9XCJQYXRoXzM5NlwiIGRhdGEtbmFtZT1cIlBhdGggMzk2XCIgZD1cIk0yMjEuODQ2LTIxNy42NDlINjUuNTE5Yy0xNS40NjUsMC0yMi43NjEtOS4wNjgtMjAuMjY5LTI0LjkyM2w3Ljg2Ny00OS44MTdjMi4xNjItMTMuNTczLDkuODE5LTIxLjQxLDI0LjUzMy0yMS40MWwxNTYtLjEyYzExLjQ0MSwwLDIwLjkzLDcuNzQ3LDE4LjIyNywyNC45MjRsLTguMzc4LDUyLjgyYTIyLDIyLDAsMCwxLTIxLjY4LDE4LjU1N1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTczLjY5NyA5MzIuNTI4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzZjBjYzdmXCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiIHN0cm9rZS13aWR0aD1cIjFcIi8+PHBhdGggaWQ9XCJQYXRoXzQwNVwiIGRhdGEtbmFtZT1cIlBhdGggNDA1XCIgZD1cIk0xNjguMjY5LTE2Ny44MjlIMTAwLjM3NWMtMTUuNDY1LDAtMjIuNzkxLTkuMDY5LTIwLjI2OS0yNC45MjRsNy45NTgtNDkuODE3YzIuMTYyLTEzLjU3Myw5LjgxOS0yMS40NCwyNC41NjMtMjEuNDRIMTgwLjI4YzExLjQ0MSwwLDIwLjkzLDcuNzQ3LDE4LjIyNywyNC45MjNsLTguMzQ4LDUyLjdhMjIuMjE2LDIyLjIxNiwwLDAsMS0yMS44OTEsMTguNTU3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy45MDUgMTAzMi40ODkpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIlMjNmMGNjN2ZcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMVwiLz48cGF0aCBpZD1cIlBhdGhfNDA2XCIgZGF0YS1uYW1lPVwiUGF0aCA0MDZcIiBkPVwiTTkyLjg4OS0xNjcuODc5SDU3LjQyNmMtMTUuNDY1LDAtMjIuNTIxLTkuMTU5LTIwLjAyOS0yNS4wMTRsNy44NjctNDkuN0M0Ny40MjctMjU2LjE2Myw1NS4wODQtMjY0LDY5LjgtMjY0aDM1LjEzM2MxMS40NDEsMCwyMC45Myw3Ljc0NywxOC4yMjcsMjQuOTIzbC04LjM3OCw1Mi42N0EyMi4xOTIsMjIuMTkyLDAsMCwxLDkyLjg4OS0xNjcuODVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC04OS40NDYgMTAzMi41MSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiUyM2YwY2M3ZlwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIxXCIvPjxwYXRoIGlkPVwiUGF0aF80MTNcIiBkYXRhLW5hbWU9XCJQYXRoIDQxM1wiIGQ9XCJNMjA2LjA0Ni0xMTcuODM5SDQ5LjcxOWMtMTUuNDY1LDAtMjIuNzYxLTkuMDY5LTIwLjI2OS0yNC45MjRsNy44NjctNDkuODE3YzIuMTYyLTEzLjU3Myw5LjgxOS0yMS40MSwyNC41MzMtMjEuNDFsMTU2LS4xMmMxMS40NDEsMCwyMC45Myw3Ljc0NywxOC4yMjcsMjQuOTIzbC04LjM3OCw1Mi44MmEyMiwyMiwwLDAsMS0yMS42OCwxOC41NTdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMDUuMzQyIDExMzIuNDMxKVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzZjBjYzdmXCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiIHN0cm9rZS13aWR0aD1cIjFcIi8+PC9nPjwvc3ZnPicpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC03NXB4O1xuICAgIGhlaWdodDogMzk3cHg7XG4gICAgd2lkdGg6IDI3MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zdXJyb3VuZGluZy1zaGFwZXM6OmJlZm9yZSB7XG4gICAgbGVmdDogLTE1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnN1cnJvdW5kaW5nLXNoYXBlczo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNjAxLjI4NlwiIGhlaWdodD1cIjM5Ny4wMTNcIiB2aWV3Qm94PVwiMCAwIDYwMS4yODYgMzk3LjAxM1wiPjxnIGlkPVwiR3JvdXBfNTVcIiBkYXRhLW5hbWU9XCJHcm91cCA1NVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtOTIwLjEwNyAtNjE4LjEwOClcIj48cGF0aCBpZD1cIlBhdGhfNDAxXCIgZGF0YS1uYW1lPVwiUGF0aCA0MDFcIiBkPVwiTTQxNi45NjktMjE3Ljc4SDM4MS41MDZjLTE1LjQ2NSwwLTIyLjUyMS05LjE1OS0yMC4wMjktMjUuMDE0bDcuODY3LTQ5LjdjMi4xNjItMTMuNTczLDkuODE5LTIxLjQxLDI0LjUzMy0yMS40MWgzNS4xMzNjMTEuNDQxLDAsMjAuOTMsNy43NDcsMTguMjI3LDI0LjkyM2wtOC4zNzgsNTIuNjdhMjIuMTkyLDIyLjE5MiwwLDAsMS0yMS44OTEsMTguNTU3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NTkuNjMxIDkzMi41NjgpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIlMjNmMGNjN2ZcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMVwiLz48cGF0aCBpZD1cIlBhdGhfNDAyXCIgZGF0YS1uYW1lPVwiUGF0aCA0MDJcIiBkPVwiTTU4MC44NjYtMjE3LjY0OUg0MjQuNTM5Yy0xNS40NjUsMC0yMi43NjEtOS4wNjgtMjAuMjY5LTI0LjkyM2w3Ljg2Ny00OS44MTdjMi4xNjItMTMuNTczLDkuODE5LTIxLjQxLDI0LjUzMy0yMS40MWwxNTYtLjEyYzExLjQ0MSwwLDIwLjkzLDcuNzQ3LDE4LjIyNywyNC45MjRsLTguMzc4LDUyLjgyYTIyLDIyLDAsMCwxLTIxLjY4LDE4LjU1N1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNjQ1LjM1OCA5MzIuNTI4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzZjBjYzdmXCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiIHN0cm9rZS13aWR0aD1cIjFcIi8+PHBhdGggaWQ9XCJQYXRoXzQxMFwiIGRhdGEtbmFtZT1cIlBhdGggNDEwXCIgZD1cIk02NjguODM2LTE2Ny43NTlINTEyLjUwOWMtMTUuNDY1LDAtMjIuNzYxLTkuMDY5LTIwLjI2OS0yNC45MjRsNy44NjgtNDkuODE3YzIuMTYyLTEzLjU3Myw5LjgxOS0yMS40MSwyNC41MzMtMjEuNDFsMTU2LS4xMmMxMS40NDEsMCwyMC45Myw3Ljc0NywxOC4yMjcsMjQuOTIzbC04LjM3OCw1Mi44MmEyMiwyMiwwLDAsMS0yMS42OCwxOC41NTdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDgyMS41NDkgMTAzMi40NDkpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIlMjNmMGNjN2ZcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMVwiLz48cGF0aCBpZD1cIlBhdGhfNDExXCIgZGF0YS1uYW1lPVwiUGF0aCA0MTFcIiBkPVwiTTUyNi44MTktMTY3LjgyOUg0NTguOTI1Yy0xNS40NjUsMC0yMi43OTEtOS4wNjktMjAuMjY5LTI0LjkyNGw3Ljk1OC00OS44MTdjMi4xNjItMTMuNTczLDkuODE5LTIxLjQ0LDI0LjU2My0yMS40NEg1MzguODNjMTEuNDQxLDAsMjAuOTMsNy43NDcsMTguMjI3LDI0LjkyM2wtOC4zNDgsNTIuN2EyMi4yMTYsMjIuMjE2LDAsMCwxLTIxLjg5MSwxOC41NTdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDcxNC4yMSAxMDMyLjQ4OSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiUyM2YwY2M3ZlwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIxXCIvPjxwYXRoIGlkPVwiUGF0aF80MTlcIiBkYXRhLW5hbWU9XCJQYXRoIDQxOVwiIGQ9XCJNNTY1LjA1Ni0xMTcuODM5SDQwOC43MjljLTE1LjQ2NCwwLTIyLjc2MS05LjA2OS0yMC4yNjktMjQuOTI0bDcuODY3LTQ5LjgxN2MyLjE2Mi0xMy41NzMsOS44MTktMjEuNDEsMjQuNTMzLTIxLjQxbDE1Ni0uMTJjMTEuNDQxLDAsMjAuOTMsNy43NDcsMTguMjI3LDI0LjkyM2wtOC4zNzgsNTIuODJhMjIsMjIsMCwwLDEtMjEuNjgsMTguNTU3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2MTMuNjkzIDExMzIuNDMxKVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzZjBjYzdmXCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiIHN0cm9rZS13aWR0aD1cIjFcIi8+PHBhdGggaWQ9XCJQYXRoXzQyMVwiIGRhdGEtbmFtZT1cIlBhdGggNDIxXCIgZD1cIk01ODAuNjgtMTE3Ljk1OUg1NDUuMjE2Yy0xNS40NjUsMC0yMi41MjEtOS4xNTktMjAuMDI5LTI1LjAxNGw3Ljg2OC00OS43YzIuMTYyLTEzLjU3Myw5LjgxOS0yMS40MSwyNC41MzMtMjEuNDFoMzUuMTMzYzExLjQ0MSwwLDIwLjkzLDcuNzQ3LDE4LjIyNywyNC45MjNsLTguMzc4LDUyLjY3QTIyLjE5MiwyMi4xOTIsMCwwLDEsNTgwLjY4LTExNy45M1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoODg3LjUxNCAxMTMyLjQ5MSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiUyM2YwY2M3ZlwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIxXCIvPjwvZz48L3N2Zz4nKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLTE3NXB4O1xuICAgIGhlaWdodDogMzk3cHg7XG4gICAgd2lkdGg6IDYwMXB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zdXJyb3VuZGluZy1zaGFwZXM6OmFmdGVyIHtcbiAgICByaWdodDogLTcwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAub25lLWNvbHVtbi1mdWxsLXdpZHRoIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLm9uZS1jb2x1bW4tZnVsbC13aWR0aCAuZ3JpZC1jb250YWluZXIgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5pbnRlcmlvci1wYWdlLWNvbG9yLWJhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5pbnRlcmlvci1wYWdlLWNvbG9yLWJhciBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaW50ZXJpb3ItcGFnZS1jb2xvci1iYXIgc3ZnIHtcbiAgICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG4gICAgd2lkdGg6IDEwOCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmludGVyaW9yLXBhZ2UtY29sb3ItYmFyIHN2ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjY4NzVyZW07XG4gICAgd2lkdGg6IDEwMyU7XG4gIH1cbn1cblxuLmludGVyaW9yLXBhZ2UtdGl0bGUgaDEge1xuICBjb2xvcjogIzAwODA1MTtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDtcbn1cblxuLmltZy1iZyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4uaW1nLWJnIC5tYWluLWNvbnRlbnQtd3JhcHBlciBoMSxcbi5pbWctYmcgLm1haW4tY29udGVudC13cmFwcGVyIGgyLFxuLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDMsXG4uaW1nLWJnIC5tYWluLWNvbnRlbnQtd3JhcHBlciBoNCxcbi5pbWctYmcgLm1haW4tY29udGVudC13cmFwcGVyIGg1LFxuLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgaDYsXG4uaW1nLWJnIC5tYWluLWNvbnRlbnQtd3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLFxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmltZy1iZyAubWFpbi1jb250ZW50LXdyYXBwZXIgLmFjY29yZGlvbi10aXRsZSxcbi5pbWctYmcgLm1haW4tY29udGVudC13cmFwcGVyIHAge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5pbWctYmcub3ZlcmxheS1ibGFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pbWctYmcub3ZlcmxheS1ibGFjazo6YmVmb3JlLCAuaW1nLWJnLm92ZXJsYXktYmxhY2s6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTtcbn1cbi5pbWctYmcub3ZlcmxheS1ibGFjayAuY29udGVudC1iYW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmltZy1iZy5vdmVybGF5LWJsYWNrOjpiZWZvcmUsIC5pbWctYmcub3ZlcmxheS1ibGFjazo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xufVxuXG4ubHQtZ3JheS1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG59XG5cbi5tZC1ncmF5LWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMztcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5ibGFjay1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRDQxMzg7XG4gIGNvbG9yOiAjYTNhM2EzO1xufVxuXG4uZmFkZWQteWVsbG93LWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDIwNCwgMTI3LCAwLjI1KTtcbn1cblxuLmZvcm1pbmF0b3ItdWkge1xuICBmb250LWZhbWlseTogXCJudW5pdG9cIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuLmZvcm1pbmF0b3ItdWkgbGFiZWwsIC5mb3JtaW5hdG9yLXVpIGxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDA4MDUxICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbSAhaW1wb3J0YW50O1xufVxuLmZvcm1pbmF0b3ItdWkgaW5wdXQsXG4uZm9ybWluYXRvci11aSBzZWxlY3QsXG4uZm9ybWluYXRvci11aSB0ZXh0YXJlYSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwODA1MSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA3cHggIWltcG9ydGFudDtcbn1cblxuLmZvcm1pbmF0b3ItcmVxdWlyZWQge1xuICBjb2xvcjogI0M4NDUzOTtcbn1cblxuLmZvcm1pbmF0b3ItYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwibnVuaXRvXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMC42MjVyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEuMzc1cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDIuNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZm9ybWluYXRvci1idXR0b25bZGlzYWJsZWRdIHtcbiAgZm9udC1mYW1pbHk6IFwibnVuaXRvXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMC4zNzVyZW0gMi41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmZvcm1pbmF0b3Itcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmZvcm1pbmF0b3ItZXJyb3IsIC5mb3JtaW5hdG9yLWVycm9yLW1lc3NhZ2Uge1xuICBjb2xvcjogI0U3OUM1ODtcbn1cblxucCxcbi5wIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbi5tYWluLWNvbnRlbnQgdWwsXG4ubWFpbi1jb250ZW50IG9sIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbmgxLFxuLmgxLFxuLnR5cGUtc2l6ZS02LFxuLnR5cGUtc2l6ZS02IHAsXG4udHlwZS1zaXplLTYgbGkge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLFxuICAuaDEsXG4gIC50eXBlLXNpemUtNixcbiAgLnR5cGUtc2l6ZS02IHAsXG4gIC50eXBlLXNpemUtNiBsaSB7XG4gICAgZm9udC1zaXplOiAzLjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy40Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGgxLFxuICAuaDEsXG4gIC50eXBlLXNpemUtNixcbiAgLnR5cGUtc2l6ZS02IHAsXG4gIC50eXBlLXNpemUtNiBsaSB7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjgxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICBoMSxcbiAgLmgxLFxuICAudHlwZS1zaXplLTYsXG4gIC50eXBlLXNpemUtNiBwLFxuICAudHlwZS1zaXplLTYgbGkge1xuICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy44MTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbn1cblxuaDIsXG4uaDIsXG4udHlwZS1zaXplLTUsXG4udHlwZS1zaXplLTUgcCxcbi50eXBlLXNpemUtNSBsaSB7XG4gIGZvbnQtc2l6ZTogMi4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMi4wNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDIsXG4gIC5oMixcbiAgLnR5cGUtc2l6ZS01LFxuICAudHlwZS1zaXplLTUgcCxcbiAgLnR5cGUtc2l6ZS01IGxpIHtcbiAgICBmb250LXNpemU6IDIuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuODEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBoMixcbiAgLmgyLFxuICAudHlwZS1zaXplLTUsXG4gIC50eXBlLXNpemUtNSBwLFxuICAudHlwZS1zaXplLTUgbGkge1xuICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuMTg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIGgyLFxuICAuaDIsXG4gIC50eXBlLXNpemUtNSxcbiAgLnR5cGUtc2l6ZS01IHAsXG4gIC50eXBlLXNpemUtNSBsaSB7XG4gICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy4xODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbn1cblxuaDMsXG4uaDMsXG4udHlwZS1zaXplLTQsXG4udHlwZS1zaXplLTQgcCxcbi50eXBlLXNpemUtNCBsaSB7XG4gIGZvbnQtc2l6ZTogMS44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDMsXG4gIC5oMyxcbiAgLnR5cGUtc2l6ZS00LFxuICAudHlwZS1zaXplLTQgcCxcbiAgLnR5cGUtc2l6ZS00IGxpIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMzEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBoMyxcbiAgLmgzLFxuICAudHlwZS1zaXplLTQsXG4gIC50eXBlLXNpemUtNCBwLFxuICAudHlwZS1zaXplLTQgbGkge1xuICAgIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIGgzLFxuICAuaDMsXG4gIC50eXBlLXNpemUtNCxcbiAgLnR5cGUtc2l6ZS00IHAsXG4gIC50eXBlLXNpemUtNCBsaSB7XG4gICAgZm9udC1zaXplOiAyLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi42ODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbn1cblxuaDQsXG4uaDQsXG4udHlwZS1zaXplLTMsXG4udHlwZS1zaXplLTMgcCxcbi50eXBlLXNpemUtMyBsaSB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDQsXG4gIC5oNCxcbiAgLnR5cGUtc2l6ZS0zLFxuICAudHlwZS1zaXplLTMgcCxcbiAgLnR5cGUtc2l6ZS0zIGxpIHtcbiAgICBmb250LXNpemU6IDEuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGg0LFxuICAuaDQsXG4gIC50eXBlLXNpemUtMyxcbiAgLnR5cGUtc2l6ZS0zIHAsXG4gIC50eXBlLXNpemUtMyBsaSB7XG4gICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMzEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIGg0LFxuICAuaDQsXG4gIC50eXBlLXNpemUtMyxcbiAgLnR5cGUtc2l6ZS0zIHAsXG4gIC50eXBlLXNpemUtMyBsaSB7XG4gICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMzEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG59XG5cbmg1LFxuLmg1LFxuLnR5cGUtc2l6ZS0yLFxuLnR5cGUtc2l6ZS0yIHAsXG4udHlwZS1zaXplLTIgbGkge1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDUsXG4gIC5oNSxcbiAgLnR5cGUtc2l6ZS0yLFxuICAudHlwZS1zaXplLTIgcCxcbiAgLnR5cGUtc2l6ZS0yIGxpIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaDUsXG4gIC5oNSxcbiAgLnR5cGUtc2l6ZS0yLFxuICAudHlwZS1zaXplLTIgcCxcbiAgLnR5cGUtc2l6ZS0yIGxpIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgaDUsXG4gIC5oNSxcbiAgLnR5cGUtc2l6ZS0yLFxuICAudHlwZS1zaXplLTIgcCxcbiAgLnR5cGUtc2l6ZS0yIGxpIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIH1cbn1cblxuaDYsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUsXG4uaDYsXG4uaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrLnByaW1hcnktYmxvY2sgcCxcbi50eXBlLXNpemUtMSxcbi50eXBlLXNpemUtMSBwLFxuLnR5cGUtc2l6ZS0xIGxpIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoNiwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSxcbiAgLmg2LFxuICAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrLnByaW1hcnktYmxvY2sgcCxcbiAgLnR5cGUtc2l6ZS0xLFxuICAudHlwZS1zaXplLTEgcCxcbiAgLnR5cGUtc2l6ZS0xIGxpIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaDYsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUsXG4gIC5oNixcbiAgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jay5wcmltYXJ5LWJsb2NrIHAsXG4gIC50eXBlLXNpemUtMSxcbiAgLnR5cGUtc2l6ZS0xIHAsXG4gIC50eXBlLXNpemUtMSBsaSB7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIGg2LCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLFxuICAuaDYsXG4gIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sucHJpbWFyeS1ibG9jayBwLFxuICAudHlwZS1zaXplLTEsXG4gIC50eXBlLXNpemUtMSBwLFxuICAudHlwZS1zaXplLTEgbGkge1xuICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5oMiB7XG4gIGNvbG9yOiAjMDA4MDUxO1xufVxuXG5oMywgaDQsIGg1LCBoNiwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSB7XG4gIGNvbG9yOiAjNzVCQjU5O1xufVxuXG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG5ib2R5LmFkbWluLWJhci5mLXRvcGJhci1maXhlZCAuc3RpY2t5LmZpeGVkIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cbmJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdG9wOiAyLjg3NXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjkzNzVlbSkge1xuICBib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdG9wOiAycmVtO1xuICB9XG59XG5cbi5lZGl0LWxpbmsge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAxO1xufVxuLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODA1MTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuMTg3NXJlbSAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC42MjVyZW0gIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NUJCNTk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbnAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwO1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmdhbGxlcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0gMS4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0gMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5nYWxsZXJ5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gMS41NjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtIDEuNTYyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdhbGxlcnkge1xuICAgIG1hcmdpbi1yaWdodDogLSAxLjg3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLSAxLjg3NXJlbTtcbiAgfVxufVxuLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTEgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0xID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0xID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTIgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTMgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0zID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0zID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMi41cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy00ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gIH1cbn1cbi5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy01ID4gLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDIuNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTYgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTYgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MTQyODU3JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOCA+IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTggPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG4uZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSAyLjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTkgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTkgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMS4xMTExMTExMTExJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG4uZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDYxLCA2NSwgNTYsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xufVxuLmdhbGxlcnkgLmdhbGxlcnktaWNvbiA+IGE6aG92ZXIsIC5nYWxsZXJ5IC5nYWxsZXJ5LWljb24gPiBhOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgwLCAxMjgsIDgxLCAwLjUpO1xufVxuLmdhbGxlcnkgLmdhbGxlcnktaWNvbiA+IGEgaW1hZ2Uge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmdhbGxlcnkgLmdhbGxlcnktaWNvbiA+IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDYxLCA2NSwgNTYsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4jbWFzdGhlYWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbn1cbiNtYXN0aGVhZC5taW5pbWl6ZSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAuOTM3NXJlbSByZ2JhKDYxLCA2NSwgNTYsIDAuNSk7XG4gIC1tb3otYm94LXNoYWRvdzogMCAwIDAuOTM3NXJlbSByZ2JhKDYxLCA2NSwgNTYsIDAuNSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjkzNzVyZW0gcmdiYSg2MSwgNjUsIDU2LCAwLjUpO1xufVxuXG4jbWFzdGhlYWQgLmdyaWQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IHBhZGRpbmcgMC4zcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IHBhZGRpbmcgMC4zcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogcGFkZGluZyAwLjNzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IHBhZGRpbmcgMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuM3MgZWFzZTtcbn1cbiNtYXN0aGVhZCAubWFzdGhlYWQtY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNtYXN0aGVhZCAubWFzdGhlYWQtY29udGVudCB7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICB9XG59XG4jbWFzdGhlYWQgLm1hc3RoZWFkLWNvbnRlbnQsXG4jbWFzdGhlYWQgLm1hc3RoZWFkLWNvbnRlbnQgLmxvZ28td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4jbWFzdGhlYWQgLm1hc3RoZWFkLWNvbnRlbnQgLmhlYWRlci1jdGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxufVxuI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIC5idXR0b24sICNtYXN0aGVhZCAubWFzdGhlYWQtY29udGVudCAuaGVhZGVyLWN0YSAuZm9ybWluYXRvci1idXR0b24sICNtYXN0aGVhZCAubWFzdGhlYWQtY29udGVudCAuaGVhZGVyLWN0YSAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmssIC5lZGl0LWxpbmsgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIGEucG9zdC1lZGl0LWxpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTJFMzY3O1xuICBjb2xvcjogIzAwODA1MTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW46IDA7XG59XG4jbWFzdGhlYWQgLm1hc3RoZWFkLWNvbnRlbnQgLmhlYWRlci1jdGEgLmJ1dHRvbjpob3ZlciwgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIC5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlciwgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmVkaXQtbGluayAjbWFzdGhlYWQgLm1hc3RoZWFkLWNvbnRlbnQgLmhlYWRlci1jdGEgYS5wb3N0LWVkaXQtbGluazpob3ZlciwgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIC5idXR0b246Zm9jdXMsICNtYXN0aGVhZCAubWFzdGhlYWQtY29udGVudCAuaGVhZGVyLWN0YSAuZm9ybWluYXRvci1idXR0b246Zm9jdXMsICNtYXN0aGVhZCAubWFzdGhlYWQtY29udGVudCAuaGVhZGVyLWN0YSAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6Zm9jdXMsIC5lZGl0LWxpbmsgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIGEucG9zdC1lZGl0LWxpbms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMDA4MDUxO1xuICBjb2xvcjogI0UyRTM2Nztcbn1cbiNtYXN0aGVhZCAubWFzdGhlYWQtY29udGVudC5oZWFkZXItdG9wLXJvdyB7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAjbWFzdGhlYWQgLm1hc3RoZWFkLWNvbnRlbnQuaGVhZGVyLXRvcC1yb3cge1xuICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgfVxufVxuI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50LmhlYWRlci1ib3R0b20tcm93IHtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbn1cbiNtYXN0aGVhZCAubWFzdGhlYWQtY29udGVudCAubWVudS1jb250ZW50IHtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4jbWFzdGhlYWQgLmxvZ28ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2UsIHdpZHRoIDAuM3MgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLCB3aWR0aCAwLjNzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlLCB3aWR0aCAwLjNzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2UsIHdpZHRoIDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZSwgd2lkdGggMC4zcyBlYXNlO1xufVxuI21hc3RoZWFkIC5sb2dvIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jbWFzdGhlYWQgLmxvZ28ge1xuICBoZWlnaHQ6IDRyZW07XG4gIHdpZHRoOiAxMC43NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNtYXN0aGVhZCAubG9nbyB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICBoZWlnaHQ6IDRyZW07XG4gICAgd2lkdGg6IDEwLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICNtYXN0aGVhZCAubG9nbyB7XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIHdpZHRoOiAxMC43NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwcmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5sb2dvLXdyYXBwZXIge1xuICAgIG9yZGVyOiAyO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07XG4gIH1cbiAgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIHtcbiAgICBvcmRlcjogMTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIC5oZWFkZXItYnV0dG9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA4MiU7XG4gIH1cbiAgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIC5oZWFkZXItYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbiwgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIC5oZWFkZXItYnV0dG9uLXdyYXBwZXIgLmZvcm1pbmF0b3ItYnV0dG9uLCAjbWFzdGhlYWQgLm1hc3RoZWFkLWNvbnRlbnQgLmhlYWRlci1jdGEgLmhlYWRlci1idXR0b24td3JhcHBlciAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmssIC5lZGl0LWxpbmsgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIC5oZWFkZXItYnV0dG9uLXdyYXBwZXIgYS5wb3N0LWVkaXQtbGluayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIC5oZWFkZXItYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbiwgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIC5oZWFkZXItYnV0dG9uLXdyYXBwZXIgLmZvcm1pbmF0b3ItYnV0dG9uLCAjbWFzdGhlYWQgLm1hc3RoZWFkLWNvbnRlbnQgLmhlYWRlci1jdGEgLmhlYWRlci1idXR0b24td3JhcHBlciAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmssIC5lZGl0LWxpbmsgI21hc3RoZWFkIC5tYXN0aGVhZC1jb250ZW50IC5oZWFkZXItY3RhIC5oZWFkZXItYnV0dG9uLXdyYXBwZXIgYS5wb3N0LWVkaXQtbGluayB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjbWFzdGhlYWQgLm1lbnUtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNtYXN0aGVhZCAubWVudS1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjbWFzdGhlYWQgLm1haW4tbWVudS13cmFwcGVyIHtcbiAgICBtb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGhlaWdodCAxcyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgaGVpZ2h0IDFzIGVhc2U7XG4gICAgLW1zLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGhlaWdodCAxcyBlYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGhlaWdodCAxcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGhlaWdodCAxcyBlYXNlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgI21hc3RoZWFkIC5tZW51LWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuI21hc3RoZWFkIC5tYWluLW1lbnUtd3JhcHBlciAubWVudSAubWVudS1pdGVtIHtcbiAgZm9udC1mYW1pbHk6IFwibnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbiNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgLm1lbnUtaXRlbSBhIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGNvbG9yOiAjMDA4MDUxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwO1xufVxuI21hc3RoZWFkIC5tYWluLW1lbnUtd3JhcHBlciAubWVudSAubWVudS1pdGVtIGE6aG92ZXIsICNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgLm1lbnUtaXRlbSBhOmZvY3VzIHtcbiAgY29sb3I6ICM3NUJCNTk7XG59XG5cbiNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbiNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgLm1lbnUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI21hc3RoZWFkIC5tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgI21hc3RoZWFkIC5tZW51IC5ncmlkLWNvbnRhaW5lciAubWVudS1pdGVtIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgI21hc3RoZWFkIC5tZW51IC5ncmlkLWNvbnRhaW5lciAubWVudS1pdGVtIC5zdWJtZW51IC5tZW51LWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbiAgI21hc3RoZWFkIC5tZW51IC5ncmlkLWNvbnRhaW5lciA+IC5tZW51LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuICAjbWFzdGhlYWQgLm1lbnUgLmdyaWQtY29udGFpbmVyID4gLm1lbnUtaXRlbSBhIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI21hc3RoZWFkIC5tZW51IC5tZW51LWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgfVxufVxuI21hc3RoZWFkIC5tYWluLW1lbnUtd3JhcHBlciAubWVudSAuc3VibWVudSxcbiNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgLnN1Ym1lbnUgLm1lbnUtaXRlbSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuI21hc3RoZWFkIC5tYWluLW1lbnUtd3JhcHBlciAubWVudSAuc3VibWVudSBhLFxuI21hc3RoZWFkIC5tYWluLW1lbnUtd3JhcHBlciAubWVudSAuc3VibWVudSAubWVudS1pdGVtIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4jbWFzdGhlYWQgLm1haW4tbWVudS13cmFwcGVyIC5tZW51IC5zdWJtZW51IGE6aG92ZXIsICNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgLnN1Ym1lbnUgYTpmb2N1cyxcbiNtYXN0aGVhZCAubWFpbi1tZW51LXdyYXBwZXIgLm1lbnUgLnN1Ym1lbnUgLm1lbnUtaXRlbSBhOmhvdmVyLFxuI21hc3RoZWFkIC5tYWluLW1lbnUtd3JhcHBlciAubWVudSAuc3VibWVudSAubWVudS1pdGVtIGE6Zm9jdXMge1xuICBjb2xvcjogIzc1QkI1OTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiwrtcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogI2ZmZjtcbiAgdG9wOiAwLjVyZW07XG4gIHJpZ2h0OiAwLjkzNzVyZW07XG59XG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgYmFja2dyb3VuZDogIzEyNTI1Mjtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1pbi13aWR0aDogMjByZW07XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuNjI1cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC42MjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNjI1cmVtO1xuICBhbmltYXRpb246IHJldmVhbERvd24gMC40cyBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbn1cbkBrZXlmcmFtZXMgcmV2ZWFsRG93biB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEuMDUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICB9XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI21hc3RoZWFkIC5tZW51IC5tZW51LWl0ZW0gLnN1Ym1lbnUgPiAubWVudS1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAjbWFzdGhlYWQgLm1lbnUgLm1lbnUtaXRlbSAuc3VibWVudSA+IC5tZW51LWl0ZW0gYSB7XG4gICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxufVxuI21vZGFsLW1lbnUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDQwcHg7XG59XG4jbW9kYWwtbWVudSAjbW9kYWwtbWVudS13cmFwIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgbWFyZ2luOiAxLjMzMzMzcmVtO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI21vZGFsLW1lbnUgLm1haW4tbWVudSAubWVudS1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbiNtb2RhbC1tZW51IC5tYWluLW1lbnUgLm1lbnUtaXRlbSAuc3VibWVudSB7XG4gIG1hcmdpbjogNDBweCAwIDAgMDtcbn1cbiNtb2RhbC1tZW51IC5tYWluLW1lbnUgLm1lbnUtaXRlbSAuc3VibWVudSAubWVudS1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiNtb2RhbC1tZW51IC5tYWluLW1lbnUgLm1lbnUtaXRlbSAuc3VibWVudSAubWVudS1pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jbW9kYWwtbWVudSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNtb2RhbC1tZW51IC5tZW51LWl0ZW0ge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiNtb2RhbC1tZW51IC5tZW51LWl0ZW0gLnN1Ym1lbnUgLm1lbnUtaXRlbSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbiNtb2RhbC1tZW51IC5tQ1NCX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94OyAvKiBPTEQgLSBpT1MgNi0sIFNhZmFyaSAzLjEtNiAqL1xuICBkaXNwbGF5OiAtbW96LWJveDsgLyogT0xEIC0gRmlyZWZveCAxOS0gKi9cbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8qIFRXRUVORVIgLSBJRSAxMCAqL1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7IC8qIE5FVyAtIENocm9tZSAqL1xuICBkaXNwbGF5OiBmbGV4OyAvKiBORVcsIE9wZXJhIDEyLjEsIEZpcmVmb3ggMjArICovXG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbiNtb2RhbC1tZW51IC5tQ1NCX2NvbnRhaW5lciAubWVudSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucG9zdC1uYXZpZ2F0aW9uOjpiZWZvcmUsIC5wb3N0LW5hdmlnYXRpb246OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cbi5wb3N0LW5hdmlnYXRpb246OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5uYXYtcHJldmlvdXMge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLm5hdi1uZXh0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4jbWFzdGhlYWQgI21vYmlsZS1tZW51LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4jbWFzdGhlYWQgLm1vYmlsZS1tZW51LXRvZ2dsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICB0b3A6IDEwcHg7XG4gIHotaW5kZXg6IDI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cbiNtYXN0aGVhZCAubW9iaWxlLW1lbnUtdG9nZ2xlIGRpdiB7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogIzc1QkI1OTtcbiAgdHJhbnNmb3JtOiBza2V3WCgtOWRlZyk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuI21hc3RoZWFkIC5tb2JpbGUtbWVudS10b2dnbGUgZGl2OjpiZWZvcmUsICNtYXN0aGVhZCAubW9iaWxlLW1lbnUtdG9nZ2xlIGRpdjo6YWZ0ZXIsXG4jbWFzdGhlYWQgLm1vYmlsZS1tZW51LXRvZ2dsZSBkaXYgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBoZWlnaHQ6IDAuMTg3NXJlbTtcbiAgbWFyZ2luOiAwLjI1cmVtIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtb3otdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgLW8tdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuI21hc3RoZWFkIC5tb2JpbGUtbWVudS10b2dnbGU6aG92ZXIgZGl2OjpiZWZvcmUsICNtYXN0aGVhZCAubW9iaWxlLW1lbnUtdG9nZ2xlOmhvdmVyIGRpdjo6YWZ0ZXIsXG4jbWFzdGhlYWQgLm1vYmlsZS1tZW51LXRvZ2dsZTpob3ZlciBkaXYgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4jbWFzdGhlYWQubWVudS1vcGVuIC5tb2JpbGUtbWVudS10b2dnbGUgZGl2IHtcbiAgYmFja2dyb3VuZDogIzEyNTI1Mjtcbn1cbiNtYXN0aGVhZC5tZW51LW9wZW4gLm1vYmlsZS1tZW51LXRvZ2dsZSBkaXY6OmJlZm9yZSwgI21hc3RoZWFkLm1lbnUtb3BlbiAubW9iaWxlLW1lbnUtdG9nZ2xlIGRpdjo6YWZ0ZXIsXG4jbWFzdGhlYWQubWVudS1vcGVuIC5tb2JpbGUtbWVudS10b2dnbGUgZGl2IHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzVCQjU5O1xufVxuI21hc3RoZWFkLm1lbnUtb3BlbiAubW9iaWxlLW1lbnUtdG9nZ2xlIGRpdjo6YmVmb3JlIHtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC40Mzc1cmVtKSByb3RhdGUoMTM1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNDM3NXJlbSkgcm90YXRlKDEzNWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC40Mzc1cmVtKSByb3RhdGUoMTM1ZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC40Mzc1cmVtKSByb3RhdGUoMTM1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNDM3NXJlbSkgcm90YXRlKDEzNWRlZyk7XG59XG4jbWFzdGhlYWQubWVudS1vcGVuIC5tb2JpbGUtbWVudS10b2dnbGUgZGl2OjphZnRlciB7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjQzNzVyZW0pIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjQzNzVyZW0pIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC40Mzc1cmVtKSByb3RhdGUoLTEzNWRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjQzNzVyZW0pIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjQzNzVyZW0pIHJvdGF0ZSgtMTM1ZGVnKTtcbn1cbiNtYXN0aGVhZC5tZW51LW9wZW4gLm1vYmlsZS1tZW51LXRvZ2dsZSBkaXYgc3BhbiB7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbn1cbiNtYXN0aGVhZCAubW9iaWxlLW1lbnUtdG9nZ2xlIGRpdiB7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjYyNXJlbTtcbiAgd2lkdGg6IDIuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNtYXN0aGVhZCAubW9iaWxlLW1lbnUtdG9nZ2xlIGRpdiB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMC42MjVyZW07XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI21hc3RoZWFkIC5tb2JpbGUtbWVudS10b2dnbGUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1MCUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1MCUpO1xuICB9XG59XG5cbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciB7XG4gIGhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlIDAuMnMsIG9wYWNpdHkgMC4zcyBlYXNlLCB3aWR0aCAwLjVzIGVhc2UgMC4ycztcbiAgLW1vei10cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlIDAuMnMsIG9wYWNpdHkgMC4zcyBlYXNlLCB3aWR0aCAwLjVzIGVhc2UgMC4ycztcbiAgLW1zLXRyYW5zaXRpb246IGhlaWdodCAwLjVzIGVhc2UgMC4ycywgb3BhY2l0eSAwLjNzIGVhc2UsIHdpZHRoIDAuNXMgZWFzZSAwLjJzO1xuICAtby10cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlIDAuMnMsIG9wYWNpdHkgMC4zcyBlYXNlLCB3aWR0aCAwLjVzIGVhc2UgMC4ycztcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXMgZWFzZSAwLjJzLCBvcGFjaXR5IDAuM3MgZWFzZSwgd2lkdGggMC41cyBlYXNlIDAuMnM7XG59XG4jY29sbGFwc2libGUtbWVudS1jb250YWluZXIubWVudS1vcGVuIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlLCBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzLCB3aWR0aCAwLjVzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXMgZWFzZSwgb3BhY2l0eSAwLjNzIGVhc2UgMC4xcywgd2lkdGggMC41cyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXMgZWFzZSwgb3BhY2l0eSAwLjNzIGVhc2UgMC4xcywgd2lkdGggMC41cyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBoZWlnaHQgMC41cyBlYXNlLCBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzLCB3aWR0aCAwLjVzIGVhc2U7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjVzIGVhc2UsIG9wYWNpdHkgMC4zcyBlYXNlIDAuMXMsIHdpZHRoIDAuNXMgZWFzZTtcbn1cbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciAubWVudS1mcmFtZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZyAwLjNzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogcGFkZGluZyAwLjNzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBwYWRkaW5nIDAuM3MgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogcGFkZGluZyAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMC4zcyBlYXNlO1xufVxuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDA7XG59XG4jY29sbGFwc2libGUtbWVudS1jb250YWluZXIubWVudS1vcGVuIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4jY29sbGFwc2libGUtbWVudS1jb250YWluZXIgLm1lbnUtZnJhbWUge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjZweCk7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbSAxLjI1cmVtIDEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiA0LjEyNXJlbTtcbiAgfVxuICAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciAubWVudS1mcmFtZSB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEwNnB4KTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDIuNjI1cmVtO1xuICB9XG4gICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lci5tZW51LW9wZW4ge1xuICAgIHdpZHRoOiAyNy41cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIge1xuICAgIHRvcDogNS44NzVyZW07XG4gIH1cbiAgI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyLm1lbnUtb3BlbiB7XG4gICAgd2lkdGg6IDI5LjM3NXJlbTtcbiAgfVxuICAjY29sbGFwc2libGUtbWVudS1jb250YWluZXIgLm1lbnUtZnJhbWUge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMTZweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIC5tZW51LWZyYW1lIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTExcHgpO1xuICB9XG4gICNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lci5tZW51LW9wZW4ge1xuICAgIHdpZHRoOiAzMC42MjVyZW07XG4gIH1cbn1cblxuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIC5tZW51LWl0ZW0ge1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbjogMXJlbSAwO1xufVxuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIC5tZW51LWl0ZW0gYSB7XG4gIGNvbG9yOiAjMDA4MDUxO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4jY29sbGFwc2libGUtbWVudS1jb250YWluZXIgLm1lbnUtaXRlbS5oYXMtc3VibWVudSAubWVudS1pdGVtIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIC5tZW51LWl0ZW0uaGFzLXN1Ym1lbnUgPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciAubWVudS1pdGVtLmhhcy1zdWJtZW51IC5zdWJtZW51IHtcbiAgbWFyZ2luOiAwIDAgMCAxLjI1cmVtO1xufVxuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIC5tZW51LWl0ZW0uaGFzLXN1Ym1lbnUgLnN1Ym1lbnUgLm1lbnUtaXRlbSB7XG4gIG1hcmdpbjogMC42MjVyZW0gMDtcbn1cbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciAubWVudS1pdGVtLmhhcy1zdWJtZW51IC5zdWJtZW51IC5tZW51LWl0ZW06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbn1cbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciAubWVudS1pdGVtLmhhcy1zdWJtZW51IC5zdWJtZW51IC5tZW51LWl0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDA4MDUxO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIC5tZW51LWl0ZW1bYXJpYS1leHBhbmRlZD10cnVlXSA+IGEsXG4jY29sbGFwc2libGUtbWVudS1jb250YWluZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjNzVCQjU5O1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbi5tb2JpbGUtbmF2LXBhdHRlcm4ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9zdmdzL21vYmlsZS1uYXYtcGF0dGVybi5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxO1xuICBib3R0b206IC04cHg7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogNy4zNzVyZW07XG59XG5cbi5oZWFkZXItY29weXJpZ2h0LWxpbmUge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwIDEuMjVyZW0gMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oZWFkZXItY29weXJpZ2h0LWxpbmUge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgfVxufVxuLmhlYWRlci1jb3B5cmlnaHQtbGluZSBwIHtcbiAgY29sb3I6ICMwMDgwNTE7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2lkdGg6IDY1JTtcbn1cblxuLmhlYWRlci1zb2NpYWwtbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwYWRkaW5nOiAxLjI1cmVtIDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGVhZGVyLXNvY2lhbC1saW5rcyB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAwO1xuICB9XG59XG4uaGVhZGVyLXNvY2lhbC1saW5rcyBwIHtcbiAgY29sb3I6ICMwMDgwNTE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4uaGVhZGVyLXNvY2lhbC1saW5rcyBhIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gIG1hcmdpbi10b3A6IC0wLjc1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzLjE4NzVyZW07XG4gIGhlaWdodDogMi41NjI1cmVtO1xufVxuLmhlYWRlci1zb2NpYWwtbGlua3MgYSBzdmcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmhlYWRlci1zb2NpYWwtbGlua3MgYS5mYWNlYm9vaywgLmhlYWRlci1zb2NpYWwtbGlua3MgYS55b3V0dWJlLCAuaGVhZGVyLXNvY2lhbC1saW5rcyBhLnR3aXR0ZXIsIC5oZWFkZXItc29jaWFsLWxpbmtzIGEubGlua2VkaW4ge1xuICBmaWxsOiAjMDA4MDUxO1xufVxuLmhlYWRlci1zb2NpYWwtbGlua3MgYS5mYWNlYm9vazpob3ZlciA+IHN2ZywgLmhlYWRlci1zb2NpYWwtbGlua3MgYS5mYWNlYm9vazpmb2N1cyA+IHN2ZywgLmhlYWRlci1zb2NpYWwtbGlua3MgYS55b3V0dWJlOmhvdmVyID4gc3ZnLCAuaGVhZGVyLXNvY2lhbC1saW5rcyBhLnlvdXR1YmU6Zm9jdXMgPiBzdmcsIC5oZWFkZXItc29jaWFsLWxpbmtzIGEudHdpdHRlcjpob3ZlciA+IHN2ZywgLmhlYWRlci1zb2NpYWwtbGlua3MgYS50d2l0dGVyOmZvY3VzID4gc3ZnLCAuaGVhZGVyLXNvY2lhbC1saW5rcyBhLmxpbmtlZGluOmhvdmVyID4gc3ZnLCAuaGVhZGVyLXNvY2lhbC1saW5rcyBhLmxpbmtlZGluOmZvY3VzID4gc3ZnIHtcbiAgZmlsbDogIzc1QkI1OTtcbn1cblxuLm1haW4td3JhcCB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXRvcDogMTAuNjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1haW4td3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMTAuNjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWFpbi13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAxMC42MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm1haW4td3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMTAuOTM3NXJlbTtcbiAgfVxufVxuLm1haW4td3JhcCAubWFpbi1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubWFpbi13cmFwIC5tYWluLWNvbnRlbnQgLmNvbnRlbnQtYmFuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuaW1nLCBpbWc6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbmltZzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjA1KTtcbiAgYm9yZGVyOiAwLjEyNXJlbSBkYXNoZWQgcmdiYSg2MSwgNjUsIDU2LCAwLjA1KTtcbiAgY29udGVudDogXCJJbWFnZSBub3QgZm91bmRcIjtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgcGFkZGluZzogMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xufVxuXG4ubWFpbi1jb250ZW50IHVsLFxuLm1haW4tY29udGVudCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ubWFpbi1jb250ZW50IHVsIGxpLFxuLm1haW4tY29udGVudCBvbCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWFpbi1jb250ZW50IGltZyB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxufVxuXG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1saW5rcy1hcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxMDtcbn1cbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gIH1cbn1cbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyLnNtYWxsLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjByZW07XG4gIH1cbn1cbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBwYWRkaW5nLXRvcDogMi44MTI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xufVxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxvZ29tYXJrIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxvZ29tYXJrIGEgc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICB9XG59XG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbG9nb21hcmsgYSBzdmcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDI4MHB4O1xufVxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxvZ29tYXJrIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xufVxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLXNvY2lhbC1tZWRpYS1jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1zb2NpYWwtbWVkaWEtY29sdW1uIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLXNvY2lhbC1tZWRpYS1jb2x1bW4ge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gIH1cbn1cbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1zb2NpYWwtbWVkaWEtY29sdW1uIHAge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1zb2NpYWwtbWVkaWEtY29sdW1uIGEge1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogLTAuNzVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMuMTg3NXJlbTtcbiAgaGVpZ2h0OiAyLjU2MjVyZW07XG59XG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItc29jaWFsLW1lZGlhLWNvbHVtbiBhIHN2ZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItc29jaWFsLW1lZGlhLWNvbHVtbiBhLmZhY2Vib29rLCAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItc29jaWFsLW1lZGlhLWNvbHVtbiBhLnlvdXR1YmUsICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1zb2NpYWwtbWVkaWEtY29sdW1uIGEudHdpdHRlciwgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLXNvY2lhbC1tZWRpYS1jb2x1bW4gYS5saW5rZWRpbiB7XG4gIGZpbGw6ICNmZmY7XG59XG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItc29jaWFsLW1lZGlhLWNvbHVtbiBhLmZhY2Vib29rIHBhdGgsICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1zb2NpYWwtbWVkaWEtY29sdW1uIGEueW91dHViZSBwYXRoLCAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItc29jaWFsLW1lZGlhLWNvbHVtbiBhLnR3aXR0ZXIgcGF0aCwgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLXNvY2lhbC1tZWRpYS1jb2x1bW4gYS5saW5rZWRpbiBwYXRoIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG59XG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItc29jaWFsLW1lZGlhLWNvbHVtbiBhLmZhY2Vib29rOmhvdmVyID4gc3ZnLCAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItc29jaWFsLW1lZGlhLWNvbHVtbiBhLmZhY2Vib29rOmZvY3VzID4gc3ZnLCAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItc29jaWFsLW1lZGlhLWNvbHVtbiBhLnlvdXR1YmU6aG92ZXIgPiBzdmcsICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1zb2NpYWwtbWVkaWEtY29sdW1uIGEueW91dHViZTpmb2N1cyA+IHN2ZywgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLXNvY2lhbC1tZWRpYS1jb2x1bW4gYS50d2l0dGVyOmhvdmVyID4gc3ZnLCAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItc29jaWFsLW1lZGlhLWNvbHVtbiBhLnR3aXR0ZXI6Zm9jdXMgPiBzdmcsICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1zb2NpYWwtbWVkaWEtY29sdW1uIGEubGlua2VkaW46aG92ZXIgPiBzdmcsICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1zb2NpYWwtbWVkaWEtY29sdW1uIGEubGlua2VkaW46Zm9jdXMgPiBzdmcge1xuICBmaWxsOiAjNzVCQjU5O1xufVxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWNvcHlyaWdodC1jb2x1bW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG59XG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItY29weXJpZ2h0LWNvbHVtbiBwIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1jb250YWN0LWRldGFpbHMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCxcbiAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1zZWNvbmQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLWZpcnN0LFxuICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLXNlY29uZCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCBhLFxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1zZWNvbmQgYSB7XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XG59XG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLWZpcnN0IHAsXG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLXNlY29uZCBwLFxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyBwIHtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1saW5rcy1jb2x1bW4tZmlyc3QgcCxcbiAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1zZWNvbmQgcCxcbiAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCBwIHN0cm9uZywgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCBwIGIsXG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLXNlY29uZCBwIHN0cm9uZyxcbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1saW5rcy1jb2x1bW4tc2Vjb25kIHAgYixcbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgcCBzdHJvbmcsXG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHAgYiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLWZpcnN0IGEsXG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLXNlY29uZCBhLFxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1saW5rcy1jb2x1bW4tZmlyc3QgYSxcbiAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1zZWNvbmQgYSxcbiAgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCBhIHN0cm9uZywgI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCBhIGIsXG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLXNlY29uZCBhIHN0cm9uZyxcbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1saW5rcy1jb2x1bW4tc2Vjb25kIGEgYixcbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgYSBzdHJvbmcsXG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItY29udGFjdC1kZXRhaWxzIGEgYiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLWZpcnN0IGE6aG92ZXIsXG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLXNlY29uZCBhOmhvdmVyLFxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyBhOmhvdmVyIHtcbiAgY29sb3I6ICM3NUJCNTk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItbGlua3MtY29sdW1uLWZpcnN0IC5mb290ZXItbGluay1oaWdobGlnaHQgYSxcbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1saW5rcy1jb2x1bW4tc2Vjb25kIC5mb290ZXItbGluay1oaWdobGlnaHQgYSxcbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgLmZvb3Rlci1saW5rLWhpZ2hsaWdodCBhIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCAuZm9vdGVyLXByaXZhY3ktbGluayBhLFxuI3NpdGUtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIC5mb290ZXItZ3JpZCAuZm9vdGVyLWxpbmtzLWNvbHVtbi1zZWNvbmQgLmZvb3Rlci1wcml2YWN5LWxpbmsgYSxcbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgLmZvb3Rlci1wcml2YWN5LWxpbmsgYSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1saW5rcy1jb2x1bW4tZmlyc3QgLmZvb3Rlci1saW5rLW1hcmdpbi10b3AgYSxcbiNzaXRlLWZvb3RlciAuZm9vdGVyLWNvbnRhaW5lciAuZm9vdGVyLWdyaWQgLmZvb3Rlci1saW5rcy1jb2x1bW4tc2Vjb25kIC5mb290ZXItbGluay1tYXJnaW4tdG9wIGEsXG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItY29udGFjdC1kZXRhaWxzIC5mb290ZXItbGluay1tYXJnaW4tdG9wIGEge1xuICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07XG59XG4jc2l0ZS1mb290ZXIgLmZvb3Rlci1jb250YWluZXIgLmZvb3Rlci1ncmlkIC5mb290ZXItY29udGFjdC1kZXRhaWxzIGEge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbiNzaXRlLWZvb3RlciB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI1MjUyO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4jc2l0ZS1mb290ZXIuZXh0cmEtZm9vdGVyLWdhcCB7XG4gIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI3NpdGUtZm9vdGVyLmV4dHJhLWZvb3Rlci1nYXAge1xuICAgIG1hcmdpbi10b3A6IDEwcmVtO1xuICB9XG59XG4jc2l0ZS1mb290ZXIgcCB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbn1cbiNzaXRlLWZvb3RlciAuZm9vdGVyLWxpbmVzLWJnIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9zdmdzL2Zvb3Rlci1zaGFwZXMuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgI3NpdGUtZm9vdGVyIC5mb290ZXItbGluZXMtYmcge1xuICAgIGhlaWdodDogNi4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI3NpdGUtZm9vdGVyIC5mb290ZXItbGluZXMtYmcge1xuICAgIGhlaWdodDogMTAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjc2l0ZS1mb290ZXIgLmZvb3Rlci1saW5lcy1iZyB7XG4gICAgaGVpZ2h0OiAxNS4zMTI1cmVtO1xuICB9XG59XG5cbmJvZHkjdGlueW1jZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4vKlxuPT0gbWFsaWh1IGpxdWVyeSBjdXN0b20gc2Nyb2xsYmFyIHBsdWdpbiA9PVxuUGx1Z2luIFVSSTogaHR0cDovL21hbm9zLm1hbGlodS5nci9qcXVlcnktY3VzdG9tLWNvbnRlbnQtc2Nyb2xsZXJcbiovXG4vKlxuQ09OVEVOVFM6IFxuXHQxLiBCQVNJQyBTVFlMRSAtIFBsdWdpbidzIGJhc2ljL2Vzc2VudGlhbCBDU1MgcHJvcGVydGllcyAobm9ybWFsbHksIHNob3VsZCBub3QgYmUgZWRpdGVkKS4gXG5cdDIuIFZFUlRJQ0FMIFNDUk9MTEJBUiAtIFBvc2l0aW9uaW5nIGFuZCBkaW1lbnNpb25zIG9mIHZlcnRpY2FsIHNjcm9sbGJhci4gXG5cdDMuIEhPUklaT05UQUwgU0NST0xMQkFSIC0gUG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbnMgb2YgaG9yaXpvbnRhbCBzY3JvbGxiYXIuXG5cdDQuIFZFUlRJQ0FMIEFORCBIT1JJWk9OVEFMIFNDUk9MTEJBUlMgLSBQb3NpdGlvbmluZyBhbmQgZGltZW5zaW9ucyBvZiAyLWF4aXMgc2Nyb2xsYmFycy4gXG5cdDUuIFRSQU5TSVRJT05TIC0gQ1NTMyB0cmFuc2l0aW9ucyBmb3IgaG92ZXIgZXZlbnRzLCBhdXRvLWV4cGFuZGVkIGFuZCBhdXRvLWhpZGRlbiBzY3JvbGxiYXJzLiBcblx0Ni4gU0NST0xMQkFSIENPTE9SUywgT1BBQ0lUWSBBTkQgQkFDS0dST1VORFMgXG5cdFx0Ni4xIFRIRU1FUyAtIFNjcm9sbGJhciBjb2xvcnMsIG9wYWNpdHksIGRpbWVuc2lvbnMsIGJhY2tncm91bmRzIGV0Yy4gdmlhIHJlYWR5LXRvLXVzZSB0aGVtZXMuXG4qL1xuLyogXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjEuIEJBU0lDIFNUWUxFICBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5tQ3VzdG9tU2Nyb2xsYmFyIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtcbiAgdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tOyAvKiBkaXJlY3QgcG9pbnRlciBldmVudHMgdG8ganMgKi9cbn1cblxuLm1DdXN0b21TY3JvbGxiYXIubUNTX25vX3Njcm9sbGJhciwgLm1DdXN0b21TY3JvbGxiYXIubUNTX3RvdWNoX2FjdGlvbiB7XG4gIC1tcy10b3VjaC1hY3Rpb246IGF1dG87XG4gIHRvdWNoLWFjdGlvbjogYXV0bztcbn1cblxuLm1DdXN0b21TY3JvbGxCb3ggeyAvKiBjb250YWlucyBwbHVnaW4ncyBtYXJrdXAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3V0bGluZTogbm9uZTtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbi5tQ1NCX2NvbnRhaW5lciB7IC8qIGNvbnRhaW5zIHRoZSBvcmlnaW5hbCBjb250ZW50ICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4yLiBWRVJUSUNBTCBTQ1JPTExCQVIgXG55LWF4aXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufSAvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIgKi9cbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xufVxuXG4ubUNTLWRpci1ydGwgPiAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufSAvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cbi5tQ1NCX3Njcm9sbFRvb2xzIHsgLyogY29udGFpbnMgc2Nyb2xsYmFyIG1hcmt1cCAoZHJhZ2dhYmxlIGVsZW1lbnQsIGRyYWdnZXIgcmFpbCwgYnV0dG9ucyBldGMuKSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC00cHg7XG4gIGJvdHRvbTogMDtcbn1cblxuLm1DU0Jfb3V0c2lkZSArIC5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgcmlnaHQ6IC0yNnB4O1xufSAvKiBzY3JvbGxiYXIgcG9zaXRpb246IG91dHNpZGUgKi9cbi5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX2luc2lkZSA+IC5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy1kaXItcnRsID4gLm1DU0Jfb3V0c2lkZSArIC5tQ1NCX3Njcm9sbFRvb2xzIHsgLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuXG4ubUNTLWRpci1ydGwgPiAubUNTQl9vdXRzaWRlICsgLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBsZWZ0OiAtMjZweDtcbn0gLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyIChzY3JvbGxiYXIgcG9zaXRpb246IG91dHNpZGUpICovXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHsgLyogY29udGFpbnMgdGhlIGRyYWdnYWJsZSBlbGVtZW50IGFuZCBkcmFnZ2VyIHJhaWwgbWFya3VwICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIGEgKyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDJweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgeyAvKiB0aGUgZHJhZ2dhYmxlIGVsZW1lbnQgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMHB4OyAvKiBtaW5pbXVtIGRyYWdnZXIgaGVpZ2h0ICovXG4gIHotaW5kZXg6IDE7XG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIgeyAvKiB0aGUgZHJhZ2dlciBlbGVtZW50ICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogMTJweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogOHB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xufVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDAgYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYm90dG9tOiAwO1xufVxuXG4vKiBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMy4gSE9SSVpPTlRBTCBTQ1JPTExCQVIgXG54LWF4aXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5tQ1NCX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXIge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5tQ1NCX2hvcml6b250YWwubUNTQl9vdXRzaWRlID4gLm1DU0JfY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLm1DU0JfaG9yaXpvbnRhbCA+IC5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVuIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn0gLyogbm9uLXZpc2libGUgc2Nyb2xsYmFyICovXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxNnB4O1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5tQ3VzdG9tU2Nyb2xsQm94ICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxuLm1DdXN0b21TY3JvbGxCb3ggKyAubUNTQl9zY3JvbGxUb29scyArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGJvdHRvbTogLTI2cHg7XG59IC8qIHNjcm9sbGJhciBwb3NpdGlvbjogb3V0c2lkZSAqL1xuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIGEgKyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDIwcHg7XG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbiAgbWFyZ2luOiA3cHggMDtcbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIge1xuICB3aWR0aDogMzBweDsgLyogbWluaW11bSBkcmFnZ2VyIHdpZHRoICovXG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIG1hcmdpbjogNnB4IGF1dG87XG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGhlaWdodDogMTJweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cbiAgbWFyZ2luOiAycHggYXV0bztcbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgaGVpZ2h0OiA4cHg7IC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovXG4gIG1hcmdpbjogNHB4IDA7XG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9idXR0b25MZWZ0LFxuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBsZWZ0OiAwO1xufVxuXG4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uUmlnaHQge1xuICByaWdodDogMDtcbn1cblxuLyogXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjQuIFZFUlRJQ0FMIEFORCBIT1JJWk9OVEFMIFNDUk9MTEJBUlMgXG55eC1heGlzIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuLm1DU0JfY29udGFpbmVyX3dyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ubUNTQl9jb250YWluZXJfd3JhcHBlciA+IC5tQ1NCX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbCA+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwge1xuICBib3R0b206IDIwcHg7XG59XG5cbi5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwge1xuICByaWdodDogMjBweDtcbn1cblxuLyogbm9uLXZpc2libGUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgKi9cbi5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW4gKyAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIHtcbiAgYm90dG9tOiAwO1xufVxuXG4vKiBub24tdmlzaWJsZSB2ZXJ0aWNhbCBzY3JvbGxiYXIvUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG4ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuICsgLm1DU0Jfc2Nyb2xsVG9vbHMgfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsXG4ubUNTLWRpci1ydGwgPiAubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwge1xuICByaWdodDogMDtcbn1cblxuLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG4ubUNTLWRpci1ydGwgPiAubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwge1xuICBsZWZ0OiAyMHB4O1xufVxuXG4vKiBub24tdmlzaWJsZSBzY3JvbGxiYXIvUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG4ubUNTLWRpci1ydGwgPiAubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuICsgLm1DU0Jfc2Nyb2xsVG9vbHMgfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwge1xuICBsZWZ0OiAwO1xufVxuXG4ubUNTLWRpci1ydGwgPiAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJfd3JhcHBlciB7IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xufVxuXG4ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuID4gLm1DU0JfY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbiA+IC5tQ1NCX2NvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyAvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qIG5vbi12aXNpYmxlIGhvcml6b250YWwgc2Nyb2xsYmFyICovXG4ubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVuIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjUuIFRSQU5TSVRJT05TICBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlLW91dCAwLjJzLCBoZWlnaHQgMC4ycyBlYXNlLW91dCAwLjJzLCBtYXJnaW4tbGVmdCAwLjJzIGVhc2Utb3V0IDAuMnMsIG1hcmdpbi1yaWdodCAwLjJzIGVhc2Utb3V0IDAuMnMsIG1hcmdpbi10b3AgMC4ycyBlYXNlLW91dCAwLjJzLCBtYXJnaW4tYm90dG9tIDAuMnMgZWFzZS1vdXQgMC4ycywgb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlLW91dCAwLjJzLCBoZWlnaHQgMC4ycyBlYXNlLW91dCAwLjJzLCBtYXJnaW4tbGVmdCAwLjJzIGVhc2Utb3V0IDAuMnMsIG1hcmdpbi1yaWdodCAwLjJzIGVhc2Utb3V0IDAuMnMsIG1hcmdpbi10b3AgMC4ycyBlYXNlLW91dCAwLjJzLCBtYXJnaW4tYm90dG9tIDAuMnMgZWFzZS1vdXQgMC4ycywgb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZS1vdXQgMC4ycywgaGVpZ2h0IDAuMnMgZWFzZS1vdXQgMC4ycywgbWFyZ2luLWxlZnQgMC4ycyBlYXNlLW91dCAwLjJzLCBtYXJnaW4tcmlnaHQgMC4ycyBlYXNlLW91dCAwLjJzLCBtYXJnaW4tdG9wIDAuMnMgZWFzZS1vdXQgMC4ycywgbWFyZ2luLWJvdHRvbSAwLjJzIGVhc2Utb3V0IDAuMnMsIG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2Utb3V0IDAuMnMsIGhlaWdodCAwLjJzIGVhc2Utb3V0IDAuMnMsIG1hcmdpbi1sZWZ0IDAuMnMgZWFzZS1vdXQgMC4ycywgbWFyZ2luLXJpZ2h0IDAuMnMgZWFzZS1vdXQgMC4ycywgbWFyZ2luLXRvcCAwLjJzIGVhc2Utb3V0IDAuMnMsIG1hcmdpbi1ib3R0b20gMC4ycyBlYXNlLW91dCAwLjJzLCBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLyogXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjYuIFNDUk9MTEJBUiBDT0xPUlMsIE9QQUNJVFkgQU5EIEJBQ0tHUk9VTkRTICBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbi8qIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuNi4xIFRIRU1FUyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4vKiBkZWZhdWx0IHRoZW1lIChcImxpZ2h0XCIpICovXG4ubUNTQl9zY3JvbGxUb29scyB7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7XG59XG5cbi5tQ1MtYXV0b0hpZGUgPiAubUN1c3RvbVNjcm9sbEJveCA+IC5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy1hdXRvSGlkZSA+IC5tQ3VzdG9tU2Nyb2xsQm94IH4gLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0wKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MClcIjtcbn1cblxuLm1DdXN0b21TY3JvbGxiYXIgPiAubUN1c3RvbVNjcm9sbEJveCA+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnLFxuLm1DdXN0b21TY3JvbGxiYXIgPiAubUN1c3RvbVNjcm9sbEJveCB+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnLFxuLm1DdXN0b21TY3JvbGxCb3g6aG92ZXIgPiAubUNTQl9zY3JvbGxUb29scyxcbi5tQ3VzdG9tU2Nyb2xsQm94OmhvdmVyIH4gLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUNTLWF1dG9IaWRlOmhvdmVyID4gLm1DdXN0b21TY3JvbGxCb3ggPiAubUNTQl9zY3JvbGxUb29scyxcbi5tQ1MtYXV0b0hpZGU6aG92ZXIgPiAubUN1c3RvbVNjcm9sbEJveCB+IC5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MTAwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MTAwKVwiO1xufVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRDQxMzg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDY1LCA1NiwgMC40KTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT00MClcIjtcbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7XG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT04NSlcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTg1KVwiO1xufVxuXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT05MClcIjtcbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1DU0JfYnV0dG9ucy5wbmcpOyAvKiBjc3Mgc3ByaXRlcyAqL1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBvcGFjaXR5OiAwLjQ7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTQwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7XG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAvKiBcbiAgc3ByaXRlcyBsb2NhdGlvbnMgXG4gIGxpZ2h0OiAwIDAsIC0xNnB4IDAsIC0zMnB4IDAsIC00OHB4IDAsIDAgLTcycHgsIC0xNnB4IC03MnB4LCAtMzJweCAtNzJweFxuICBkYXJrOiAtODBweCAwLCAtOTZweCAwLCAtMTEycHggMCwgLTEyOHB4IDAsIC04MHB4IC03MnB4LCAtOTZweCAtNzJweCwgLTExMnB4IC03MnB4XG4gICovXG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMHB4O1xuICAvKiBcbiAgc3ByaXRlcyBsb2NhdGlvbnNcbiAgbGlnaHQ6IDAgLTIwcHgsIC0xNnB4IC0yMHB4LCAtMzJweCAtMjBweCwgLTQ4cHggLTIwcHgsIDAgLTkycHgsIC0xNnB4IC05MnB4LCAtMzJweCAtOTJweFxuICBkYXJrOiAtODBweCAtMjBweCwgLTk2cHggLTIwcHgsIC0xMTJweCAtMjBweCwgLTEyOHB4IC0yMHB4LCAtODBweCAtOTJweCwgLTk2cHggLTkycHgsIC0xMTIgLTkycHhcbiAgKi9cbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7XG4gIC8qIFxuICBzcHJpdGVzIGxvY2F0aW9ucyBcbiAgbGlnaHQ6IDAgLTQwcHgsIC0yMHB4IC00MHB4LCAtNDBweCAtNDBweCwgLTYwcHggLTQwcHgsIDAgLTExMnB4LCAtMjBweCAtMTEycHgsIC00MHB4IC0xMTJweFxuICBkYXJrOiAtODBweCAtNDBweCwgLTEwMHB4IC00MHB4LCAtMTIwcHggLTQwcHgsIC0xNDBweCAtNDBweCwgLTgwcHggLTExMnB4LCAtMTAwcHggLTExMnB4LCAtMTIwcHggLTExMnB4XG4gICovXG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTZweDtcbiAgLyogXG4gIHNwcml0ZXMgbG9jYXRpb25zIFxuICBsaWdodDogMCAtNTZweCwgLTIwcHggLTU2cHgsIC00MHB4IC01NnB4LCAtNjBweCAtNTZweCwgMCAtMTI4cHgsIC0yMHB4IC0xMjhweCwgLTQwcHggLTEyOHB4XG4gIGRhcms6IC04MHB4IC01NnB4LCAtMTAwcHggLTU2cHgsIC0xMjBweCAtNTZweCwgLTE0MHB4IC01NnB4LCAtODBweCAtMTI4cHgsIC0xMDBweCAtMTI4cHgsIC0xMjBweCAtMTI4cHhcbiAgKi9cbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXA6aG92ZXIsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duOmhvdmVyLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdDpob3Zlcixcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0OmhvdmVyIHtcbiAgb3BhY2l0eTogMC43NTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjtcbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXA6YWN0aXZlLFxuLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bjphY3RpdmUsXG4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0OmFjdGl2ZSxcbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0OmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT05MClcIjtcbn1cblxuLyogdGhlbWU6IFwiZGFya1wiICovXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRDQxMzg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDY1LCA1NiwgMC4xNSk7XG59XG5cbi5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuNzUpO1xufVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjg1KTtcbn1cblxuLm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuOSk7XG59XG5cbi5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDtcbn1cblxuLm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMHB4O1xufVxuXG4ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQwcHg7XG59XG5cbi5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTU2cHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lOiBcImxpZ2h0LTJcIiwgXCJkYXJrLTJcIiAqL1xuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbn1cblxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xufVxuXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIG1hcmdpbjogNnB4IGF1dG87XG59XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xufVxuXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cblxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwO1xufVxuXG4ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIwcHg7XG59XG5cbi5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtNDBweDtcbn1cblxuLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtNTZweDtcbn1cblxuLyogdGhlbWU6IFwiZGFyay0yXCIgKi9cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuMSk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xufVxuXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuNzUpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbn1cblxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjg1KTtcbn1cblxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjkpO1xufVxuXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IDA7XG59XG5cbi5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMjBweDtcbn1cblxuLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC00MHB4O1xufVxuXG4ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC01NnB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiB0aGVtZTogXCJsaWdodC10aGlja1wiLCBcImRhcmstdGhpY2tcIiAqL1xuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBtYXJnaW46IDZweCAwO1xufVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNnB4O1xuICBtYXJnaW46IDVweCBhdXRvO1xufVxuXG4ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG59XG5cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG5cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IDA7XG59XG5cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwcHg7XG59XG5cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTQwcHg7XG59XG5cbi5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC01NnB4O1xufVxuXG4vKiB0aGVtZTogXCJkYXJrLXRoaWNrXCIgKi9cbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjEpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRDQxMzg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDY1LCA1NiwgMC43NSk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjg1KTtcbn1cblxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuOSk7XG59XG5cbi5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMDtcbn1cblxuLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0yMHB4O1xufVxuXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC00MHB4O1xufVxuXG4ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtNTZweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWU6IFwibGlnaHQtdGhpblwiLCBcImRhcmstdGhpblwiICovXG4ubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAycHg7XG59XG5cbi5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIG1hcmdpbjogN3B4IGF1dG87XG59XG5cbi8qIHRoZW1lIFwiZGFyay10aGluXCIgKi9cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuMTUpO1xufVxuXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuNzUpO1xufVxuXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuODUpO1xufVxuXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuOSk7XG59XG5cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwO1xufVxuXG4ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjBweDtcbn1cblxuLm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQwcHg7XG59XG5cbi5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNTZweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWUgXCJyb3VuZGVkXCIsIFwicm91bmRlZC1kYXJrXCIsIFwicm91bmRlZC1kb3RzXCIsIFwicm91bmRlZC1kb3RzLWRhcmtcIiAqL1xuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIge1xuICBoZWlnaHQ6IDE0cHg7XG59XG5cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIHdpZHRoOiAxNHB4O1xuICBtYXJnaW46IDAgMXB4O1xufVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcixcbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciB7XG4gIHdpZHRoOiAxNHB4O1xufVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luOiAxcHggMDtcbn1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogMTZweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW46IC0xcHggMDtcbn1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogNHB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xufVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgaGVpZ2h0OiAxNnB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuICB3aWR0aDogMTZweDtcbiAgbWFyZ2luOiAwIC0xcHg7XG59XG5cbi5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBoZWlnaHQ6IDRweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cbiAgbWFyZ2luOiA2cHggMDtcbn1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC03MnB4O1xufVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTJweDtcbn1cblxuLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMnB4O1xufVxuXG4ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4O1xufVxuXG4vKiB0aGVtZSBcInJvdW5kZWQtZGFya1wiLCBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjc1KTtcbn1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRDQxMzg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDY1LCA1NiwgMC4xNSk7XG59XG5cbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjg1KTtcbn1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRDQxMzg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDY1LCA1NiwgMC45KTtcbn1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC03MnB4O1xufVxuXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtOTJweDtcbn1cblxuLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTExMnB4O1xufVxuXG4ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTEyOHB4O1xufVxuXG4vKiB0aGVtZSBcInJvdW5kZWQtZG90c1wiLCBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogNHB4O1xufVxuXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FZQUFBREVENzZMQUFBQU5FbEVRVlFZVjJOa0lBQVlpVmJ3Ly85L1k2RGlNMUFOSm95TWpHZEJiTGdKUUFYL2tVMERLZ0RMa2FRQXZ4VzRIRXZRRndDUmN4SUpLMVh6bkFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgb3BhY2l0eTogMC4zO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiO1xufVxuXG4ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGhlaWdodDogNHB4O1xuICBtYXJnaW46IDZweCAwO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNzJweDtcbn1cblxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTkycHg7XG59XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC0xMTJweDtcbn1cblxuLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC0xMjhweDtcbn1cblxuLyogdGhlbWUgXCJyb3VuZGVkLWRvdHMtZGFya1wiICovXG4ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTEVsRVFWUVlWMk5rSUFBWVNWRmdERlI4QnFyQkJFaWZCYkdSVGZpUFpocFlqaVFGQkszQTZsNkN2Z0FBRTlrR0NkMW12Z0VBQUFBQVNVVk9SSzVDWUlJPVwiKTtcbn1cblxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTcycHg7XG59XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTkycHg7XG59XG5cbi5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xMTJweDtcbn1cblxuLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xMjhweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWUgXCIzZFwiLCBcIjNkLWRhcmtcIiwgXCIzZC10aGlja1wiLCBcIjNkLXRoaWNrLWRhcmtcIiAqL1xuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG59XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbn1cblxuLyogdGhlbWUgXCIzZFwiLCBcIjNkLWRhcmtcIiAqL1xuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyIHtcbiAgaGVpZ2h0OiA3MHB4O1xufVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIHtcbiAgd2lkdGg6IDcwcHg7XG59XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyxcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7XG4gIC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjtcbn1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbn1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuMik7XG4gIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDFweCByZ2JhKDYxLCA2NSwgNTYsIDAuNSksIGluc2V0IC0xcHggMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xufVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogOHB4O1xufVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4cHg7XG4gIG1hcmdpbjogNHB4IDA7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDYxLCA2NSwgNTYsIDAuNSksIGluc2V0IDAgLTFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW46IDRweCBhdXRvO1xufVxuXG4ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNzJweDtcbn1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDtcbn1cblxuLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7XG59XG5cbi5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMjhweDtcbn1cblxuLyogdGhlbWUgXCIzZC1kYXJrXCIgKi9cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjEpO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAxcHggcmdiYSg2MSwgNjUsIDU2LCAwLjEpO1xufVxuXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoNjEsIDY1LCA1NiwgMC4xKTtcbn1cblxuLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7XG59XG5cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTkycHg7XG59XG5cbi5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTExMnB4O1xufVxuXG4ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTI4cHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lOiBcIjNkLXRoaWNrXCIsIFwiM2QtdGhpY2stZGFya1wiICovXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyB7XG4gIG9wYWNpdHk6IDE7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7XG59XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyxcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzLFxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA3cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogN3B4O1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG59XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4ubUNTQl9pbnNpZGUgKyAubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsXG4ubUNTQl9pbnNpZGUgKyAubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCB7XG4gIHJpZ2h0OiAxcHg7XG59XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCxcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMXB4IHJnYmEoNjEsIDY1LCA1NiwgMC4xKSwgaW5zZXQgMCAwIDE0cHggcmdiYSg2MSwgNjUsIDU2LCAwLjUpO1xufVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwge1xuICBib3R0b206IDFweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoNjEsIDY1LCA1NiwgMC4xKSwgaW5zZXQgMCAwIDE0cHggcmdiYSg2MSwgNjUsIDU2LCAwLjUpO1xufVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgd2lkdGg6IDEycHg7XG4gIG1hcmdpbjogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG59XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbn1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGhlaWdodDogMTJweDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjA1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAxNnB4IHJnYmEoNjEsIDY1LCA1NiwgMC4xKTtcbn1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4O1xufVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05MnB4O1xufVxuXG4ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMTJweDtcbn1cblxuLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4O1xufVxuXG4vKiB0aGVtZTogXCIzZC10aGljay1kYXJrXCIgKi9cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDE0cHggcmdiYSg2MSwgNjUsIDU2LCAwLjIpO1xufVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoNjEsIDY1LCA1NiwgMC4xKSwgaW5zZXQgMCAwIDE0cHggcmdiYSg2MSwgNjUsIDU2LCAwLjIpO1xufVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCksIGluc2V0IC0xcHggMCAwIHJnYmEoNjEsIDY1LCA1NiwgMC4yKTtcbn1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCksIGluc2V0IDAgLTFweCAwIHJnYmEoNjEsIDY1LCA1NiwgMC4yKTtcbn1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG59XG5cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuMDUpO1xuICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDE2cHggcmdiYSg2MSwgNjUsIDU2LCAwLjEpO1xufVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNzJweDtcbn1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDtcbn1cblxuLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7XG59XG5cbi5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWU6IFwibWluaW1hbFwiLCBcIm1pbmltYWwtZGFya1wiICovXG4ubUNTQl9vdXRzaWRlICsgLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsXG4ubUNTQl9vdXRzaWRlICsgLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCB7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDEycHggMDtcbn1cblxuLm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwgKyAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsXG4ubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbCArIC5tQ1NCX3Njcm9sbFRvb2xzICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLFxuLm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwtZGFyayArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcbi5tQ3VzdG9tU2Nyb2xsQm94Lm1DUy1taW5pbWFsLWRhcmsgKyAubUNTQl9zY3JvbGxUb29scyArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiAwIDEycHg7XG59XG5cbi8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuLm1DUy1kaXItcnRsID4gLm1DU0Jfb3V0c2lkZSArIC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLFxuLm1DUy1kaXItcnRsID4gLm1DU0Jfb3V0c2lkZSArIC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwge1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbn1cblxuLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXIsXG4ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXIge1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbi5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcixcbi5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIHtcbiAgd2lkdGg6IDUwcHg7XG59XG5cbi5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTIwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MjApXCI7XG59XG5cbi5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT01MClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiO1xufVxuXG4vKiB0aGVtZTogXCJtaW5pbWFsLWRhcmtcIiAqL1xuLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjIpO1xuICBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTIwKVwiO1xufVxuXG4ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuNSk7XG4gIGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiO1xuICAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHRoZW1lIFwibGlnaHQtM1wiLCBcImRhcmstM1wiICovXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuMik7XG59XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICB3aWR0aDogNnB4O1xufVxuXG4ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2cHg7XG4gIG1hcmdpbjogNXB4IDA7XG59XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgd2lkdGg6IDEycHg7XG59XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBoZWlnaHQ6IDEycHg7XG4gIG1hcmdpbjogMnB4IDA7XG59XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7XG59XG5cbi5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDtcbn1cblxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMTJweDtcbn1cblxuLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7XG59XG5cbi8qIHRoZW1lIFwiZGFyay0zXCIgKi9cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRDQxMzg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDY1LCA1NiwgMC43NSk7XG59XG5cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRDQxMzg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDY1LCA1NiwgMC44NSk7XG59XG5cbi5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRDQxMzg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDY1LCA1NiwgMC45KTtcbn1cblxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzRDQxMzg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDY1LCA1NiwgMC4xKTtcbn1cblxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNzJweDtcbn1cblxuLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4O1xufVxuXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTExMnB4O1xufVxuXG4ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogdGhlbWUgXCJpbnNldFwiLCBcImluc2V0LWRhcmtcIiwgXCJpbnNldC0yXCIsIFwiaW5zZXQtMi1kYXJrXCIsIFwiaW5zZXQtM1wiLCBcImluc2V0LTMtZGFya1wiICovXG4ubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIHdpZHRoOiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuMik7XG59XG5cbi5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcixcbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgd2lkdGg6IDZweDtcbiAgbWFyZ2luOiAzcHggNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4ubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGhlaWdodDogNnB4O1xuICBtYXJnaW46IDVweCAzcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGF1dG87XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW46IDJweCAwO1xufVxuXG4ubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsXG4ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7XG59XG5cbi5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLFxuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDtcbn1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsXG4ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMTJweDtcbn1cblxuLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0LFxuLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00MHB4IC0xMjhweDtcbn1cblxuLyogdGhlbWUgXCJpbnNldC1kYXJrXCIsIFwiaW5zZXQtMi1kYXJrXCIsIFwiaW5zZXQtMy1kYXJrXCIgKi9cbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuNzUpO1xufVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjg1KTtcbn1cblxuLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuOSk7XG59XG5cbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCxcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuMSk7XG59XG5cbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7XG59XG5cbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTkycHg7XG59XG5cbi5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsXG4ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTExMnB4O1xufVxuXG4ubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCxcbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDtcbn1cblxuLyogdGhlbWUgXCJpbnNldC0yXCIsIFwiaW5zZXQtMi1kYXJrXCIgKi9cbi5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLFxuLm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBib3JkZXItY29sb3I6ICMzRDQxMzg7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjIpO1xufVxuXG4vKiB0aGVtZSBcImluc2V0LTNcIiwgXCJpbnNldC0zLWRhcmtcIiAqL1xuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG59XG5cbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuNik7XG59XG5cbi5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuNzUpO1xufVxuXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENDEzODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjg1KTtcbn1cblxuLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q0MTM4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuOSk7XG59XG5cbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG59XG5cbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG59XG5cbi5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG4ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjM0Q0MTM4O1xuICBvcGFjaXR5OiAwLjk7XG59XG5cbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ubWZwLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1O1xufVxuXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LFxuLm1mcC1hamF4LWhvbGRlciAubWZwLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvO1xufVxuXG4ubWZwLWFqYXgtY3VyIHtcbiAgY3Vyc29yOiBwcm9ncmVzcztcbn1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDtcbn1cblxuLm1mcC16b29tIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjtcbn1cblxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xuICBjdXJzb3I6IGF1dG87XG59XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWZwLWhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICNDQ0M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDQ0O1xufVxuLm1mcC1wcmVsb2FkZXIgYSB7XG4gIGNvbG9yOiAjQ0NDO1xufVxuLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYnV0dG9uLm1mcC1jbG9zZSwgYnV0dG9uLm1mcC1hcnJvdyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDEwNDY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xufVxuLm1mcC1jbG9zZTpob3ZlciwgLm1mcC1jbG9zZTpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7XG59XG4ubWZwLWNsb3NlOmFjdGl2ZSB7XG4gIHRvcDogMXB4O1xufVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjZmZmO1xuICByaWdodDogLTZweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5tZnAtY291bnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY29sb3I6ICNDQ0M7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLm1mcC1hcnJvdzphY3RpdmUge1xuICBtYXJnaW4tdG9wOiAtNTRweDtcbn1cbi5tZnAtYXJyb3c6aG92ZXIsIC5tZnAtYXJyb3c6Zm9jdXMge1xuICBvcGFjaXR5OiAxO1xufVxuLm1mcC1hcnJvdzpiZWZvcmUsIC5tZnAtYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDtcbn1cbi5tZnAtYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xuICB0b3A6IDhweDtcbn1cbi5tZnAtYXJyb3c6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4ubWZwLWFycm93LWxlZnQge1xuICBsZWZ0OiAwO1xufVxuLm1mcC1hcnJvdy1sZWZ0OmFmdGVyIHtcbiAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAzMXB4O1xufVxuLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjtcbn1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gIHJpZ2h0OiAwO1xufVxuLm1mcC1hcnJvdy1yaWdodDphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAzOXB4O1xufVxuLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBib3JkZXItbGVmdDogMjdweCBzb2xpZCAjM0YzRjNGO1xufVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDkwMHB4O1xufVxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICB0b3A6IC00MHB4O1xufVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlO1xufVxuLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi8qIE1haW4gaW1hZ2UgaW4gcG9wdXAgKi9cbmltZy5tZnAtaW1nIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovXG4ubWZwLWZpZ3VyZSB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuLm1mcC1maWd1cmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNDBweDtcbiAgYm90dG9tOiA0MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IC0xO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYmFja2dyb3VuZDogIzQ0NDtcbn1cbi5tZnAtZmlndXJlIHNtYWxsIHtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xufVxuLm1mcC1maWd1cmUgZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubWZwLWJvdHRvbS1iYXIge1xuICBtYXJnaW4tdG9wOiAtMzZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87XG59XG5cbi5tZnAtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6ICNmZmY7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZy1yaWdodDogMzZweDtcbn1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkge1xuICAvKipcbiAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgKi9cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogM3B4O1xuICB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tZnAtYXJyb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICB9XG4gIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7XG4gIH1cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gIH1cbiAgLm1mcC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgfVxufVxuLm1mcC13aXRoLXpvb20gLm1mcC1jb250YWluZXIsXG4ubWZwLXdpdGgtem9vbS5tZnAtYmcge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLm1mcC13aXRoLXpvb20ubWZwLXJlYWR5IC5tZnAtY29udGFpbmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1mcC13aXRoLXpvb20ubWZwLXJlYWR5Lm1mcC1iZyB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLm1mcC13aXRoLXpvb20ubWZwLXJlbW92aW5nIC5tZnAtY29udGFpbmVyLFxuLm1mcC13aXRoLXpvb20ubWZwLXJlbW92aW5nLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5idXR0b24sIC5mb3JtaW5hdG9yLWJ1dHRvbiwgLmZvcm1pbmF0b3ItYnV0dG9uW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rLFxuaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAyNXJlbTtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4uYnV0dG9uLCAuZm9ybWluYXRvci1idXR0b24sIC5mb3JtaW5hdG9yLWJ1dHRvbltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluayxcbi5idXR0b24gcCxcbi5mb3JtaW5hdG9yLWJ1dHRvbiBwLFxuLmZvcm1pbmF0b3ItYnV0dG9uW2Rpc2FibGVkXSBwLFxuLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rIHAsXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5pbnB1dFt0eXBlPXN1Ym1pdF0gcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG4uYnV0dG9uOmhvdmVyLCAuZm9ybWluYXRvci1idXR0b246aG92ZXIsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmJ1dHRvbjphY3RpdmUsIC5mb3JtaW5hdG9yLWJ1dHRvbjphY3RpdmUsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazphY3RpdmUsXG5pbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIsXG5pbnB1dFt0eXBlPXN1Ym1pdF06YWN0aXZlIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLmJ1dHRvbiAubWFpbi10ZXh0LCAuZm9ybWluYXRvci1idXR0b24gLm1haW4tdGV4dCwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rIC5tYWluLXRleHQsXG5pbnB1dFt0eXBlPXN1Ym1pdF0gLm1haW4tdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIm51bml0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHRyYW5zZm9ybTogc2tld1goOWRlZyk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYnV0dG9uIHAsIC5mb3JtaW5hdG9yLWJ1dHRvbiBwLCAuZm9ybWluYXRvci1idXR0b25bZGlzYWJsZWRdIHAsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluayBwLFxuaW5wdXRbdHlwZT1zdWJtaXRdIHAge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xufVxuLmJ1dHRvbiAubWFpbi10ZXh0LCAuZm9ybWluYXRvci1idXR0b24gLm1haW4tdGV4dCwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rIC5tYWluLXRleHQsXG5pbnB1dFt0eXBlPXN1Ym1pdF0gLm1haW4tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG4uYnV0dG9uIHAsIC5mb3JtaW5hdG9yLWJ1dHRvbiBwLCAuZm9ybWluYXRvci1idXR0b25bZGlzYWJsZWRdIHAsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluayBwLFxuaW5wdXRbdHlwZT1zdWJtaXRdIHAge1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5idXR0b24gLm1haW4tdGV4dCwgLmZvcm1pbmF0b3ItYnV0dG9uIC5tYWluLXRleHQsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluayAubWFpbi10ZXh0LFxuICBpbnB1dFt0eXBlPXN1Ym1pdF0gLm1haW4tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbiAgLmJ1dHRvbiBwLCAuZm9ybWluYXRvci1idXR0b24gcCwgLmZvcm1pbmF0b3ItYnV0dG9uW2Rpc2FibGVkXSBwLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmsgcCxcbiAgaW5wdXRbdHlwZT1zdWJtaXRdIHAge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLmJ1dHRvbi5jMmEtYnRuLCAuZWRpdC1saW5rIGEuYzJhLWJ0bi5wb3N0LWVkaXQtbGluaywgLmZvcm1pbmF0b3ItYnV0dG9uLCAuZm9ybWluYXRvci1idXR0b25bZGlzYWJsZWRdLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmsuZm9ybWluYXRvci1idXR0b24sXG5pbnB1dFt0eXBlPXN1Ym1pdF0uYzJhLWJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICB0cmFuc2Zvcm06IHNrZXdYKC05ZGVnKTtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDEuMjVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzVCQjU5O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5idXR0b24uYzJhLWJ0biwgLmVkaXQtbGluayBhLmMyYS1idG4ucG9zdC1lZGl0LWxpbmssIC5mb3JtaW5hdG9yLWJ1dHRvbiwgLmZvcm1pbmF0b3ItYnV0dG9uW2Rpc2FibGVkXSwgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rLmZvcm1pbmF0b3ItYnV0dG9uLFxuICBpbnB1dFt0eXBlPXN1Ym1pdF0uYzJhLWJ0biB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uYnV0dG9uLmMyYS1idG4sIC5lZGl0LWxpbmsgYS5jMmEtYnRuLnBvc3QtZWRpdC1saW5rLCAuZm9ybWluYXRvci1idXR0b24sIC5mb3JtaW5hdG9yLWJ1dHRvbltkaXNhYmxlZF0sIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluay5mb3JtaW5hdG9yLWJ1dHRvbixcbmlucHV0W3R5cGU9c3VibWl0XS5jMmEtYnRuIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG59XG4uYnV0dG9uLmMyYS1idG46aG92ZXIsIC5lZGl0LWxpbmsgYS5jMmEtYnRuLnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuZm9ybWluYXRvci1idXR0b246aG92ZXIsIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluay5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlciwgLmJ1dHRvbi5jMmEtYnRuOmZvY3VzLCAuZWRpdC1saW5rIGEuYzJhLWJ0bi5wb3N0LWVkaXQtbGluazpmb2N1cywgLmZvcm1pbmF0b3ItYnV0dG9uOmZvY3VzLCAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmsuZm9ybWluYXRvci1idXR0b246Zm9jdXMsXG5pbnB1dFt0eXBlPXN1Ym1pdF0uYzJhLWJ0bjpob3ZlcixcbmlucHV0W3R5cGU9c3VibWl0XS5jMmEtYnRuOmZvY3VzIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogIzAwODA1MTtcbiAgY29sb3I6ICNFMkUzNjc7XG59XG5cbi5idG4tZ3JvdXAgLmJ1dHRvbiwgLmJ0bi1ncm91cCAuZm9ybWluYXRvci1idXR0b24sIC5idG4tZ3JvdXAgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rLCAuZWRpdC1saW5rIC5idG4tZ3JvdXAgYS5wb3N0LWVkaXQtbGluayB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cbi5idG4tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnRuLWdyb3VwIC5mb3JtaW5hdG9yLWJ1dHRvbjpsYXN0LWNoaWxkLCAuYnRuLWdyb3VwIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpsYXN0LWNoaWxkLCAuZWRpdC1saW5rIC5idG4tZ3JvdXAgYS5wb3N0LWVkaXQtbGluazpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTEgLmNhbGxvdXQsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTEgLmNhbGxvdXQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTtcbn1cbi5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMiAuY2FsbG91dCwgLmZ3LWNvbnRlbnQgLmltYWdlLWNhbGxvdXRzLmNhbGxvdXQtY29scy0zIC5jYWxsb3V0LCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmltYWdlLWNhbGxvdXRzLmNhbGxvdXQtY29scy0yIC5jYWxsb3V0LCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmltYWdlLWNhbGxvdXRzLmNhbGxvdXQtY29scy0zIC5jYWxsb3V0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuLmZ3LWNvbnRlbnQgLmltYWdlLWNhbGxvdXRzLmNhbGxvdXQtY29scy0yIC5jYWxsb3V0OmZpcnN0LWNoaWxkLCAuZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTMgLmNhbGxvdXQ6Zmlyc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTIgLmNhbGxvdXQ6Zmlyc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTMgLmNhbGxvdXQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmZ3LWNvbnRlbnQgLmltYWdlLWNhbGxvdXRzLmNhbGxvdXQtY29scy0yIC5jYWxsb3V0Omxhc3QtY2hpbGQsIC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMyAuY2FsbG91dDpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmltYWdlLWNhbGxvdXRzLmNhbGxvdXQtY29scy0yIC5jYWxsb3V0Omxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMuY2FsbG91dC1jb2xzLTMgLmNhbGxvdXQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMgLmNhbGxvdXQgLmNhbGxvdXQtZnJhbWUsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMgLmNhbGxvdXQgLmNhbGxvdXQtZnJhbWUge1xuICBwYWRkaW5nLWJvdHRvbTogMzcuNSU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cywgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICB9XG4gIC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMSAuY2FsbG91dCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMSAuY2FsbG91dCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAzLjEyNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuNTYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDEuMjVyZW0pO1xuICB9XG4gIC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMiAuY2FsbG91dCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMiAuY2FsbG91dCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy4xMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMS41NjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5mdy1jb250ZW50IC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMyAuY2FsbG91dCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5pbWFnZS1jYWxsb3V0cy5jYWxsb3V0LWNvbHMtMyAuY2FsbG91dCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmZ3LWNvbnRlbnQgLmltYWdlLWNhbGxvdXRzIC5jYWxsb3V0IC5jYWxsb3V0LWZyYW1lLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmltYWdlLWNhbGxvdXRzIC5jYWxsb3V0IC5jYWxsb3V0LWZyYW1lIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjYuNyU7XG4gIH1cbn1cbi50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4udGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuY2FsbG91dC1jb2xzLTEgLmNhbGxvdXQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTtcbn1cbi50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5jYWxsb3V0LWNvbHMtMiAuY2FsbG91dCwgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyLmNhbGxvdXQtY29scy0zIC5jYWxsb3V0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG4udGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuY2FsbG91dC1jb2xzLTIgLmNhbGxvdXQ6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyLmNhbGxvdXQtY29scy0zIC5jYWxsb3V0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZmVhdHVyZWQtaGVybyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiA2LjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmZlYXR1cmVkLWhlcm8ge1xuICAgIGhlaWdodDogMTIuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZmVhdHVyZWQtaGVybyB7XG4gICAgaGVpZ2h0OiAyNXJlbTtcbiAgfVxufVxuXG4uZG90dGVkLCAuc2VjdGlvbi1kaXZpZGVyIGhyIHtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIG1hcmdpbjogMnJlbSAwO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyBbZGF0YS13aGF0aW5wdXQ9dG91Y2hdIGE6Zm9jdXMsXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkIHJnYmEoMTYzLCAxNjMsIDE2MywgMC4yNSk7XG4gIGNvbG9yOiAjM0Q0MTM4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMXJlbTtcbn1cbi5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b206IDAuMzEyNXJlbSBzb2xpZCAjM0Q0MTM4O1xuICBib3JkZXItbGVmdDogMC4zMTI1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDAuMzEyNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAtMC4xODc1cmVtO1xuICB3aWR0aDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG59XG4uYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgcmdiYSgxNjMsIDE2MywgMTYzLCAwLjUpO1xuICBib3JkZXItdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAtMC4xODc1cmVtO1xuICBwYWRkaW5nLXRvcDogMS4xODc1cmVtO1xufVxuXG4ubHQtZ3JheS1iZyAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLFxuLmx0LWdyYXktYmcgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuMjUpO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDYxLCA2NSwgNTYsIDAuNzUpO1xufVxuLmx0LWdyYXktYmcgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhM2EzYTM7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmx0LWdyYXktYmcgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4zMTI1cmVtIHNvbGlkICNmZmY7XG4gIGJvcmRlci1sZWZ0OiAwLjMxMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMC4zMTI1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NUJCNTk7XG4gIHRyYW5zZm9ybTogc2tld1goLTlkZWcpO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAyNHB4O1xuICBwYWRkaW5nOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMC45OTFcIiBoZWlnaHQ9XCIxMC45OTFcIiB2aWV3Qm94PVwiMCAwIDEwLjk5MSAxMC45OTFcIj48cGF0aCBpZD1cIlBhdGhfNTA4XCIgZGF0YS1uYW1lPVwiUGF0aCA1MDhcIiBkPVwiTS01MDgyLjI0NywyNjY1LjI5MmgtNS43ODJ2NS43NjFcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE3MDMuNTU3IDU0ODcuOTE0KSByb3RhdGUoMTM1KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzZmZmXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIi8+PC9zdmc+Jyk7XG59XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyNTI1MjtcbiAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMC45OTFcIiBoZWlnaHQ9XCIxMC45OTFcIiB2aWV3Qm94PVwiMCAwIDEwLjk5MSAxMC45OTFcIj48cGF0aCBpZD1cIlBhdGhfNTA4XCIgZGF0YS1uYW1lPVwiUGF0aCA1MDhcIiBkPVwiTS01MDgyLjI0NywyNjY1LjI5MmgtNS43ODJ2NS43NjFcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE3MDMuNTU3IDU0ODcuOTE0KSByb3RhdGUoMTM1KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzRTJFMzY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIi8+PC9zdmc+Jyk7XG59XG5cbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciAuYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbmJsb2NrcXVvdGUgLnF1b3RlLXRleHQge1xuICBjb2xvcjogIzNENDEzODtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbmJsb2NrcXVvdGUgLnF1b3RlLXRleHQ6YmVmb3JlLCBibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmFmdGVyIHtcbiAgY29sb3I6ICM3NUJCNTk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5ibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCcXCI7XG59XG5ibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmFmdGVyIHtcbiAgY29udGVudDogXCLigJ1cIjtcbn1cblxuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDAgMCAwIDEuODc1cmVtO1xufVxuYmxvY2txdW90ZSAucXVvdGUtdGV4dDpiZWZvcmUsIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQ6YWZ0ZXIge1xuICBmb250LXNpemU6IDIuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xufVxuYmxvY2txdW90ZSAucXVvdGUtdGV4dDpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogLTEuODc1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAxLjg3NXJlbTtcbiAgfVxuICBibG9ja3F1b3RlIC5xdW90ZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG4gIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQ6YmVmb3JlLCBibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmFmdGVyIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbWFyZ2luLXRvcDogMC44NzVyZW07XG4gIH1cbiAgYmxvY2txdW90ZSAucXVvdGUtdGV4dDpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGJsb2NrcXVvdGUge1xuICAgIHBhZGRpbmc6IDAgMCAwIDEuODc1cmVtO1xuICB9XG4gIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG4gIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQ6YmVmb3JlLCBibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmFmdGVyIHtcbiAgICBmb250LXNpemU6IDMuNzVyZW07XG4gICAgbWFyZ2luLXRvcDogMS4xMjVyZW07XG4gIH1cbiAgYmxvY2txdW90ZSAucXVvdGUtdGV4dDpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gIH1cbn1cbi5tZC1ncmF5LWJnIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQge1xuICBjb2xvcjogIzNENDEzODtcbn1cbi5tZC1ncmF5LWJnIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQ6YmVmb3JlLCAubWQtZ3JheS1iZyBibG9ja3F1b3RlIC5xdW90ZS10ZXh0OmFmdGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4ubWQtZ3JheS1iZyBibG9ja3F1b3RlIGNpdGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJsYWNrLWJnIGJsb2NrcXVvdGUgLnF1b3RlLXRleHQge1xuICBjb2xvcjogI2U2ZTZlNjtcbn1cblxuLmltZy1nYWxsZXJ5LWl0ZW0gYSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc3RkLWJsb2NrLWdyaWQgLmltZy1nYWxsZXJ5LWl0ZW0gYSB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG4uc3RkLWJsb2NrLWdyaWQgLmltZy1nYWxsZXJ5LWl0ZW0gYSBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmltZy1nYWxsZXJ5LWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc3RkLWJsb2NrLWdyaWQgLmltZy1nYWxsZXJ5LWl0ZW0gYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIH1cbiAgLmltZy1nYWxsZXJ5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5pbWctZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG4uc3RkLWJsb2NrLWdyaWQgLmltZy1nYWxsZXJ5LWl0ZW0gaW1nLmxhbmRzY2FwZS1pbWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG59XG4uc3RkLWJsb2NrLWdyaWQgLmltZy1nYWxsZXJ5LWl0ZW0gaW1nLnBvcnRyYWl0LWltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbn1cblxuLmNhbGxvdXQtbW9kYWwucmV2ZWFsIHtcbiAgcGFkZGluZzogMy4xMjVyZW07XG59XG4uY2FsbG91dC1tb2RhbC5yZXZlYWwgcDpsYXN0LWNoaWxkLCAuY2FsbG91dC1tb2RhbC5yZXZlYWwgdWw6bGFzdC1jaGlsZCwgLmNhbGxvdXQtbW9kYWwucmV2ZWFsIG9sOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNhbGxvdXQtbW9kYWwucmV2ZWFsIC5jYXB0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmNhbGxvdXQgLnNjYWxlZC1pbWFnZSBpbWcge1xuICBtYXgtaGVpZ2h0OiAyMS44NzVyZW07XG59XG4uY2FsbG91dCAuZGVzaWduYXRpb25zIHtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG59XG4uY2FsbG91dCAudGl0bGUtdGV4dCwgLmNhbGxvdXQgLmRlc2lnbmF0aW9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5jYWxsb3V0IC5jYWxsb3V0LXRleHQge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cbi5jYWxsb3V0IC5jYWxsb3V0LXRleHQgLm1haW4tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uY2FsbG91dCAuY2FsbG91dC10ZXh0IC5tYWluLXRleHQ6OmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLm1vZGFsLWNhbGxvdXRzIC5jYWxsb3V0IC5jYXB0aW9uLCAuY2FsbG91dC1tb2RhbCAuY2FwdGlvbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmNhbGxvdXQtbW9kYWwgLmRlc2lnbmF0aW9ucyB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2FsbG91dCAuc2NhbGVkLWltYWdlIGltZyB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxuICAuY2FsbG91dCAuZGVzaWduYXRpb25zIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgfVxuICAuY2FsbG91dCAuY2FsbG91dC10ZXh0IHtcbiAgICBwYWRkaW5nOiAxMi41cHggMDtcbiAgfVxuICAuY2FsbG91dCAuY2FsbG91dC10ZXh0IC5tYWluLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIH1cbiAgLmNhbGxvdXQtbW9kYWwgLmRlc2lnbmF0aW9ucyB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNhbGxvdXQtbW9kYWwgLmRlc2lnbmF0aW9ucyB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgfVxufVxuLm1vZGFsLWNhbGxvdXRzIC5jYWxsb3V0IGEuc2NhbGVkLWltYWdlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cbi5tb2RhbC1jYWxsb3V0cyAuY2FsbG91dCBhLnNjYWxlZC1pbWFnZTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5tb2RhbC1jYWxsb3V0cyAuY2FsbG91dCAuc2NhbGVkLWltYWdlIC5pbWctd3JhcCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAyMDQuNSwgMTI5LjQxMDE1NjI1KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm1vZGFsLWNhbGxvdXRzIC5jYWxsb3V0IC5zY2FsZWQtaW1hZ2UgLmltZy13cmFwLCAubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQgLnNjYWxlZC1pbWFnZSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4ubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQgYS5tYWluLXRleHQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcbiAgYmFja2dyb3VuZC1zaXplOiAwJSAxMDAlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjNzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDAuM3MgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjNzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjNzIGVhc2U7XG59XG4ubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQgYS5tYWluLXRleHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cbi5tb2RhbC1jYWxsb3V0cyAuY2FsbG91dCAuY2FwdGlvbiwgLm1vZGFsLWNhbGxvdXRzIC5jYWxsb3V0IC5zbS1idG5zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4ubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQgLmNhcHRpb24ge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG5cbi5yZXZlYWwgLmNsb3NlLWJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLnRhYnMsXG4uZG9jLWZpbHRlcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi50YWJzIC50YWJzLXRpdGxlLFxuLnRhYnMgLnJlcy1maWx0ZXIsXG4uZG9jLWZpbHRlcnMgLnRhYnMtdGl0bGUsXG4uZG9jLWZpbHRlcnMgLnJlcy1maWx0ZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4udGFicyAudGFicy10aXRsZSBhLFxuLnRhYnMgLnJlcy1maWx0ZXIgYSxcbi5kb2MtZmlsdGVycyAudGFicy10aXRsZSBhLFxuLmRvYy1maWx0ZXJzIC5yZXMtZmlsdGVyIGEge1xuICBib3JkZXItcmFkaXVzOiAwLjg3NXJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG59XG4udGFicyAudGFicy10aXRsZTpub3QoLmlzLWFjdGl2ZSkgYSxcbi50YWJzIC5yZXMtZmlsdGVyOm5vdCguaXMtYWN0aXZlKSBhLFxuLmRvYy1maWx0ZXJzIC50YWJzLXRpdGxlOm5vdCguaXMtYWN0aXZlKSBhLFxuLmRvYy1maWx0ZXJzIC5yZXMtZmlsdGVyOm5vdCguaXMtYWN0aXZlKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MSwgNjUsIDU2LCAwLjEpO1xufVxuLnRhYnMgLnRhYnMtdGl0bGU6bm90KC5pcy1hY3RpdmUpIGE6aG92ZXIsXG4udGFicyAucmVzLWZpbHRlcjpub3QoLmlzLWFjdGl2ZSkgYTpob3Zlcixcbi5kb2MtZmlsdGVycyAudGFicy10aXRsZTpub3QoLmlzLWFjdGl2ZSkgYTpob3Zlcixcbi5kb2MtZmlsdGVycyAucmVzLWZpbHRlcjpub3QoLmlzLWFjdGl2ZSkgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDY1LCA1NiwgMC4yKTtcbn1cbi50YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhLFxuLnRhYnMgLnJlcy1maWx0ZXIuaXMtYWN0aXZlIGEsXG4uZG9jLWZpbHRlcnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGEsXG4uZG9jLWZpbHRlcnMgLnJlcy1maWx0ZXIuaXMtYWN0aXZlIGEge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnRhYnMgLnRhYnMtdGl0bGUsXG4gIC5kb2MtZmlsdGVycyAudGFicy10aXRsZSB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG4gIC50YWJzIC50YWJzLXRpdGxlIGEsXG4gIC5kb2MtZmlsdGVycyAudGFicy10aXRsZSBhIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgLnRhYnMgLnRhYnMtdGl0bGUgYSxcbiAgLmRvYy1maWx0ZXJzIC50YWJzLXRpdGxlIGEge1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50YWJzIC50YWJzLXRpdGxlLFxuICAuZG9jLWZpbHRlcnMgLnRhYnMtdGl0bGUge1xuICAgIG1hcmdpbjogMCAxcmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAudGV4dC1jb250ZW50LXdpdGgtY3RhLXNpZGViYXIgLm1haW4tY29udGVudC1jb2x1bW4ge1xuICAgIG9yZGVyOiAyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnRleHQtY29udGVudC13aXRoLWN0YS1zaWRlYmFyIC5zZWNvbmRhcnktY29udGVudC1zaWRlYmFyIHtcbiAgICBvcmRlcjogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIH1cbn1cbi50ZXh0LWNvbnRlbnQtd2l0aC1jdGEtc2lkZWJhciAuc2lkZWJhci1idXR0b25zLXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudGV4dC1jb250ZW50LXdpdGgtY3RhLXNpZGViYXIgLnNpZGViYXItYnV0dG9ucy1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMC41NjI1cmVtO1xuICB9XG59XG4udGV4dC1jb250ZW50LXdpdGgtY3RhLXNpZGViYXIgLnNpZGViYXItYnV0dG9ucy1zZWN0aW9uIC5idXR0b24sIC50ZXh0LWNvbnRlbnQtd2l0aC1jdGEtc2lkZWJhciAuc2lkZWJhci1idXR0b25zLXNlY3Rpb24gLmZvcm1pbmF0b3ItYnV0dG9uLCAudGV4dC1jb250ZW50LXdpdGgtY3RhLXNpZGViYXIgLnNpZGViYXItYnV0dG9ucy1zZWN0aW9uIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluaywgLmVkaXQtbGluayAudGV4dC1jb250ZW50LXdpdGgtY3RhLXNpZGViYXIgLnNpZGViYXItYnV0dG9ucy1zZWN0aW9uIGEucG9zdC1lZGl0LWxpbmsge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4xODc1cmVtIDEuMjVyZW07XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cbi50ZXh0LWNvbnRlbnQtd2l0aC1jdGEtc2lkZWJhciAuc2lkZWJhci1idXR0b25zLXNlY3Rpb24gLmJ1dHRvbjpudGgtY2hpbGQob2RkKSwgLnRleHQtY29udGVudC13aXRoLWN0YS1zaWRlYmFyIC5zaWRlYmFyLWJ1dHRvbnMtc2VjdGlvbiAuZm9ybWluYXRvci1idXR0b246bnRoLWNoaWxkKG9kZCksIC50ZXh0LWNvbnRlbnQtd2l0aC1jdGEtc2lkZWJhciAuc2lkZWJhci1idXR0b25zLXNlY3Rpb24gLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rOm50aC1jaGlsZChvZGQpLCAuZWRpdC1saW5rIC50ZXh0LWNvbnRlbnQtd2l0aC1jdGEtc2lkZWJhciAuc2lkZWJhci1idXR0b25zLXNlY3Rpb24gYS5wb3N0LWVkaXQtbGluazpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMkUzNjc7XG4gIGNvbG9yOiAjMDA4MDUxO1xufVxuLnRleHQtY29udGVudC13aXRoLWN0YS1zaWRlYmFyIC5zaWRlYmFyLWJ1dHRvbnMtc2VjdGlvbiAuYnV0dG9uOm50aC1jaGlsZChvZGQpOmhvdmVyLCAudGV4dC1jb250ZW50LXdpdGgtY3RhLXNpZGViYXIgLnNpZGViYXItYnV0dG9ucy1zZWN0aW9uIC5mb3JtaW5hdG9yLWJ1dHRvbjpudGgtY2hpbGQob2RkKTpob3ZlciwgLnRleHQtY29udGVudC13aXRoLWN0YS1zaWRlYmFyIC5zaWRlYmFyLWJ1dHRvbnMtc2VjdGlvbiAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6bnRoLWNoaWxkKG9kZCk6aG92ZXIsIC5lZGl0LWxpbmsgLnRleHQtY29udGVudC13aXRoLWN0YS1zaWRlYmFyIC5zaWRlYmFyLWJ1dHRvbnMtc2VjdGlvbiBhLnBvc3QtZWRpdC1saW5rOm50aC1jaGlsZChvZGQpOmhvdmVyLCAudGV4dC1jb250ZW50LXdpdGgtY3RhLXNpZGViYXIgLnNpZGViYXItYnV0dG9ucy1zZWN0aW9uIC5idXR0b246bnRoLWNoaWxkKG9kZCk6Zm9jdXMsIC50ZXh0LWNvbnRlbnQtd2l0aC1jdGEtc2lkZWJhciAuc2lkZWJhci1idXR0b25zLXNlY3Rpb24gLmZvcm1pbmF0b3ItYnV0dG9uOm50aC1jaGlsZChvZGQpOmZvY3VzLCAudGV4dC1jb250ZW50LXdpdGgtY3RhLXNpZGViYXIgLnNpZGViYXItYnV0dG9ucy1zZWN0aW9uIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpudGgtY2hpbGQob2RkKTpmb2N1cywgLmVkaXQtbGluayAudGV4dC1jb250ZW50LXdpdGgtY3RhLXNpZGViYXIgLnNpZGViYXItYnV0dG9ucy1zZWN0aW9uIGEucG9zdC1lZGl0LWxpbms6bnRoLWNoaWxkKG9kZCk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMDA4MDUxO1xuICBjb2xvcjogI0UyRTM2Nztcbn1cbi50ZXh0LWNvbnRlbnQtd2l0aC1jdGEtc2lkZWJhciAuc2lkZWJhci1jb250ZW50LWFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgMjA0LCAxMjcsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGNvbG9yOiAjM0Q0MTM4O1xuICBwYWRkaW5nOiAxLjg3NXJlbTtcbn1cbi50ZXh0LWNvbnRlbnQtd2l0aC1jdGEtc2lkZWJhciAuc2lkZWJhci1jb250ZW50LWFyZWEgcCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi50ZXh0LWNvbnRlbnQtd2l0aC1jdGEtc2lkZWJhciAuc2lkZWJhci1jb250ZW50LWFyZWEgLmNpdGF0aW9uLXRleHQge1xuICBjb2xvcjogIzAwODA1MTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jYWxsb3V0LWJsb2NrcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG59XG4uY2FsbG91dC1ibG9ja3MgLmNhbGxvdXQtYmxvY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gIH1cbn1cbi5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayAuY2FsbG91dC1ibG9jay1pbnRlcmlvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayAuY2FsbG91dC1ibG9jay1pbnRlcmlvciAuY2FsbG91dC1ibG9jay1leHRyYS1jb3B5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDIwNCwgMTI3LCAwLjI1KTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogN3B4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogN3B4O1xuICBjb2xvcjogIzNENDEzODtcbiAgcGFkZGluZzogMS44NzVyZW07XG59XG4uY2FsbG91dC1ibG9ja3MgLmNhbGxvdXQtYmxvY2sgLmNhbGxvdXQtYmxvY2staW50ZXJpb3IgLmNhbGxvdXQtYmxvY2stZXh0cmEtY29weSAuY2FsbG91dC1idXR0b24taG9sZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIC5jYWxsb3V0LWJsb2NrLWludGVyaW9yIC5jYWxsb3V0LWJsb2NrLWV4dHJhLWNvcHkgcCB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xufVxuLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIC5jYWxsb3V0LWJsb2NrLWludGVyaW9yIC5idXR0b24uYzJhLWJ0biwgLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIC5jYWxsb3V0LWJsb2NrLWludGVyaW9yIC5lZGl0LWxpbmsgYS5jMmEtYnRuLnBvc3QtZWRpdC1saW5rLCAuZWRpdC1saW5rIC5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayAuY2FsbG91dC1ibG9jay1pbnRlcmlvciBhLmMyYS1idG4ucG9zdC1lZGl0LWxpbmssIC5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayAuY2FsbG91dC1ibG9jay1pbnRlcmlvciAuZm9ybWluYXRvci1idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4uY2FsbG91dC1ibG9ja3MgLmNhbGxvdXQtYmxvY2sgLmNhbGxvdXQtYmxvY2staW50ZXJpb3IgLmNhbGxvdXQtaW1hZ2UtbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayAuY2FsbG91dC1ibG9jay1pbnRlcmlvciAuY2FsbG91dC1pbWFnZS1saW5rOmhvdmVyIGgyIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uY2FsbG91dC1ibG9ja3MgLmNhbGxvdXQtYmxvY2sgLmNhbGxvdXQtYmxvY2staW50ZXJpb3IgLmNhbGxvdXQtaW1hZ2UtbGluazpob3ZlciAuY2FsbG91dC1pbWFnZS1ob2xkZXIge1xuICBiYWNrZ3JvdW5kOiAjNzVCQjU5O1xufVxuLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIC5jYWxsb3V0LWJsb2NrLWludGVyaW9yIC5jYWxsb3V0LWltYWdlLWxpbms6aG92ZXIgLmNhbGxvdXQtaW1hZ2UtaG9sZGVyIGltZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cbi5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayAuY2FsbG91dC1ibG9jay1pbnRlcmlvciAuY2FsbG91dC1pbWFnZS1ob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDdweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDdweDtcbn1cbi5jYWxsb3V0LWJsb2NrcyAuY2FsbG91dC1ibG9jayAuY2FsbG91dC1ibG9jay1pbnRlcmlvciAuY2FsbG91dC1pbWFnZS1ob2xkZXIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xufVxuLmNhbGxvdXQtYmxvY2tzIC5jYWxsb3V0LWJsb2NrIC5jYWxsb3V0LWJsb2NrLWludGVyaW9yIC5jYWxsb3V0LWltYWdlLWhvbGRlciAuY2FsbG91dC1oZWFkaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY2FsbG91dC1ibG9ja3MgLmNhbGxvdXQtYmxvY2sgLmNhbGxvdXQtYmxvY2staW50ZXJpb3IgLmNhbGxvdXQtaW1hZ2UtaG9sZGVyIC5jYWxsb3V0LWhlYWRpbmcgaDIge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgY29sb3I6ICNmZmY7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2FsbG91dC1ibG9ja3MgLmNhbGxvdXQtYmxvY2sgLmNhbGxvdXQtYmxvY2staW50ZXJpb3IgLmNhbGxvdXQtaW1hZ2UtaG9sZGVyIC5jYWxsb3V0LWhlYWRpbmcgaDIge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbi1sZWZ0OiAtMzUuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHJlbTtcbiAgfVxufVxuLmltYWdlcy13aXRoLWNvbnRlbnQtc2VjdGlvbiAuY29udGVudC1yb3ctaW1hZ2UtYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIC5jb250ZW50LXJvdy1pbWFnZS1ibG9jayB7XG4gICAgbWluLWhlaWdodDogMTIuNzVyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLmNvbnRlbnQtcm93LWltYWdlLWJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiAxNi42ODc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLmNvbnRlbnQtcm93LWltYWdlLWJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiAxOS4zMTI1cmVtO1xuICB9XG59XG4uaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIC5maXJzdC1pbWFnZS1jb2x1bW4sIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnNlY29uZC1pbWFnZS1jb2x1bW4sIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnRoaXJkLWltYWdlLWNvbHVtbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmltYWdlcy13aXRoLWNvbnRlbnQtc2VjdGlvbiAuZmlyc3QtaW1hZ2UtY29sdW1uLCAuaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIC5zZWNvbmQtaW1hZ2UtY29sdW1uLCAuaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIC50aGlyZC1pbWFnZS1jb2x1bW4sIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLm1haW4tY29udGVudC1jb2x1bW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIC5tYWluLWNvbnRlbnQtY29sdW1uIHtcbiAgICBvcmRlcjogMztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIC5tYWluLWNvbnRlbnQtY29sdW1uIHtcbiAgICB3aWR0aDogNzAwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNi4yNWVtKSB7XG4gIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLm1haW4tY29udGVudC1jb2x1bW4ge1xuICAgIHdpZHRoOiA4MDBweDtcbiAgfVxufVxuLmltYWdlcy13aXRoLWNvbnRlbnQtc2VjdGlvbiAuZmlyc3QtaW1hZ2UtY29sdW1uIHtcbiAgd2lkdGg6IDU4M3B4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLmZpcnN0LWltYWdlLWNvbHVtbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmltYWdlcy13aXRoLWNvbnRlbnQtc2VjdGlvbiAuZmlyc3QtaW1hZ2UtY29sdW1uIC5jb250ZW50LXJvdy1pbWFnZS1ibG9jayB7XG4gIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNTgzLjY4XCIgaGVpZ2h0PVwiMzA5LjU0NVwiIHZpZXdCb3g9XCIwIDAgNTgzLjY4IDMwOS41NDVcIj48cGF0aCBpZD1cIlBhdGhfNTI3XCIgZGF0YS1uYW1lPVwiUGF0aCA1MjdcIiBkPVwiTTU0Mi43MDYtNC40NzFIMTAzLjExNWMtNDMuNDg2LDAtNjQuMDA1LTI5LjE0OS01Ny04MC4xMTNsMjIuMTIzLTE2MC4xM2M2LjA4LTQzLjYyOCwyNy42MTItNjguODIsNjguOTg3LTY4LjgybDQzOC42NjItLjM4NmMzMi4xNzEsMCw1OC44NTQsMjQuOSw1MS4yNTUsODAuMTEzTDYwMy41ODctNjQuMDI1Yy00LjcyOSwzNC4yNjUtMzAuNjUyLDU5LjY1LTYwLjk2NSw1OS42NVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTQ0Ljc3IDMxMy45MilcIiBmaWxsPVwiJTIzYzYzNTI3XCIvPjwvc3ZnPicpO1xuICBtYXNrLXNpemU6IDU4M3B4IDMwOXB4O1xuICBtYXNrLXBvc2l0aW9uOiByaWdodDtcbn1cbi5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnNlY29uZC1pbWFnZS1jb2x1bW4ge1xuICB3aWR0aDogMzczcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmltYWdlcy13aXRoLWNvbnRlbnQtc2VjdGlvbiAuc2Vjb25kLWltYWdlLWNvbHVtbiB7XG4gICAgb3JkZXI6IDE7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuLmltYWdlcy13aXRoLWNvbnRlbnQtc2VjdGlvbiAuc2Vjb25kLWltYWdlLWNvbHVtbiAuY29udGVudC1yb3ctaW1hZ2UtYmxvY2sge1xuICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM3My43NzJcIiBoZWlnaHQ9XCIzMDkuNTQ2XCIgdmlld0JveD1cIjAgMCAzNzMuNzcyIDMwOS41NDZcIj48cGF0aCBpZD1cIlBhdGhfNTI3XCIgZGF0YS1uYW1lPVwiUGF0aCA1MjdcIiBkPVwiTTM1Ny4yNCw0NS41MzZIMTQ0LjYyMWMtNDguNDI5LDAtNzEuMzc0LTI5LjE4Ni02My40NzUtODAuMjEzbDI0LjkyLTE2MC4zM2M2Ljc3MS00My42ODIsMzAuNzUtNjksNzYuOTIzLTY5SDM5NC44NTRjMzUuODI4LDAsNjUuNTQ0LDI0LjkzNCw1Ny4wODEsODAuMjEzTDQyNS43OTMtMTQuMTlDNDIwLjUyNywyMC4xMTgsMzkxLDQ1LjUzNSwzNTcuMjQsNDUuNTM1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNzkuNjE3IDI2NC4wMSlcIiBmaWxsPVwiJTIzYzYzNTI3XCIvPjwvc3ZnPicpO1xuICBtYXNrLXNpemU6IDM3M3B4IDMwOXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnNlY29uZC1pbWFnZS1jb2x1bW4gLmNvbnRlbnQtcm93LWltYWdlLWJsb2NrIHtcbiAgICB3aWR0aDogMjQ2cHggIWltcG9ydGFudDtcbiAgICBtYXNrLXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogLTgwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIC5zZWNvbmQtaW1hZ2UtY29sdW1uIC5jb250ZW50LXJvdy1pbWFnZS1ibG9jayB7XG4gICAgd2lkdGg6IDMyMnB4O1xuICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgfVxufVxuLmltYWdlcy13aXRoLWNvbnRlbnQtc2VjdGlvbiAudGhpcmQtaW1hZ2UtY29sdW1uIHtcbiAgd2lkdGg6IDQyN3B4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnRoaXJkLWltYWdlLWNvbHVtbiB7XG4gICAgb3JkZXI6IDI7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuLmltYWdlcy13aXRoLWNvbnRlbnQtc2VjdGlvbiAudGhpcmQtaW1hZ2UtY29sdW1uIC5jb250ZW50LXJvdy1pbWFnZS1ibG9jayB7XG4gIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDI3LjUwNlwiIGhlaWdodD1cIjMwOS41NDZcIiB2aWV3Qm94PVwiMCAwIDQyNy41MDYgMzA5LjU0NlwiPjxwYXRoIGlkPVwiUGF0aF81MjdcIiBkYXRhLW5hbWU9XCJQYXRoIDUyN1wiIGQ9XCJNMzk3LjE1MSw0NS41MzZIMTUzLjk2NmMtNTUuMzkxLDAtODEuNjM1LTI5LjE4Ni03Mi42LTgwLjIxM2wyOC41LTE2MC4zM2M3Ljc0NC00My42ODIsMzUuMTcxLTY5LDg3Ljk4MS02OUg0NDAuMTczYzQwLjk3OSwwLDc0Ljk2NywyNC45MzQsNjUuMjg3LDgwLjIxM0w0NzUuNTYtMTQuMTljLTYuMDIzLDM0LjMwOC0zOS44LDU5LjcyNS03OC40MDgsNTkuNzI1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNzkuNjE3IDI2NC4wMSlcIiBmaWxsPVwiJTIzYzYzNTI3XCIvPjwvc3ZnPicpO1xuICBtYXNrLXNpemU6IDQyN3B4IDMwOXB4O1xuICBtYXNrLXBvc2l0aW9uOiBsZWZ0O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnRoaXJkLWltYWdlLWNvbHVtbiAuY29udGVudC1yb3ctaW1hZ2UtYmxvY2sge1xuICAgIHdpZHRoOiAyODFweCAhaW1wb3J0YW50O1xuICAgIG1hc2stc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hc2stcG9zaXRpb246IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnRoaXJkLWltYWdlLWNvbHVtbiAuY29udGVudC1yb3ctaW1hZ2UtYmxvY2sge1xuICAgIHdpZHRoOiAzNjZweDtcbiAgICBtYXNrLXNpemU6IDEwMCU7XG4gICAgbWFzay1wb3NpdGlvbjogaW5oZXJpdDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oaWRlLWNvcHktY29sdW1uIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAtOS42ODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuLmhpZGUtY29weS1jb2x1bW4gLmltYWdlcy13aXRoLWNvbnRlbnQtc2VjdGlvbiAubWFpbi1jb250ZW50LWNvbHVtbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5oaWRlLWNvcHktY29sdW1uIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLmZpcnN0LWltYWdlLWNvbHVtbiB7XG4gIHdpZHRoOiA2NjdweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1jb3B5LWNvbHVtbiAuaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIC5maXJzdC1pbWFnZS1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5oaWRlLWNvcHktY29sdW1uIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLmZpcnN0LWltYWdlLWNvbHVtbiAuY29udGVudC1yb3ctaW1hZ2UtYmxvY2sge1xuICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjY2Ny4xOThcIiBoZWlnaHQ9XCIzMDkuNTQ2XCIgdmlld0JveD1cIjAgMCA2NjcuMTk4IDMwOS41NDZcIj48cGF0aCBkPVwiTTc5My40NjUtNC40NzFIMjkwLjk3M2MtNDkuNzA5LDAtNzMuMTY0LTI5LjE0OS02NS4xNTItODAuMTEzbDI1LjI4OS0xNjAuMTNjNi45NS00My42MjgsMzEuNTYzLTY4LjgyLDc4Ljg1OC02OC44Mmw1MDEuNDMtLjM4NmMzNi43NzUsMCw2Ny4yNzYsMjQuOSw1OC41ODksODAuMTEzTDg2My4wNTctNjQuMDI1YTcwLjcwOSw3MC43MDksMCwwLDEtNjkuNjg5LDU5LjY1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjI0LjI4IDMxMy45MilcIiBmaWxsPVwiJTIzNjIwNzA3XCIvPjwvc3ZnPicpO1xuICBtYXNrLXNpemU6IDY2N3B4IDMwOXB4O1xuICBtYXNrLXBvc2l0aW9uOiByaWdodDtcbn1cbi5oaWRlLWNvcHktY29sdW1uIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnRoaXJkLWltYWdlLWNvbHVtbiB7XG4gIC8qQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgJHNpemU6IDYsXG4gICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICApO1xuICB9Ki9cbn1cbi5oaWRlLWNvcHktY29sdW1uIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnRoaXJkLWltYWdlLWNvbHVtbiAuY29udGVudC1yb3ctaW1hZ2UtYmxvY2sge1xuICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI3OC43MzVcIiBoZWlnaHQ9XCIzMDkuMDYzXCIgdmlld0JveD1cIjAgMCAyNzguNzM1IDMwOS4wNjNcIj48cGF0aCBpZD1cIkR1b3RvbmUtQ29sb3VyLUltYWdlcy1Sb3VuZC0yNDBcIiBkPVwiTTU0MC45MzUtNC45MzRINDI2Ljk0M2MtNDkuNzA5LDAtNzIuMzkxLTI5LjQzOS02NC4zOC04MC40TDM4Ny44NTItMjQ1LjA4YzYuOTUtNDMuNjI4LDMxLjU2My02OC44Miw3OC44NTgtNjguODJINTc5LjY0YzM2Ljc3NSwwLDY3LjI3NiwyNC45LDU4LjU4OSw4MC4xMTNMNjExLjMtNjQuNDg4Yy01LjQwNSwzNC4yNjUtMzUuNjE3LDU5LjY1MS03MC4zNjUsNTkuNjUxWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMzYwLjk4NyAzMTMuOSlcIiBmaWxsPVwiJTIzNWYyMzIzXCIvPjwvc3ZnPicpO1xuICBtYXNrLXNpemU6IDI4NnB4IDMwOXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWNvcHktY29sdW1uIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnRoaXJkLWltYWdlLWNvbHVtbiAuY29udGVudC1yb3ctaW1hZ2UtYmxvY2sge1xuICAgIHdpZHRoOiAxNzFweCAhaW1wb3J0YW50O1xuICAgIG1hc2stc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5oaWRlLWNvcHktY29sdW1uIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnRoaXJkLWltYWdlLWNvbHVtbiAuY29udGVudC1yb3ctaW1hZ2UtYmxvY2sge1xuICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBtYXNrLXBvc2l0aW9uOiBpbmhlcml0O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oaWRlLWNvcHktY29sdW1uIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnNlY29uZC1pbWFnZS1jb2x1bW4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1LjMxMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiA1Ljc1cmVtO1xuICB9XG59XG4uaGlkZS1jb3B5LWNvbHVtbiAuaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIC5zZWNvbmQtaW1hZ2UtY29sdW1uIC5jb250ZW50LXJvdy1pbWFnZS1ibG9jayB7XG4gIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzgzLjY0NlwiIGhlaWdodD1cIjMwOS4xNlwiIHZpZXdCb3g9XCIwIDAgMzgzLjY0NiAzMDkuMTZcIj48cGF0aCBpZD1cIkR1b3RvbmUtbGlnaHQtZ3JlZW4tc2VyaWVzM1wiIGQ9XCJNNTkyLjI4NC00Ljc1SDM3NC4wNDljLTQ5LjcwOSwwLTczLjI2LTI5LjE1LTY1LjE1Mi04MC4xMTNsMjUuNTc4LTE2MC4xM2M2Ljk1LTQzLjYyOCwzMS41NjItNjguOTE3LDc4Ljk1NS02OC45MTdINjMwLjg5M2MzNi43NzUsMCw2Ny4yNzUsMjQuOSw1OC41ODksODAuMTEzTDY2Mi42NDgtNjQuNGMtNS40MDUsMzQuMjY1LTM1LjcxMyw1OS42NTEtNzAuMzY0LDU5LjY1MVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMwNy4zMjcgMzEzLjkxKVwiIGZpbGw9XCIlMjM1MDFhMWFcIi8+PC9zdmc+Jyk7XG4gIG1hc2stc2l6ZTogMzgzcHggMzA5cHg7XG4gIG1hc2stcG9zaXRpb246IGxlZnQ7XG4gIHdpZHRoOiAzODNweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaGlkZS1jb3B5LWNvbHVtbiAuaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIC5zZWNvbmQtaW1hZ2UtY29sdW1uIC5jb250ZW50LXJvdy1pbWFnZS1ibG9jayB7XG4gICAgd2lkdGg6IDIzNXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFzay1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFzay1wb3NpdGlvbjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNTVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5oaWRlLWNvcHktY29sdW1uIC5pbWFnZXMtd2l0aC1jb250ZW50LXNlY3Rpb24gLnNlY29uZC1pbWFnZS1jb2x1bW4gLmNvbnRlbnQtcm93LWltYWdlLWJsb2NrIHtcbiAgICBtYXNrLXNpemU6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB3aWR0aDogMzMwcHg7XG4gICAgbWFzay1wb3NpdGlvbjogaW5oZXJpdDtcbiAgfVxufVxuXG4uc2ItYWxpZ24tbGVmdCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIge1xuICBvcmRlcjogMTtcbn1cbi5zYi1hbGlnbi1sZWZ0IC5tYWluLWNvbnRlbnQtd3JhcHBlciB7XG4gIG9yZGVyOiAyO1xufVxuXG4uc2ItYWxpZ24tcmlnaHQgLnNpZGViYXItY29udGVudC13cmFwcGVyIHtcbiAgb3JkZXI6IDI7XG59XG4uc2ItYWxpZ24tcmlnaHQgLm1haW4tY29udGVudC13cmFwcGVyIHtcbiAgb3JkZXI6IDE7XG59XG5cbi5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgcDpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIHVsOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgb2w6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBoMTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGgyOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgaDM6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBoNDpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGg1Omxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgaDY6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmxhc3QtY2hpbGQsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGJ1dHRvbjpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5idXR0b246bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuZm9ybWluYXRvci1idXR0b246bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmVkaXQtbGluayAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBibG9ja3F1b3RlOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgcDpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIHVsOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgb2w6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBoMTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGgyOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgaDM6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBoNDpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGg1Omxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgaDY6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmxhc3QtY2hpbGQsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGJ1dHRvbjpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIC5idXR0b246bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuZm9ybWluYXRvci1idXR0b246bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmVkaXQtbGluayAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciBibG9ja3F1b3RlOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgcDpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIHVsOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgb2w6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciBoMTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIGgyOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgaDM6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciBoNDpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIGg1Omxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgaDY6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmxhc3QtY2hpbGQsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIGJ1dHRvbjpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIC5idXR0b246bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciAuZm9ybWluYXRvci1idXR0b246bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmVkaXQtbGluayAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciBibG9ja3F1b3RlOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIHA6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIgdWw6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIgb2w6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIgaDE6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIgaDI6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIgaDM6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIgaDQ6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIgaDU6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIgaDY6bGFzdC1jaGlsZCwgLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlciAuYWNjb3JkaW9uLXRpdGxlOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIGJ1dHRvbjpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlciAuYnV0dG9uOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIC5mb3JtaW5hdG9yLWJ1dHRvbjpsYXN0LWNoaWxkLCAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlciAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmVkaXQtbGluayAuY29udGVudC1iYW5kLmJ0bS1tYXItY29sbGFwc2UgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlciBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC5jb250ZW50LWJhbmQuYnRtLW1hci1jb2xsYXBzZSAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIGJsb2NrcXVvdGU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIHA6bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgdWw6bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2Ugb2w6bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDE6bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDI6bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDM6bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDQ6bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDU6bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDY6bGFzdC1jaGlsZCwgLmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuYWNjb3JkaW9uLXRpdGxlOmxhc3QtY2hpbGQsIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGJ1dHRvbjpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuYnV0dG9uOmxhc3QtY2hpbGQsIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIC5mb3JtaW5hdG9yLWJ1dHRvbjpsYXN0LWNoaWxkLCAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmVkaXQtbGluayAuZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGJsb2NrcXVvdGU6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgcDpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSB1bDpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBvbDpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoMTpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoMjpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoMzpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoNDpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoNTpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoNjpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmxhc3QtY2hpbGQsIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIC5hY2NvcmRpb24tdGl0bGU6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgYnV0dG9uOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIC5idXR0b246bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmZvcm1pbmF0b3ItYnV0dG9uOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIC5lZGl0LWxpbmsgYS5wb3N0LWVkaXQtbGluazpsYXN0LWNoaWxkLCAuZWRpdC1saW5rIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgYmxvY2txdW90ZTpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBwOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIHVsOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIG9sOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGgxOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGgyOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGgzOmxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGg0Omxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGg1Omxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGg2Omxhc3QtY2hpbGQsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6bGFzdC1jaGlsZCwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmFjY29yZGlvbi10aXRsZTpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBidXR0b246bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmJ1dHRvbjpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuZm9ybWluYXRvci1idXR0b246bGFzdC1jaGlsZCwgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rOmxhc3QtY2hpbGQsIC5lZGl0LWxpbmsgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgYS5wb3N0LWVkaXQtbGluazpsYXN0LWNoaWxkLCAudGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBibG9ja3F1b3RlOmxhc3QtY2hpbGQsIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBwOmxhc3QtY2hpbGQsIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSB1bDpsYXN0LWNoaWxkLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2Ugb2w6bGFzdC1jaGlsZCwgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGgxOmxhc3QtY2hpbGQsIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoMjpsYXN0LWNoaWxkLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDM6bGFzdC1jaGlsZCwgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGg0Omxhc3QtY2hpbGQsIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSBoNTpsYXN0LWNoaWxkLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgaDY6bGFzdC1jaGlsZCwgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6bGFzdC1jaGlsZCwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIC5hY2NvcmRpb24tdGl0bGU6bGFzdC1jaGlsZCwgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlci5idG0tbWFyLWNvbGxhcHNlIGJ1dHRvbjpsYXN0LWNoaWxkLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmJ1dHRvbjpsYXN0LWNoaWxkLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgLmZvcm1pbmF0b3ItYnV0dG9uOmxhc3QtY2hpbGQsIC50Yy1ldmVuLWNvbnRlbnQgLmNvbC1jb250ZW50LXdyYXBwZXIuYnRtLW1hci1jb2xsYXBzZSAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6bGFzdC1jaGlsZCwgLmVkaXQtbGluayAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgYS5wb3N0LWVkaXQtbGluazpsYXN0LWNoaWxkLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyLmJ0bS1tYXItY29sbGFwc2UgYmxvY2txdW90ZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJhbm5lciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5iYW5uZXIge1xuICBtaW4taGVpZ2h0OiAxNS42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5iYW5uZXIge1xuICAgIG1pbi1oZWlnaHQ6IDE4Ljc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYmFubmVyIHtcbiAgICBtaW4taGVpZ2h0OiAyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuYmFubmVyIHtcbiAgICBtaW4taGVpZ2h0OiAzMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuYmFubmVyIHtcbiAgICBtaW4taGVpZ2h0OiAzNy41cmVtO1xuICB9XG59XG4uYmFubmVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBtYXJnaW4gMC4ycyBlYXNlLWluLW91dCwgbWluLWhlaWdodCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IG1hcmdpbiAwLjJzIGVhc2UtaW4tb3V0LCBtaW4taGVpZ2h0IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uOiBtYXJnaW4gMC4ycyBlYXNlLWluLW91dCwgbWluLWhlaWdodCAwLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBtYXJnaW4gMC4ycyBlYXNlLWluLW91dCwgbWluLWhlaWdodCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMC4ycyBlYXNlLWluLW91dCwgbWluLWhlaWdodCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYmFubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uYmFubmVyIC5jb250ZW50LWJhbmQge1xuICB3aWR0aDogMTAwJTtcbn1cbi5iYW5uZXIgLmNvbnRlbnQtYmFuZC5hbGlnbi1jb250ZW50LXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG4uYmFubmVyIC5jb250ZW50LWJhbmQuYWxpZ24tY29udGVudC1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLmJhbm5lciAudGV4dC1zaGFkb3ctbGlnaHQge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTtcbn1cbi5iYW5uZXIgLnRleHQtc2hhZG93LWRhcmsge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggIzNkNDEzODtcbn1cblxuLmJhbm5lciBoMSxcbi5iYW5uZXIgaDIsXG4uYmFubmVyIGgzLFxuLmJhbm5lciBoNCxcbi5iYW5uZXIgaDUsXG4uYmFubmVyIGg2LFxuLmJhbm5lciAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLFxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmJhbm5lciAuYWNjb3JkaW9uLXRpdGxlLFxuLmJhbm5lciBwIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5ob21lLXBhZ2UtYmFubmVyIC5tYWluLWNvbnRlbnQtd3JhcHBlciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhvbWUtcGFnZS1iYW5uZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtOTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC05NXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaG9tZS1wYWdlLWJhbm5lciAuaGlkZS1iYW5uZXItb24tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhvbWUtcGFnZS1iYW5uZXIgLmZ1bGwtYmFubmVyLW9uLW1vYmlsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgfVxufVxuLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jayAuYnV0dG9uLCAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrIC5mb3JtaW5hdG9yLWJ1dHRvbiwgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jayAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbmssIC5lZGl0LWxpbmsgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jayBhLnBvc3QtZWRpdC1saW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UyRTM2NztcbiAgY29sb3I6ICMwMDgwNTE7XG4gIG1hcmdpbjogMDtcbn1cbi5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sgLmJ1dHRvbjpob3ZlciwgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jayAuZm9ybWluYXRvci1idXR0b246aG92ZXIsIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sgLmVkaXQtbGluayBhLnBvc3QtZWRpdC1saW5rOmhvdmVyLCAuZWRpdC1saW5rIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sgYS5wb3N0LWVkaXQtbGluazpob3ZlciwgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jayAuYnV0dG9uOmZvY3VzLCAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrIC5mb3JtaW5hdG9yLWJ1dHRvbjpmb2N1cywgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jayAuZWRpdC1saW5rIGEucG9zdC1lZGl0LWxpbms6Zm9jdXMsIC5lZGl0LWxpbmsgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jayBhLnBvc3QtZWRpdC1saW5rOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzEyNTI1MjtcbiAgY29sb3I6ICM3NUJCNTk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sucHJpbWFyeS1ibG9jayB7XG4gICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMTcxLjIzXCIgaGVpZ2h0PVwiNDA4LjMxNVwiIHZpZXdCb3g9XCIwIDAgMTE3MS4yMyA0MDguMzE1XCI+PHBhdGggaWQ9XCJIb21lcGFnZS1oZXJvLWR1b3RvbmVcIiBkPVwiTTExMjguMTk0LDQxMS4yMTVsLTk1NC40NjEtLjU3Yy02NS41NSwwLTk1Ljk0OS0zNy44MS04NS4zMS0xMDUuMTY2TDEyMS4yOTMsOTMuNzIxQzEzMC40MTQsMzYuMTUsMTYyLjksMi45LDIyNS4zMTksMi45aDk1My4wMzZjNDguNTQ1LDAsODguNzMxLDMyLjc3NSw3Ny4yMzUsMTA1LjczNmwtMzUuNDM1LDIyMy45MThhOTMuMiw5My4yLDAsMCwxLTkxLjk2MSw3OC42NjFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC04Ni4zNDIgLTIuOSlcIiBmaWxsPVwiJTIzMDA4MDUxXCIvPjwvc3ZnPicpO1xuICAgIG1hc2stc2l6ZTogY292ZXI7XG4gICAgbWFzay1wb3NpdGlvbjogcmlnaHQ7XG4gIH1cbn1cbi5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sucHJpbWFyeS1ibG9jayB7XG4gIHBhZGRpbmc6IDEuODc1cmVtO1xufVxuLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jay5wcmltYXJ5LWJsb2NrIHAge1xuICBjb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrLnByaW1hcnktYmxvY2sge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjg3NXJlbSAxLjg3NXJlbSAxLjg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2MCUgMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jay5wcmltYXJ5LWJsb2NrIHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDEuODc1cmVtIDUuNjI1cmVtO1xuICB9XG4gIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sucHJpbWFyeS1ibG9jayBoMSB7XG4gICAgd2lkdGg6IDg1JTtcbiAgfVxuICAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrLnByaW1hcnktYmxvY2sgcCB7XG4gICAgd2lkdGg6IDg1JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrLnByaW1hcnktYmxvY2sge1xuICAgIHBhZGRpbmctbGVmdDogMTklO1xuICB9XG4gIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sucHJpbWFyeS1ibG9jayBoMSB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuICAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrLnByaW1hcnktYmxvY2sgcCB7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jay5wcmltYXJ5LWJsb2NrIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgfVxufVxuLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jay5zZWNvbmRhcnktYmxvY2sge1xuICBtYXNrLXNpemU6IGNvdmVyO1xuICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM2OC4yNDhcIiBoZWlnaHQ9XCI0MDguMzE1XCIgdmlld0JveD1cIjAgMCAzNjguMjQ4IDQwOC4zMTVcIj48cGF0aCBpZD1cIlBhdGhfNTI3XCIgZGF0YS1uYW1lPVwiUGF0aCA1MjdcIiBkPVwiTTU5OC43MjQsOTQuMjg3aC0xNTAuNmMtNjUuNjcyLDAtOTUuNjM5LTM4Ljg5My04NS4wNTUtMTA2LjIyM2wzMy40MS0yMTEuMDQzYzkuMTgyLTU3LjYzOCw0MS43LTkwLjkyMSwxMDQuMTgzLTkwLjkyMWgxNDkuMmM0OC41ODUsMCw4OC44ODEsMzIuOSw3Ny40LDEwNS44NEw2OTEuNjg1LDE1LjYwOGMtNy4xNDEsNDUuMjY5LTQ3LjA1NSw3OC44MDctOTIuOTYxLDc4LjgwN1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTM2MC45ODcgMzEzLjkpXCIgZmlsbD1cIiUyM2M4NDUzOVwiLz48L3N2Zz4nKTtcbn1cbi5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sgaDEsIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sgaDIsIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sgaDMsIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sgaDQsIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sgaDUsIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sgaDYsIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSwgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jayAuYWNjb3JkaW9uLXRpdGxlLCAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrIHAge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sge1xuICBtaW4taGVpZ2h0OiAzMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ob21lLXBhZ2UtYmFubmVyIC5iYW5uZXItaW1hZ2UtYmxvY2sge1xuICAgIG1pbi1oZWlnaHQ6IDMxLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiAyOC4xMjVyZW07XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jayB7XG4gICAgbWluLWhlaWdodDogMjYuNTYyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiAzMS4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jayB7XG4gICAgbWluLWhlaWdodDogMzQuMzc1cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjMuNzVlbSkge1xuICAuaG9tZS1wYWdlLWJhbm5lciAuYmFubmVyLWltYWdlLWJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiAzNy41cmVtO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQuMzc1ZW0pIHtcbiAgLmhvbWUtcGFnZS1iYW5uZXIgLmJhbm5lci1pbWFnZS1ibG9jayB7XG4gICAgbWluLWhlaWdodDogNDQuNjg3NXJlbTtcbiAgfVxufVxuXG4uZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmZyb250LWhlcm8gLm1hcmtldGluZyB7XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICB9XG59XG4uZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgbWF4LXdpZHRoOiA1NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG4uZnJvbnQtaGVybyB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LXNtYWxsLnN2Z1wiKSBib3R0b20gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gIHBhZGRpbmc6IDQuMDYyNXJlbSAwO1xuICBtYXJnaW46IDAgMCAycmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5mcm9udC1oZXJvIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZGVtby9oZXJvLWJnLWZvdW5kYXRpb24tNi1sYXJnZS5zdmdcIikgYm90dG9tIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDQyLjgxMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgNC41cmVtO1xuICB9XG59XG4uZnJvbnQtaGVybyAud2F0Y2gge1xuICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZnJvbnQtaGVybyAud2F0Y2gge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuNTYyNXJlbTtcbiAgfVxufVxuLmZyb250LWhlcm8gLndhdGNoIGEge1xuICBjb2xvcjogI0I0QzlEMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG59XG4uZnJvbnQtaGVybyAud2F0Y2ggYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmZyb250LWhlcm8gLndhdGNoICNzdGFyZ2F6ZXJzIDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiO1xuICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICBjb2xvcjogI0I0QzlEMTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG4uZnJvbnQtaGVybyAud2F0Y2ggI3R3aXR0ZXIgOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XG4gIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIGNvbG9yOiAjQjRDOUQxO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cbi5mcm9udC1oZXJvIC50YWdsaW5lIHtcbiAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmZyb250LWhlcm8gLnRhZ2xpbmUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy4xMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMS41NjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy10b3A6IDZyZW07XG4gIH1cbn1cbi5mcm9udC1oZXJvIGgxIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmZyb250LWhlcm8gaDEge1xuICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gIH1cbn1cbi5mcm9udC1oZXJvIGg0IHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xufVxuLmZyb250LWhlcm8gLmRvd25sb2FkIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbn1cblxuLmludHJvIHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmludHJvIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5pbnRybyB7XG4gICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgfVxufVxuLmludHJvIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG4uaW50cm8gLmZwLWludHJvIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaW50cm8gLmZwLWludHJvIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDMuMTI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMS41NjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAxLjI1cmVtKTtcbiAgfVxuICAuaW50cm8gLmZwLWludHJvIGgyIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuICAuaW50cm8gLmZwLWludHJvIGg0IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuXG4uc2VjdGlvbi1kaXZpZGVyIHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNlY3Rpb24tZGl2aWRlciB7XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICB9XG59XG4uc2VjdGlvbi1kaXZpZGVyIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG4uc2VjdGlvbi1kaXZpZGVyIGhyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5iZW5lZml0cyB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5iZW5lZml0cyB7XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYmVuZWZpdHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gIH1cbn1cbi5iZW5lZml0cyB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYmVuZWZpdHMgaGVhZGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuNzVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG59XG4uYmVuZWZpdHMgaGVhZGVyIGgyIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi5iZW5lZml0cyBoZWFkZXIgaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzc3Nztcbn1cbi5iZW5lZml0cyAuc2VtYW50aWMsXG4uYmVuZWZpdHMgLnJlc3BvbnNpdmUsXG4uYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSxcbi5iZW5lZml0cyAucHJvZmVzc2lvbmFsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYmVuZWZpdHMgLnNlbWFudGljLFxuICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUsXG4gIC5iZW5lZml0cyAuY3VzdG9taXphYmxlLFxuICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMy4xMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMS41NjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW07XG4gIH1cbn1cbi5iZW5lZml0cyAuc2VtYW50aWMgaW1nLFxuLmJlbmVmaXRzIC5yZXNwb25zaXZlIGltZyxcbi5iZW5lZml0cyAuY3VzdG9taXphYmxlIGltZyxcbi5iZW5lZml0cyAucHJvZmVzc2lvbmFsIGltZyB7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIG1hcmdpbjogMXJlbSBhdXRvIDAgYXV0bztcbn1cbi5iZW5lZml0cyAuc2VtYW50aWMgaDMsXG4uYmVuZWZpdHMgLnJlc3BvbnNpdmUgaDMsXG4uYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSBoMyxcbi5iZW5lZml0cyAucHJvZmVzc2lvbmFsIGgzIHtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbn1cbi5iZW5lZml0cyAuc2VtYW50aWMgcCxcbi5iZW5lZml0cyAucmVzcG9uc2l2ZSBwLFxuLmJlbmVmaXRzIC5jdXN0b21pemFibGUgcCxcbi5iZW5lZml0cyAucHJvZmVzc2lvbmFsIHAge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbn1cbi5iZW5lZml0cyAud2h5LWZvdW5kYXRpb24ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMy43NXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMS44NzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxLjg3NXJlbTtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbn0iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi40LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAnLi4vX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG5cbiAgQGlmICRwcm90b3R5cGUge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gIEZvdW5kYXRpb25QcmVzcyBzZXR0aW5ncy5cbi8vICBCYXNlZCBvbiBGb3VuZGF0aW9uIGZvciBTaXRlcyB2Ni40LjNcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0IFwidXRpbC91dGlsXCI7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcblxuLy8gQ29sb3JzXG4kZGFyay1yZWQ6ICNDODQ1Mzk7XG4kbGlnaHQtcmVkOiAjREY1RjREO1xuJG9yYW5nZTogI0U3OUM1ODtcbiR5ZWxsb3c6ICNGMENDN0Y7IFxuJGRhcmstZ3JlZW46ICMxMjUyNTI7IFxuJG5vcm1hbC1ncmVlbjogIzAwODA1MTsgXG4kbGlnaHQtZ3JlZW46ICM3NUJCNTk7XG4kbGltZS1ncmVlbjogI0UyRTM2NzsgXG5cbi8vIENvbG9yc1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAkbm9ybWFsLWdyZWVuLFxuICBzZWNvbmRhcnk6ICRsaWdodC1ncmVlbixcbiAgc3VjY2VzczogIzNjYzQ3YyxcbiAgd2FybmluZzogI2Y3YjczMyxcbiAgYWxlcnQ6ICNmYzRhMWEsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNhM2EzYTM7XG4kZGFyay1ncmF5OiAjM0Q0MTM4O1xuJGJsYWNrOiAjM0Q0MTM4O1xuJHdoaXRlOiAjZmZmO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6IFwibnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IDcwMDtcbiRnbG9iYWwtcmFkaXVzOiByZW0tY2FsYygzKTtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiBcImNvbHVtbnNcIjtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogXCJudW5pdG9cIiwgc2Fucy1zZXJpZjtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgXCJoMVwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiA0MCxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogNDAsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgICBcImgyXCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDMzLFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAzMyxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDNcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMjksXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDMxLFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICAgXCJoNFwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyNixcbiAgICAgIFwibGluZS1oZWlnaHRcIjogMjgsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgICBcImg1XCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDIyLFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAyNCxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDZcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMTksXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDI0LFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICksXG4gIG1lZGl1bTogKFxuICAgIFwiaDFcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogNTQsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDU1LFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICAgXCJoMlwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiA0NCxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogNDUsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgICBcImgzXCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDM2LFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAzNyxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDRcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMjksXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDMxLFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICAgXCJoNVwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyNCxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogMjYsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgICBcImg2XCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDIyLFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAyNCxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICApLFxuICBsYXJnZTogKFxuICAgIFwiaDFcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogNjAsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDYxLFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICAgXCJoMlwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiA1MCxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogNTEsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgICBcImgzXCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDQyLFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiA0MyxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDRcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMzUsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDM3LFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICAgXCJoNVwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyOCxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogMzAsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgICBcImg2XCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDIzLFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAyNSxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICApLFxuICB4bGFyZ2U6IChcbiAgICBcImgxXCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDYwLFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiA2MSxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDJcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogNTAsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDUxLFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICAgXCJoM1wiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiA0MixcbiAgICAgIFwibGluZS1oZWlnaHRcIjogNDMsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgICBcImg0XCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDM1LFxuICAgICAgXCJsaW5lLWhlaWdodFwiOiAzNyxcbiAgICAgIFwibWFyZ2luLWJvdHRvbVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDVcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMjgsXG4gICAgICBcImxpbmUtaGVpZ2h0XCI6IDMwLFxuICAgICAgXCJtYXJnaW4tYm90dG9tXCI6IDIwLFxuICAgICksXG4gICAgXCJoNlwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyMyxcbiAgICAgIFwibGluZS1oZWlnaHRcIjogMjUsXG4gICAgICBcIm1hcmdpbi1ib3R0b21cIjogMjAsXG4gICAgKSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiAwO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiBub25lO1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kY2l0ZS1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6IFwiXFwyMDE0IFxcMDAyMFwiO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICR3aGl0ZTtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06IFwiL1wiO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiBcIlxcXFxcIjtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6IFwiLmJ1dHRvblwiO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogMTAwJTtcbiRjYWxsb3V0LWJvcmRlcjogbm9uZTtcbiRjYWxsb3V0LW1hcmdpbjogMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDA7XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IGZhbHNlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogcmVtLWNhbGMoMTUwKTtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiBub25lO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiBcIm9mZi1jYW52YXMtY29udGVudFwiO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKGRvd24sIHVwLCByaWdodCwgbGVmdCk7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKGlubGluZSwgaW5saW5lLWJsb2NrLCBibG9jaywgdGFibGUsIHRhYmxlLWNlbGwpO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoZGlzYywgY2lyY2xlLCBzcXVhcmUpO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6ICh2aXNpYmxlLCBoaWRkZW4sIHNjcm9sbCk7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLFxuICAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAod2lkdGgsIGhlaWdodCk7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJSxcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChvdmVybGluZSwgdW5kZXJsaW5lLCBsaW5lLXRocm91Z2gpO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKGxvd2VyY2FzZSwgdXBwZXJjYXNlLCBjYXBpdGFsaXplKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjkpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKFxuICAkdGFibGUtYmFja2dyb3VuZCxcbiAgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlXG4pO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGFuY2hvci1jb2xvcjtcbiR0YWItYWN0aXZlLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiR0YWItaXRlbS1wYWRkaW5nOiByZW0tY2FsYyg4IDE2KTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiR0YWItY29udGVudC1ib3JkZXI6IG5vbmU7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMDtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDQwcHgsXG4gIG1lZGl1bTogNTBweCxcbiAgbGFyZ2U6IDYwcHgsXG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vLyBcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsaXAtcGF0aDogbm9uZTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5jZWxsJywgZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJGJwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRpLCAnLmNlbGwnLCBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2VpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogI3skb3BlcmF0b3J9JGd1dHRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyIG9yIDEvMy5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2Agb3IgYHNocmlua2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2VpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZWlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCBvdXIgZ3V0dGVycyBmcm9tIG1hcCBpZiBhdmFpbGFibGUsIGlmIG5vdCBtYXAganVzdCByZXR1cm4gdGhlIHZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRicmVha3BvaW50LCAkZ3V0dGVycykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcbiAgICAkc2l6ZTogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXJ9KSwgI3t4eS1jZWxsLXNpemUoJG4pfSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5cGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7ICBcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuXG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIFtDb2xvcl0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG4gIGEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtO1xuICB9XG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuICAgIFxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZnVhbHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcblxuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLyBXQVJOSU5HOiBXaWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiA2LjRcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvOiBkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQoKS4gZm91bmRhdGlvbi1mbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbn1cblxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpbykge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSByZXNwb25zaXZlLWVtYmVkKCkuIGZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW8pO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtICgxIC8gMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEgLyAxNik7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cbkBpbXBvcnQgXCJzZXR0aW5nc1wiO1xuQGltcG9ydCBcImZvdW5kYXRpb25cIjtcbkBpbXBvcnQgXCJtb3Rpb24tdWlcIjtcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5cbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5cbkBpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbkBpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xuXG4vKlxuICBNeSBjdXN0b20gc3R5bGVzOlxuICBBZGQgeW91ciBzY3NzIGZpbGVzIGJlbG93IHRvIHN0cnVjdHVyZSB5b3VyIHByb2plY3Qgc3R5bGVzXG4qL1xuXG4vLyBNaXhpbnMgZmlsZVxuQGltcG9ydCBcImdsb2JhbC9taXhpbnNcIjtcblxuLy8gQ3VzdG9tIGNsYXNzZXNcbkBpbXBvcnQgXCJjdXN0b20tY2xhc3Nlcy9wYWRkaW5nLW1hcmdpbnNcIjtcbkBpbXBvcnQgXCJjdXN0b20tY2xhc3Nlcy9idXR0b24tY2xhc3Nlc1wiO1xuQGltcG9ydCBcImN1c3RvbS1jbGFzc2VzL21pc2Mtc3R5bGVzXCI7XG5cbi8vIEdsb2JhbFxuQGltcG9ydCBcImdsb2JhbC9hY2Nlc3NpYmlsaXR5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2JhY2tncm91bmRzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2NvbG9yc1wiO1xuQGltcG9ydCBcImdsb2JhbC9mb3Jtc1wiO1xuQGltcG9ydCBcImdsb2JhbC90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLWFkbWluXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLW92ZXJyaWRlc1wiO1xuXG4vLyBNb2R1bGVzXG5AaW1wb3J0IFwibW9kdWxlcy9tYXN0aGVhZFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvbmF2aWdhdGlvblwiO1xuQGltcG9ydCBcIm1vZHVsZXMvY29sbGFwc2libGUtbWVudVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvY29udGVudFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZm9vdGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9lZGl0b3Itc3R5bGVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21DdXN0b21TY3JvbGxiYXJzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tYWduaWZpY1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYWxsb3V0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZmVhdHVyZWQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2RpdmlkZXJzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9saW5rc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9xdW90ZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ltZy1nYWxsZXJ5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tb2RhbC1jYWxsb3V0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGFic1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGV4dC13aXRoLWN0YS1zaWRlYmFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jYWxsb3V0LWJsb2Nrc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uXCI7XG5cblxuLy8gU3R5bGVzIHNwZWNpZmljIHRvIGR5bmFtaWMgY29udGVudCBiYW5kIHN5c3RlbVxuQGltcG9ydCBcImRjYi9jb250ZW50LWJhbmRzXCI7XG5AaW1wb3J0IFwiZGNiL2Jhbm5lclwiO1xuXG4vLyBUZW1wbGF0ZXNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvZnJvbnRcIjtcbiIsIi8vIEJ1aWxkaW5nIHBhZGRpbmcgc3lzdGVtIC0gc21hbGwgYnJlYWtwb2ludFxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHQudG9wLXBhZCwgLnRvcC1idG0tcGFkIHtcblx0XHRwYWRkaW5nLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJyk7XG5cdH1cblx0LmJ0bS1wYWQsIC50b3AtYnRtLXBhZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdzbWFsbCcpO1xuXHR9XG5cdC5oYWxmLXRvcC1wYWQge1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnc21hbGwnKSAvIDI7XG5cdH1cblx0LmhhbGYtYnRtLW1hciB7XG5cdFx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdzbWFsbCcpIC8gMjtcblx0fVxuXHQuZG91YmxlLXRvcC1wYWQge1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnc21hbGwnKSAqIDI7XG5cdH1cblx0LmRvdWJsZS1idG0tcGFkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJykgKiAyO1xuXHR9XG59XG5cbi8vIEJ1aWxkaW5nIHBhZGRpbmcgc3lzdGVtIC0gbWVkaXVtIGJyZWFrcG9pbnRcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdC50b3AtcGFkLCAudG9wLWJ0bS1wYWQge1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbWVkaXVtJyk7XG5cdH1cblx0LmJ0bS1wYWQsIC50b3AtYnRtLXBhZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdtZWRpdW0nKTtcblx0fVxuXHQuaGFsZi10b3AtcGFkIHtcblx0XHRwYWRkaW5nLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ21lZGl1bScpIC8gMjtcblx0fVxuXHQuaGFsZi1idG0tbWFyIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ21lZGl1bScpIC8gMjtcblx0fVxuXHQuZG91YmxlLXRvcC1wYWQge1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbWVkaXVtJykgKiAyO1xuXHR9XG5cdC5kb3VibGUtYnRtLXBhZCB7XG5cdFx0cGFkZGluZy1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdtZWRpdW0nKSAqIDI7XG5cdH1cbn1cblxuLy8gQnVpbGRpbmcgcGFkZGluZyBzeXN0ZW0gLSBsYXJnZSBicmVha3BvaW50XG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdC50b3AtcGFkLCAudG9wLWJ0bS1wYWQge1xuXHRcdHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbGFyZ2UnKTtcblx0fVxuXHQuYnRtLXBhZCwgLnRvcC1idG0tcGFkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ2xhcmdlJyk7XG5cdH1cblx0LmhhbGYtdG9wLXBhZCB7XG5cdFx0cGFkZGluZy10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdsYXJnZScpIC8gMjtcblx0fVxuXHQuaGFsZi1idG0tcGFkIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ2xhcmdlJykgLyAyO1xuXHR9XG5cdC5kb3VibGUtdG9wLXBhZCB7XG5cdFx0cGFkZGluZy10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdsYXJnZScpICogMjtcblx0fVxuXHQuZG91YmxlLWJ0bS1wYWQge1xuXHRcdHBhZGRpbmctYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbGFyZ2UnKSAqIDI7XG5cdH1cbn1cblxuLy8gQnVpbGRpbmcgbWFyZ2luIHN5c3RlbSAtIHNtYWxsIGJyZWFrcG9pbnRcbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0LnRvcC1tYXIsIC50b3AtYnRtLW1hciB7XG5cdFx0bWFyZ2luLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJyk7XG5cdH1cblx0LmJ0bS1tYXIsIC50b3AtYnRtLW1hciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJyk7XG5cdH1cblx0LmhhbGYtdG9wLW1hciB7XG5cdFx0bWFyZ2luLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJykgLyAyO1xuXHR9XG5cdC5oYWxmLWJ0bS1tYXIge1xuXHRcdG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdzbWFsbCcpIC8gMjtcblx0fVxufVxuXG4vLyBCdWlsZGluZyBtYXJnaW4gc3lzdGVtIC0gbWVkaXVtIGJyZWFrcG9pbnRcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdC50b3AtbWFyLCAudG9wLWJ0bS1tYXIge1xuXHRcdG1hcmdpbi10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdtZWRpdW0nKTtcblx0fVxuXHQuYnRtLW1hciwgLnRvcC1idG0tbWFyIHtcblx0XHRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbWVkaXVtJyk7XG5cdH1cblx0LmhhbGYtdG9wLW1hciB7XG5cdFx0bWFyZ2luLXRvcDogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ21lZGl1bScpIC8gMjtcblx0fVxuXHQuaGFsZi1idG0tbWFyIHtcblx0XHRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbWVkaXVtJykgLyAyO1xuXHR9XG59XG5cbi8vIEJ1aWxkaW5nIG1hcmdpbiBzeXN0ZW0gLSBsYXJnZSBicmVha3BvaW50XG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdC50b3AtbWFyLCAudG9wLWJ0bS1tYXIge1xuXHRcdG1hcmdpbi10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdsYXJnZScpO1xuXHR9XG5cdC5idG0tbWFyLCAudG9wLWJ0bS1tYXIge1xuXHRcdG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdsYXJnZScpO1xuXHR9XG5cdC5oYWxmLXRvcC1tYXIge1xuXHRcdG1hcmdpbi10b3A6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdsYXJnZScpIC8gMjtcblx0fVxuXHQuaGFsZi1idG0tbWFyIHtcblx0XHRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbGFyZ2UnKSAvIDI7XG5cdH1cbn0iLCIvLyBCdXR0b24gc2l6aW5nIG9wdGlvbnNcbi5idXR0b24ge1xuXHQmLnRpbnkge1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDUgOCA0IDgpO1xuXG5cdFx0Lm1haW4tdGV4dCB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHR9XG5cdFx0cCB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDExKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIpO1xuXHRcdH1cblx0fVxuXHQmLmxhcmdlIHtcblx0XHQubWFpbi10ZXh0IHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHRcdFx0Lm1haW4tdGV4dCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHRcdFx0fVxuXHRcdFx0cCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdC5tYWluLXRleHQge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gQm90dG9tIG1hcmdpbiByZW1vdmFsXG4uYnV0dG9uIHtcblx0Ji5uby1idG0tbWFyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi8vIFNlY29uZGFyeSBidXR0b24gY29sb3Jcbi5idXR0b24uc2Vjb25kYXJ5LWJ0bi1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuLy8gU3VjY2VzcyBidXR0b24gY29sb3Jcbi5idXR0b24uc3VjY2Vzcy1idG4tY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcblx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG4vLyBXYXJuaW5nIGJ1dHRvbiBjb2xvclxuLmJ1dHRvbi53YXJuaW5nLWJ0bi1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nLWNvbG9yO1xuXHRjb2xvcjogJHByaW1hcnktY29sb3I7XG59XG4vLyBBbGVydCBidXR0b24gY29sb3Jcbi5idXR0b24uYWxlcnQtYnRuLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWNvbG9yO1xuXHRjb2xvcjogJHdoaXRlO1xufVxuXG4vLyBHcmF5IGJ1dHRvbiBjb2xvclxuLmJ1dHRvbi5ncmF5LWJ0bi1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcblx0Y29sb3I6ICR3aGl0ZTtcbn1cblxuLy8gV2hpdGUgYnV0dG9uIGNvbG9yXG4uYnV0dG9uLndoaXRlLWJ0bi1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG59IiwicCxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbmxpIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihmb250LXNpemUgMC4ycyBlYXNlLWluLW91dCk7XG59XG5cbi50eHQtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIExhcmdlIHRleHQgcnVsZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgLmxnLXRleHQge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjE1O1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAoaGVhZGVyLXNpemUoc21hbGwsIGgxKSAqIDEuNzUpO1xuICAgIH1cbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgLmxnLXRleHQge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjU7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IChoZWFkZXItc2l6ZShtZWRpdW0sIGgxKSAqIDIpO1xuICAgIH1cbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAubGctdGV4dCB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuNTtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogKGhlYWRlci1zaXplKG1lZGl1bSwgaDEpICogMyk7XG4gICAgfVxuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAubGctdGV4dCB7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDI7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IChoZWFkZXItc2l6ZShtZWRpdW0sIGgxKSAqIDQpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBGaXggbmVnYXRpdmUgbWFyZ2lucyBvbiB0aGUgZ3JpZCBlbGVtZW50cyAqL1xuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTEuODc1cmVtO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjU2MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNTYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEuNTYyNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTEuODc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gIH1cbn1cblxuLmdhbGxlcnkge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ2FsbGVyeSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41NjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ2FsbGVyeSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQuc21hbGwtY29udGVudCB7XG5cdFx0LmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyIHtcblx0XHRcdEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6MTAsICRndXR0ZXJzOjApO1xuXHRcdFx0QGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG46MSk7XG5cdFx0XHRcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDM3KTtcblx0XHR9XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0LnNtYWxsLWNvbnRlbnQge1xuXHRcdC5mdy1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0XHRAaW5jbHVkZSB4eS1jZWxsKCRzaXplOjgsICRndXR0ZXJzOjApO1xuXHRcdFx0QGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG46Mik7XG5cblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDM3KTtcblx0XHR9XG5cdH1cbn1cblxuXG4ueWVsbG93LWJhY2tncm91bmQtc2hhcGUge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAkeWVsbG93LCAkYWxwaGE6IDAuMjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICB9XG5cbiAgICAgICYuZ3JpZC1jb250YWluZXIge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAudGMtc2ItY29udGVudCB7XG5cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICAvLyBmb3IgYW5pbWF0aW9uc1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTE5Mi4wMzFcIiBoZWlnaHQ9XCIzNjAuOTYxXCIgdmlld0JveD1cIjAgMCAxMTkyLjAzMSAzNjAuOTYxXCI+PHBhdGggaWQ9XCJhLW1hbi1zZWF0ZWQtYXQtYS1jb21wdXRlci1zY3JlZW4td29ya2luZy1vbi1oaXMtby0yMDI2LTAxLTA5LTA4LTM2LTUyLXV0Yy1Db2xvdXJpemVkXCIgZD1cIk0xMjc3Ljg3NywzNjMuODYxbC05OTkuOTE4LS41Yy01Ny45NDgsMC04NS4zMjctMzMuOTI5LTc1LjkyMi05My40NzRMMjMxLjYsODMuMTg4QzIzOS42NjMsMzIuMjk0LDI2OC4zODUsMi45LDMyMy41NjIsMi45aDk5OC42NTljNDIuOTE1LDAsNzguNDQsMjguOTc0LDY4LjI3OCw5My40NzRsLTMxLjMyNiwxOTcuOTQ5QTgyLjM5Miw4Mi4zOTIsMCwwLDEsMTI3Ny44NzcsMzYzLjg2MVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIwMC4yMiAtMi45KVwiIGZpbGw9XCIlMjNmMGNjN2ZcIiBvcGFjaXR5PVwiMC4yNDZcIi8+PC9zdmc+Jyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygzNzApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgIC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG59XG5cblxuLnN1cnJvdW5kaW5nLXNoYXBlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNzIuNDY0XCIgaGVpZ2h0PVwiMzk3LjAxM1wiIHZpZXdCb3g9XCIwIDAgMjcyLjQ2NCAzOTcuMDEzXCI+PGcgaWQ9XCJHcm91cF81NFwiIGRhdGEtbmFtZT1cIkdyb3VwIDU0XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDc2Ljg4MiAtNjE4LjEwOClcIj48cGF0aCBpZD1cIlBhdGhfMzk2XCIgZGF0YS1uYW1lPVwiUGF0aCAzOTZcIiBkPVwiTTIyMS44NDYtMjE3LjY0OUg2NS41MTljLTE1LjQ2NSwwLTIyLjc2MS05LjA2OC0yMC4yNjktMjQuOTIzbDcuODY3LTQ5LjgxN2MyLjE2Mi0xMy41NzMsOS44MTktMjEuNDEsMjQuNTMzLTIxLjQxbDE1Ni0uMTJjMTEuNDQxLDAsMjAuOTMsNy43NDcsMTguMjI3LDI0LjkyNGwtOC4zNzgsNTIuODJhMjIsMjIsMCwwLDEtMjEuNjgsMTguNTU3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNzMuNjk3IDkzMi41MjgpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIlMjNmMGNjN2ZcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMVwiLz48cGF0aCBpZD1cIlBhdGhfNDA1XCIgZGF0YS1uYW1lPVwiUGF0aCA0MDVcIiBkPVwiTTE2OC4yNjktMTY3LjgyOUgxMDAuMzc1Yy0xNS40NjUsMC0yMi43OTEtOS4wNjktMjAuMjY5LTI0LjkyNGw3Ljk1OC00OS44MTdjMi4xNjItMTMuNTczLDkuODE5LTIxLjQ0LDI0LjU2My0yMS40NEgxODAuMjhjMTEuNDQxLDAsMjAuOTMsNy43NDcsMTguMjI3LDI0LjkyM2wtOC4zNDgsNTIuN2EyMi4yMTYsMjIuMjE2LDAsMCwxLTIxLjg5MSwxOC41NTdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjkwNSAxMDMyLjQ4OSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiUyM2YwY2M3ZlwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIxXCIvPjxwYXRoIGlkPVwiUGF0aF80MDZcIiBkYXRhLW5hbWU9XCJQYXRoIDQwNlwiIGQ9XCJNOTIuODg5LTE2Ny44NzlINTcuNDI2Yy0xNS40NjUsMC0yMi41MjEtOS4xNTktMjAuMDI5LTI1LjAxNGw3Ljg2Ny00OS43QzQ3LjQyNy0yNTYuMTYzLDU1LjA4NC0yNjQsNjkuOC0yNjRoMzUuMTMzYzExLjQ0MSwwLDIwLjkzLDcuNzQ3LDE4LjIyNywyNC45MjNsLTguMzc4LDUyLjY3QTIyLjE5MiwyMi4xOTIsMCwwLDEsOTIuODg5LTE2Ny44NVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTg5LjQ0NiAxMDMyLjUxKVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzZjBjYzdmXCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiIHN0cm9rZS13aWR0aD1cIjFcIi8+PHBhdGggaWQ9XCJQYXRoXzQxM1wiIGRhdGEtbmFtZT1cIlBhdGggNDEzXCIgZD1cIk0yMDYuMDQ2LTExNy44MzlINDkuNzE5Yy0xNS40NjUsMC0yMi43NjEtOS4wNjktMjAuMjY5LTI0LjkyNGw3Ljg2Ny00OS44MTdjMi4xNjItMTMuNTczLDkuODE5LTIxLjQxLDI0LjUzMy0yMS40MWwxNTYtLjEyYzExLjQ0MSwwLDIwLjkzLDcuNzQ3LDE4LjIyNywyNC45MjNsLTguMzc4LDUyLjgyYTIyLDIyLDAsMCwxLTIxLjY4LDE4LjU1N1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwNS4zNDIgMTEzMi40MzEpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIlMjNmMGNjN2ZcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMVwiLz48L2c+PC9zdmc+Jyk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAtNzVweDtcbiAgICAgICAgaGVpZ2h0OiAzOTdweDtcbiAgICAgICAgd2lkdGg6IDI3MnB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgIGxlZnQ6IC0xNXB4O1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjYwMS4yODZcIiBoZWlnaHQ9XCIzOTcuMDEzXCIgdmlld0JveD1cIjAgMCA2MDEuMjg2IDM5Ny4wMTNcIj48ZyBpZD1cIkdyb3VwXzU1XCIgZGF0YS1uYW1lPVwiR3JvdXAgNTVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTkyMC4xMDcgLTYxOC4xMDgpXCI+PHBhdGggaWQ9XCJQYXRoXzQwMVwiIGRhdGEtbmFtZT1cIlBhdGggNDAxXCIgZD1cIk00MTYuOTY5LTIxNy43OEgzODEuNTA2Yy0xNS40NjUsMC0yMi41MjEtOS4xNTktMjAuMDI5LTI1LjAxNGw3Ljg2Ny00OS43YzIuMTYyLTEzLjU3Myw5LjgxOS0yMS40MSwyNC41MzMtMjEuNDFoMzUuMTMzYzExLjQ0MSwwLDIwLjkzLDcuNzQ3LDE4LjIyNywyNC45MjNsLTguMzc4LDUyLjY3YTIyLjE5MiwyMi4xOTIsMCwwLDEtMjEuODkxLDE4LjU1N1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTU5LjYzMSA5MzIuNTY4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzZjBjYzdmXCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiIHN0cm9rZS13aWR0aD1cIjFcIi8+PHBhdGggaWQ9XCJQYXRoXzQwMlwiIGRhdGEtbmFtZT1cIlBhdGggNDAyXCIgZD1cIk01ODAuODY2LTIxNy42NDlINDI0LjUzOWMtMTUuNDY1LDAtMjIuNzYxLTkuMDY4LTIwLjI2OS0yNC45MjNsNy44NjctNDkuODE3YzIuMTYyLTEzLjU3Myw5LjgxOS0yMS40MSwyNC41MzMtMjEuNDFsMTU2LS4xMmMxMS40NDEsMCwyMC45Myw3Ljc0NywxOC4yMjcsMjQuOTI0bC04LjM3OCw1Mi44MmEyMiwyMiwwLDAsMS0yMS42OCwxOC41NTdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDY0NS4zNTggOTMyLjUyOClcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiUyM2YwY2M3ZlwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIxXCIvPjxwYXRoIGlkPVwiUGF0aF80MTBcIiBkYXRhLW5hbWU9XCJQYXRoIDQxMFwiIGQ9XCJNNjY4LjgzNi0xNjcuNzU5SDUxMi41MDljLTE1LjQ2NSwwLTIyLjc2MS05LjA2OS0yMC4yNjktMjQuOTI0bDcuODY4LTQ5LjgxN2MyLjE2Mi0xMy41NzMsOS44MTktMjEuNDEsMjQuNTMzLTIxLjQxbDE1Ni0uMTJjMTEuNDQxLDAsMjAuOTMsNy43NDcsMTguMjI3LDI0LjkyM2wtOC4zNzgsNTIuODJhMjIsMjIsMCwwLDEtMjEuNjgsMTguNTU3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4MjEuNTQ5IDEwMzIuNDQ5KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzZjBjYzdmXCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiIHN0cm9rZS13aWR0aD1cIjFcIi8+PHBhdGggaWQ9XCJQYXRoXzQxMVwiIGRhdGEtbmFtZT1cIlBhdGggNDExXCIgZD1cIk01MjYuODE5LTE2Ny44MjlINDU4LjkyNWMtMTUuNDY1LDAtMjIuNzkxLTkuMDY5LTIwLjI2OS0yNC45MjRsNy45NTgtNDkuODE3YzIuMTYyLTEzLjU3Myw5LjgxOS0yMS40NCwyNC41NjMtMjEuNDRINTM4LjgzYzExLjQ0MSwwLDIwLjkzLDcuNzQ3LDE4LjIyNywyNC45MjNsLTguMzQ4LDUyLjdhMjIuMjE2LDIyLjIxNiwwLDAsMS0yMS44OTEsMTguNTU3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg3MTQuMjEgMTAzMi40ODkpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIlMjNmMGNjN2ZcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMVwiLz48cGF0aCBpZD1cIlBhdGhfNDE5XCIgZGF0YS1uYW1lPVwiUGF0aCA0MTlcIiBkPVwiTTU2NS4wNTYtMTE3LjgzOUg0MDguNzI5Yy0xNS40NjQsMC0yMi43NjEtOS4wNjktMjAuMjY5LTI0LjkyNGw3Ljg2Ny00OS44MTdjMi4xNjItMTMuNTczLDkuODE5LTIxLjQxLDI0LjUzMy0yMS40MWwxNTYtLjEyYzExLjQ0MSwwLDIwLjkzLDcuNzQ3LDE4LjIyNywyNC45MjNsLTguMzc4LDUyLjgyYTIyLDIyLDAsMCwxLTIxLjY4LDE4LjU1N1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNjEzLjY5MyAxMTMyLjQzMSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiUyM2YwY2M3ZlwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIxXCIvPjxwYXRoIGlkPVwiUGF0aF80MjFcIiBkYXRhLW5hbWU9XCJQYXRoIDQyMVwiIGQ9XCJNNTgwLjY4LTExNy45NTlINTQ1LjIxNmMtMTUuNDY1LDAtMjIuNTIxLTkuMTU5LTIwLjAyOS0yNS4wMTRsNy44NjgtNDkuN2MyLjE2Mi0xMy41NzMsOS44MTktMjEuNDEsMjQuNTMzLTIxLjQxaDM1LjEzM2MxMS40NDEsMCwyMC45Myw3Ljc0NywxOC4yMjcsMjQuOTIzbC04LjM3OCw1Mi42N0EyMi4xOTIsMjIuMTkyLDAsMCwxLDU4MC42OC0xMTcuOTNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDg4Ny41MTQgMTEzMi40OTEpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIlMjNmMGNjN2ZcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMVwiLz48L2c+PC9zdmc+Jyk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTE3NXB4O1xuICAgICAgICBoZWlnaHQ6IDM5N3B4O1xuICAgICAgICB3aWR0aDogNjAxcHg7ICBcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICByaWdodDogLTcwcHg7XG4gICAgfVxuICB9XG59XG5cbi5vbmUtY29sdW1uLWZ1bGwtd2lkdGgge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICB9XG59XG5cbi5pbnRlcmlvci1wYWdlLWNvbG9yLWJhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAvL21heC1oZWlnaHQ6IHJlbS1jYWxjKDEyMyk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0yMCk7XG4gICAgICAgIHdpZHRoOiAxMDglO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTI3KTtcbiAgICAgICAgd2lkdGg6IDEwMyU7XG4gICAgfVxuICB9XG59XG5cbi5pbnRlcmlvci1wYWdlLXRpdGxlIHtcbiAgaDEge1xuICAgIGNvbG9yOiAkbm9ybWFsLWdyZWVuO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gIH1cbn1cbiIsIkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbigkcG9zaXRpb246IHJlbGF0aXZlKSB7XG5cdHBvc2l0aW9uOiAkcG9zaXRpb247XG5cdHRvcDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuQG1peGluIHRyYW5zaXRpb24oJGFyZ3MuLi4pIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiAkYXJncztcblx0LW1vei10cmFuc2l0aW9uOiAkYXJncztcblx0LW1zLXRyYW5zaXRpb246ICRhcmdzO1xuXHQtby10cmFuc2l0aW9uOiAkYXJncztcblx0dHJhbnNpdGlvbjogJGFyZ3M7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkZGVsYXkuLi4pIHtcblx0LW1vei10cmFuc2l0aW9uLWRlbGF5OiAgICAkZGVsYXk7XG5cdC1vLXRyYW5zaXRpb24tZGVsYXk6ICAgICAgJGRlbGF5O1xuXHQtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcblx0dHJhbnNpdGlvbi1kZWxheTogICAgICAgICAkZGVsYXk7XG59XG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG5cdC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcblx0LW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuXHRib3gtc2hhZG93OiAkc2hhZG93O1xufVxuLy8gZ2VuZXJpYyB0cmFuc2Zvcm1cbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcblx0LW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuXHQtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuXHQtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcblx0LXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuXHR0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuLy8gcm90YXRlXG5AbWl4aW4gcm90YXRlICgkZGVnKSB7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xufVxuIFxuLy8gc2NhbGVcbkBtaXhpbiBzY2FsZSgkc2NhbGUpIHtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRzY2FsZSkpO1xufSBcbi8vIHRyYW5zbGF0ZVxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcblx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcbn1cbi8vIHNrZXdcbkBtaXhpbiBza2V3KCR4LCAkeSkge1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0oc2tldygjeyR4fWRlZywgI3skeX1kZWcpKTtcbn1cbi8vdHJhbnNmb3JtIG9yaWdpblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuXHRtb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcblx0LW8tdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcblx0LW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG5cdC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcblx0dHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cbkBtaXhpbiB0ZXh0LXNoYWRvdygkeDogMXB4LCAkeTogMXB4LCAkYmx1cjogNXB4LCAkY29sb3I6IHJnYmEoMCwwLDAsLjM1KSkge1xuXHR0ZXh0LXNoYWRvdzogJHggJHkgJGJsdXIgJGNvbG9yO1xufVxuQG1peGluIHJvdygpIHtcblx0Zm9udC1zaXplOiAwO1xufVxuXG4vLyBUaGlzIGlzIGNvbHVtbiBtaXhpbnMuXG5AbWl4aW4gY29sKCRjb2wsICRzdW0sICRnYXA6IDFlbSwgJGFsaWduOiB0b3AsICRmaXJzdDogZmFsc2UsICRsYXN0OiBmYWxzZSkge1xuXHR3aWR0aDogMTAwJTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdHBhZGRpbmctbGVmdDogaWYoJGZpcnN0LCAwLCAkZ2FwKTtcblx0cGFkZGluZy1yaWdodDogaWYoJGxhc3QsIDAsICRnYXApO1xuXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0XHR3aWR0aDogcGVyY2VudGFnZSgkY29sLyRzdW0pO1xuXHRcdHZlcnRpY2FsLWFsaWduOiAkYWxpZ247XG5cdH1cblxuXHQmLmZsdWlkIHsgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbC8kc3VtKTsgfVxufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdG9wLWJvdHRvbSgpIHtcblx0YmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDAuOSkgMyUsIHJnYmEoMCwwLDAsMCkgMTAwJSk7XG5cdGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLDAsMCwwLjkpIDMlLCByZ2JhKDAsMCwwLDApIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDAuOSkgMyUsIHJnYmEoMCwwLDAsMCkgMTAwJSk7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjYTYwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMDAwJyxHcmFkaWVudFR5cGU9MCApO1xufVxuQG1peGluIGJnLWdyYWRpZW50LWJvdHRvbS10b3AoKSB7XG5cdGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLDAsMCwwLjc1KSAzJSwgcmdiYSgwLDAsMCwwKSAxMDAlKTtcblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsMCwwLDAuNzUpIDMlLCByZ2JhKDAsMCwwLDApIDEwMCUpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsMCwwLDAuNzUpIDMlLCByZ2JhKDAsMCwwLDApIDEwMCUpO1xuXHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyNhNjAwMDAwMCcsR3JhZGllbnRUeXBlPTAgKTtcbn1cblxuQGZ1bmN0aW9uIGhlYWRlci1zaXplKCRicmVha3BvaW50LCAkc2l6ZSkge1xuXHRAcmV0dXJuIHJlbS1jYWxjKG1hcC1nZXQobWFwLWdldChtYXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBcInNtYWxsXCIpLCAkc2l6ZSksIFwiZm9udC1zaXplXCIpICogMXB4KTtcbn0iLCIvLyBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiBBZGRyZXNzZXMgcGFydCBvZiB0aGVtZS1jaGVjayBpc3N1ZSAjODQwLlxuLy8gaHR0cHM6Ly9naXRodWIuY29tL0F1dG9tYXR0aWMvX3MvYmxvYi9tYXN0ZXIvc3R5bGUuY3NzXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxNzU5YjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IGF1dG87XG4gIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cbn1cbiIsIi8vIEJhbm5lciBPdmVybGF5c1xuLmltZy1iZyB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgLm1haW4tY29udGVudC13cmFwcGVyIHtcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNixcbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG4gICYub3ZlcmxheS1ibGFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwLjM7IC8vIFNlcnZlcyBhcyBhIGZhbGxiYWNrIGZvciBvbGRlciBicm93c2Vyc1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLmNvbnRlbnQtYmFuZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG4gICYub3ZlcmxheS1ibGFjazo6YmVmb3JlLFxuICAmLm92ZXJsYXktYmxhY2s6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIH1cbn1cbiIsIi8vIEJhY2tncm91bmQgc3R5bGluZ1xuLmx0LWdyYXktYmcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbn1cbi5tZC1ncmF5LWJnIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXHRjb2xvcjogJHdoaXRlO1xufVxuLmJsYWNrLWJnIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRjb2xvcjogJG1lZGl1bS1ncmF5O1xufVxuXG4uZmFkZWQteWVsbG93LWJnIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICR5ZWxsb3csICRhbHBoYTogMC4yNSk7XG59IiwiLy8gRm9ybWluYXRvciBTdHlsaW5nXG5cbi5mb3JtaW5hdG9yLXVpIHtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XG5cbiAgXG4gIGxhYmVsLCBsZWdlbmQge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICRub3JtYWwtZ3JlZW4gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KSAhaW1wb3J0YW50O1xuICB9XG5cbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRub3JtYWwtZ3JlZW4gIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHggIWltcG9ydGFudDtcbiAgICAvL2JveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDY1LCA2NCwgNjYsIDAuMSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZm9ybWluYXRvci1yZXF1aXJlZCB7XG4gIGNvbG9yOiAkZGFyay1yZWQ7XG59XG5cbi5mb3JtaW5hdG9yLWJ1dHRvbiB7XG4gIEBleHRlbmQgLmJ1dHRvbjtcbiAgQGV4dGVuZCAuYzJhLWJ0bjtcblxuICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseSAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygxMCkgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyMikgIWltcG9ydGFudDtcbiAgcGFkZGluZzogcmVtLWNhbGMoNiA0MCkgIWltcG9ydGFudDtcbn1cblxuLmZvcm1pbmF0b3ItYnV0dG9uW2Rpc2FibGVkXSB7XG4gIEBleHRlbmQgLmJ1dHRvbjtcbiAgQGV4dGVuZCAuYzJhLWJ0bjtcblxuICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseSAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTApICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDYgNDApICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtaW5hdG9yLWJ1dHRvbjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZm9ybWluYXRvci1yb3cge1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCkgIWltcG9ydGFudDtcbn1cblxuLmZvcm1pbmF0b3ItZXJyb3IsIC5mb3JtaW5hdG9yLWVycm9yLW1lc3NhZ2Uge1xuICBjb2xvcjogJG9yYW5nZTtcbn0iLCIvLyBUeXBvZ3JhcGh5IE92ZXJyaWRlc1xucCxcbi5wIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoNiwgZm9udC1zaXplKSk7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHNtYWxsLCBoNiwgbGluZS1oZWlnaHQpKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDYsIG1hcmdpbi1ib3R0b20pXG4gICk7XG59XG5cblxuLm1haW4tY29udGVudCB7XG4gIHVsLFxuICBvbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDYsIGZvbnQtc2l6ZSkpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDYsIGxpbmUtaGVpZ2h0KSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgICAgICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIGg2LCBtYXJnaW4tYm90dG9tKVxuICAgICAgICApOyBcbiAgfVxufVxuXG5cbi8vIFR5cG9ncmFwaHkgQ2xhc3Nlc1xuaDEsXG4uaDEsXG4udHlwZS1zaXplLTYsXG4udHlwZS1zaXplLTYgcCxcbi50eXBlLXNpemUtNiBsaSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDEsIGZvbnQtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDEsIGxpbmUtaGVpZ2h0KSk7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIGgxLCBtYXJnaW4tYm90dG9tKVxuICApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBtZWRpdW0sIGgxLCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDEsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDEsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoMSwgZm9udC1zaXplKSk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGgxLCBsaW5lLWhlaWdodCkpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDEsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCB4bGFyZ2UsIGgxLCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDEsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDEsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxufVxuaDIsXG4uaDIsXG4udHlwZS1zaXplLTUsXG4udHlwZS1zaXplLTUgcCxcbi50eXBlLXNpemUtNSBsaSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDIsIGZvbnQtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDIsIGxpbmUtaGVpZ2h0KSk7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIGgyLCBtYXJnaW4tYm90dG9tKVxuICApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBtZWRpdW0sIGgyLCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDIsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDIsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoMiwgZm9udC1zaXplKSk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGgyLCBsaW5lLWhlaWdodCkpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDIsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCB4bGFyZ2UsIGgyLCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDIsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDIsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxufVxuaDMsXG4uaDMsXG4udHlwZS1zaXplLTQsXG4udHlwZS1zaXplLTQgcCxcbi50eXBlLXNpemUtNCBsaSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDMsIGZvbnQtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDMsIGxpbmUtaGVpZ2h0KSk7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIGgzLCBtYXJnaW4tYm90dG9tKVxuICApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBtZWRpdW0sIGgzLCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDMsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDMsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoMywgZm9udC1zaXplKSk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGgzLCBsaW5lLWhlaWdodCkpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDMsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCB4bGFyZ2UsIGgzLCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDMsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDMsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxufVxuaDQsXG4uaDQsXG4udHlwZS1zaXplLTMsXG4udHlwZS1zaXplLTMgcCxcbi50eXBlLXNpemUtMyBsaSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDQsIGZvbnQtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDQsIGxpbmUtaGVpZ2h0KSk7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIGg0LCBtYXJnaW4tYm90dG9tKVxuICApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBtZWRpdW0sIGg0LCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDQsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDQsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoNCwgZm9udC1zaXplKSk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGg0LCBsaW5lLWhlaWdodCkpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDQsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCB4bGFyZ2UsIGg0LCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDQsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDQsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxufVxuaDUsXG4uaDUsXG4udHlwZS1zaXplLTIsXG4udHlwZS1zaXplLTIgcCxcbi50eXBlLXNpemUtMiBsaSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDUsIGZvbnQtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDUsIGxpbmUtaGVpZ2h0KSk7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIGg1LCBtYXJnaW4tYm90dG9tKVxuICApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBtZWRpdW0sIGg1LCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDUsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDUsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoNSwgZm9udC1zaXplKSk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGg1LCBsaW5lLWhlaWdodCkpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDUsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCB4bGFyZ2UsIGg1LCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDUsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDUsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxufVxuaDYsXG4uaDYsXG4udHlwZS1zaXplLTEsXG4udHlwZS1zaXplLTEgcCxcbi50eXBlLXNpemUtMSBsaSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDYsIGZvbnQtc2l6ZSkpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDYsIGxpbmUtaGVpZ2h0KSk7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgIG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgc21hbGwsIGg2LCBtYXJnaW4tYm90dG9tKVxuICApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBtZWRpdW0sIGg2LCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDYsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDYsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIGxhcmdlLCBoNiwgZm9udC1zaXplKSk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGg2LCBsaW5lLWhlaWdodCkpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKFxuICAgICAgbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBsYXJnZSwgaDYsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCB4bGFyZ2UsIGg2LCBmb250LXNpemUpKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDYsIGxpbmUtaGVpZ2h0KVxuICAgICk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoXG4gICAgICBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIHhsYXJnZSwgaDYsIG1hcmdpbi1ib3R0b20pXG4gICAgKTtcbiAgfVxufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5oMiB7XG4gIGNvbG9yOiAkbm9ybWFsLWdyZWVuO1xufVxuXG5oMywgaDQsIGg1LCBoNiB7XG4gICAgY29sb3I6ICRsaWdodC1ncmVlbjtcbn0iLCIvLyBGaXggdGhlIGlzc3VlIHdoZXJlIHRoZSBXUCBhZG1pbi1iYXIgb3ZlcmxhcHMgdGhlIG1vYmlsZSBtZW51XG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4vLyBNYWtlIHN1cmUgdGhhdCB0aGUgV1AgYWRtaW4tYmFyIGRvZXMgbm90IG92ZXJsYXAgRm91bmRhdGlvbiBjb21wb25lbnRzXG5ib2R5LmFkbWluLWJhciB7XG4gIC8vIE9mZnNldCBzdGlja3kgdG9wIGJhclxuICAmLmYtdG9wYmFyLWZpeGVkIHtcbiAgICAuc3RpY2t5LmZpeGVkIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gIH1cbiAgLy8gT2Zmc2V0IG1vYmlsZSBvZmYtY2FudmFzIG1lbnVcbiAgJi5vZmZjYW52YXMge1xuICAgIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgICAgdG9wOiByZW0tY2FsYyg0Nik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc4Mykge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRWRpdCBidXR0b24gc3R5bGVzXG4uZWRpdC1saW5rIHtcbiAgLy9vcGFjaXR5OiAwLjU7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDE7XG5cbiAgYS5wb3N0LWVkaXQtbGluayB7XG4gICAgQGV4dGVuZCAuYnV0dG9uO1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNCAxMCkgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICB0b3A6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwO1xufVxuXG5wLndwLWNhcHRpb24tdGV4dHtcbiAgZm9udC1zaXplOjkwJTtcbiAgY29sb3I6ICM2NjY7XG4gIHBhZGRpbmc6cmVtLWNhbGMoMTApIDA7XG59XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uZ2FsbGVyeSB7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcbiAgICAmLmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgyLCAnLmdhbGxlcnktaXRlbScsIHRydWUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAmLmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KDQsICcuZ2FsbGVyeS1pdGVtJywgdHJ1ZSwgKHNtYWxsOiAzMHB4KSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICYuZ2FsbGVyeS1jb2x1bW5zLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJGksICcuZ2FsbGVyeS1pdGVtJywgdHJ1ZSwgKHNtYWxsOiAzMHB4KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5nYWxsZXJ5LWljb24gPiBhIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbiAgLmdhbGxlcnktaWNvbiA+IGltZyB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG59XG4iLCIvLyBCYXNlIG1hc3RoZWFkIHN0eWxpbmdcbiNtYXN0aGVhZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG5cbiAgJi5taW5pbWl6ZSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCByZW0tY2FsYygxNSkgcmdiYSgkYmxhY2ssIDAuNSkpO1xuICB9XG59XG5cbi8vIEJhc2UgbWFzdGhlYWQgZnJhbWluZ1xuI21hc3RoZWFkIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAvL3otaW5kZXg6IDQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5tYXN0aGVhZC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIDAuM3MgZWFzZSk7XG4gIH1cbiAgLm1hc3RoZWFkLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgXCJzbWFsbFwiKSAvIDI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZzogMCBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBcImxhcmdlXCIpIC8gMjtcbiAgICAgIC8vcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICAgICYsXG4gICAgLmxvZ28td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAuaGVhZGVyLWN0YSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbWUtZ3JlZW47XG4gICAgICAgIGNvbG9yOiAkbm9ybWFsLWdyZWVuO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbm9ybWFsLWdyZWVuO1xuICAgICAgICAgICAgY29sb3I6ICRsaW1lLWdyZWVuO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5oZWFkZXItdG9wLXJvdyB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgfVxuICAgICYuaGVhZGVyLWJvdHRvbS1yb3cge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgfVxuXG4gICAgLm1lbnUtY29udGVudCB7XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxufVxuXG4vLyBMb2dvIHNpemluZy9mcmFtaW5nXG4jbWFzdGhlYWQge1xuICAubG9nbyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihoZWlnaHQgMC4zcyBlYXNlLCB3aWR0aCAwLjNzIGVhc2UpO1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDY0KTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxNzIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2NCk7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMTcyKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNjQpO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDE3Mik7XG4gICAgfVxuICB9XG59XG5cbi8vIERlc2t0b3AgbWVudSBmcmFtaW5nXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgI21hc3RoZWFkIHtcbiAgICAubWFzdGhlYWQtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2MCk7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAubG9nby13cmFwcGVyIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgICAgLmhlYWRlci1jdGEge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5oZWFkZXItYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA4MiU7XG5cbiAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgI21hc3RoZWFkIHtcbiAgICAubWVudS1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAubWFpbi1tZW51LXdyYXBwZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgI21hc3RoZWFkIHtcbiAgICAubWVudS1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAubWFpbi1tZW51LXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihyaWdodCB0b3ApO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gMC4zcyBlYXNlLCBoZWlnaHQgMXMgZWFzZSk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgI21hc3RoZWFkIC5tZW51LWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL3otaW5kZXg6IDE7XG4gIH1cbn1cbiIsIi8vIEJhc2UgZm9udCBzdHlsaW5nXG4jbWFzdGhlYWQge1xuICAubWFpbi1tZW51LXdyYXBwZXIge1xuICAgIC5tZW51IHtcbiAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgY29sb3I6ICRub3JtYWwtZ3JlZW47XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMDtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyZWVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI21hc3RoZWFkIHtcbiAgLm1haW4tbWVudS13cmFwcGVyIHtcbiAgICAubWVudSB7XG4gICAgICBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWYXJpYWJsZSBmb250IHNpemluZ1xuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgI21hc3RoZWFkIC5tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAuc3VibWVudSAubWVudS1pdGVtIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgPiAubWVudS1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtYWxpZ24oKTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4KSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICNtYXN0aGVhZCAubWVudSB7XG4gICAgLm1lbnUtaXRlbSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEcm9wZG93biBtZW51IHN0eWxpbmdcbiNtYXN0aGVhZCB7XG4gIC5tYWluLW1lbnUtd3JhcHBlciB7XG4gICAgLm1lbnUge1xuICAgICAgLnN1Ym1lbnUge1xuICAgICAgICAmLFxuICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JlZW47XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwwMEJCXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdG9wOiByZW0tY2FsYyg4KTtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICYuZmlyc3Qtc3ViIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyZWVuO1xuICAgIH1cblxuICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMzIwKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHJlbS1jYWxjKDEwKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcmVtLWNhbGMoMTApO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDEwKTtcbiAgICBhbmltYXRpb246IHJldmVhbERvd24gMC40cyBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuXG4gICAgQGtleWZyYW1lcyByZXZlYWxEb3duIHtcbiAgICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICB9XG4gICAgICA4MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxLjA1KTtcbiAgICAgIH1cbiAgICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xufVxuXG4vLyBEcm9wZG93biBtZW51IGZyYW1pbmdcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICNtYXN0aGVhZCAubWVudSAubWVudS1pdGVtIC5zdWJtZW51IHtcbiAgICAvL3BhZGRpbmc6IHJlbS1jYWxjKDgpO1xuXG4gICAgJiA+IC5tZW51LWl0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvL3BhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4KTtcblxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgpIDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vZGFsIG1lbnUgZnJhbWluZ1xuI21vZGFsLW1lbnUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIFwic21hbGxcIik7XG5cbiAgI21vZGFsLW1lbnUtd3JhcCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICBtYXJnaW46IDEuMzMzMzNyZW07XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLm1haW4tbWVudSB7XG4gICAgLy8gQGluY2x1ZGUgdmVydGljYWwtYWxpZ24oKTtcblxuICAgIC5tZW51LWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgXCJzbWFsbFwiKTtcblxuICAgICAgLnN1Ym1lbnUge1xuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIFwic21hbGxcIikgMCAwIDA7XG5cbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgXCJzbWFsbFwiKSAvIDI7XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW9kYWwgbWVudSBzdHlsaW5nXG4jbW9kYWwtbWVudSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAubWVudS1pdGVtIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgLnN1Ym1lbnUge1xuICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubUNTQl9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OyAvKiBPTEQgLSBpT1MgNi0sIFNhZmFyaSAzLjEtNiAqL1xuICAgIGRpc3BsYXk6IC1tb3otYm94OyAvKiBPTEQgLSBGaXJlZm94IDE5LSAqL1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvKiBUV0VFTkVSIC0gSUUgMTAgKi9cbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7IC8qIE5FVyAtIENocm9tZSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7IC8qIE5FVywgT3BlcmEgMTIuMSwgRmlyZWZveCAyMCsgKi9cbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgIC5tZW51IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXUCBwb3N0IG5hdmlnYXRpb25cbi5wb3N0LW5hdmlnYXRpb24ge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLm5hdi1wcmV2aW91cyB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ubmF2LW5leHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG4iLCIvLyBNZW51IHRvZ2dsZSBidXR0b25cbiNtYXN0aGVhZCB7XG4gICNtb2JpbGUtbWVudS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIH1cblxuICAubW9iaWxlLW1lbnUtdG9nZ2xlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvL2hlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAxMHB4O1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UpO1xuXG4gICAgZGl2IHtcbiAgICAgIC8vcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSkgcmVtLWNhbGMoMTApO1xuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyZWVuO1xuICAgICAgdHJhbnNmb3JtOiBza2V3WCgtOWRlZyk7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyLFxuICAgICAgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNCAwKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtLW9yaWdpbihjZW50ZXIgY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMC4ycyBlYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBkaXYge1xuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyLFxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5tZW51LW9wZW4gLm1vYmlsZS1tZW51LXRvZ2dsZSB7XG4gICAgZGl2IHtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyZWVuO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlcixcbiAgICAgIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JlZW47XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWShyZW0tY2FsYyg3KSkgcm90YXRlKDEzNWRlZykpO1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWShyZW0tY2FsYygtNykpIHJvdGF0ZSgtMTM1ZGVnKSk7XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDApKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIC5tb2JpbGUtbWVudS10b2dnbGUgZGl2IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpIHJlbS1jYWxjKDEwKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLm1vYmlsZS1tZW51LXRvZ2dsZSBkaXYge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDEwKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgfVxufVxuXG4vLyBNZW51IHRvZ2dsZSBidXR0b24gdmlzaWJpbGl0eVxuI21hc3RoZWFkIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5tb2JpbGUtbWVudS10b2dnbGUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTE1MCUpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTW9iaWxlIG1lbnUgY29udGFpbmVyIGZyYW1pbmdcbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciB7XG4gIGhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKFxuICAgIGhlaWdodCAwLjVzIGVhc2UgMC4ycyxcbiAgICBvcGFjaXR5IDAuM3MgZWFzZSxcbiAgICB3aWR0aCAwLjVzIGVhc2UgMC4yc1xuICApO1xuXG4gICYubWVudS1vcGVuIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihcbiAgICAgIGhlaWdodCAwLjVzIGVhc2UsXG4gICAgICBvcGFjaXR5IDAuM3MgZWFzZSAwLjFzLFxuICAgICAgd2lkdGggMC41cyBlYXNlXG4gICAgKTtcbiAgfVxuICAubWVudS1mcmFtZSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIDAuM3MgZWFzZSk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIHdpZHRoOiAwO1xuXG4gICAgLy8mIHtcbiAgICAgIC8vcGFkZGluZy10b3A6IChtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBcInNtYWxsXCIpIC8gMik7XG4gICAgLy99XG4gICAgJi5tZW51LW9wZW4ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5tZW51LWZyYW1lIHtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA2NnB4KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDE1IDIwIDIwKTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjYpO1xuXG4gICAgJiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgLm1lbnUtZnJhbWUge1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEwNnB4KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDQyKTtcbiAgICB9XG4gICAgJi5tZW51LW9wZW4ge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ0MCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB0b3A6IHJlbS1jYWxjKDk0KTtcblxuICAgICYge1xuICAgICAgJi5tZW51LW9wZW4ge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDcwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLm1lbnUtZnJhbWUge1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDExNnB4KTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAubWVudS1mcmFtZSB7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTExcHgpO1xuICAgIH1cbiAgICAmIHtcbiAgICAgICYubWVudS1vcGVuIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ5MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vYmlsZSBtZW51IGZyYW1pbmdcbiNjb2xsYXBzaWJsZS1tZW51LWNvbnRhaW5lciB7XG4gIC5tZW51LWl0ZW0ge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMTYgMCk7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbm9ybWFsLWdyZWVuO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgJi5oYXMtc3VibWVudSB7XG4gICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIH1cbiAgICAgICYgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMCAyMCk7XG5cbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCAwKTtcblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW9iaWxlIG1lbnUgc3R5bGluZ1xuI2NvbGxhcHNpYmxlLW1lbnUtY29udGFpbmVyIHtcbiAgYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRub3JtYWwtZ3JlZW47XG5cbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIDAuMXMgZWFzZSk7XG4gIH1cbiAgLm1lbnUtaXRlbVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGEsXG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHQtZ3JlZW47XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4gIC5tb2JpbGUtbmF2LXBhdHRlcm4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL3N2Z3MvbW9iaWxlLW5hdi1wYXR0ZXJuLnN2Z1wiKTsgIFxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTtcbiAgICBib3R0b206IC04cHg7XG4gICAgbGVmdDogMDtcbiAgICAvL21hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTE4KTtcbiAgfVxuXG4uaGVhZGVyLWNvcHlyaWdodC1saW5lIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAwIDIwIDApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAwKTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkbm9ybWFsLWdyZWVuO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgd2lkdGg6IDY1JTtcbiAgICB9XG59XG5cbi5oZWFkZXItc29jaWFsLWxpbmtzIHtcbiAgXHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMCk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogJG5vcm1hbC1ncmVlbjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEyKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTEpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQxKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZmFjZWJvb2ssXG4gICAgICAgICYueW91dHViZSxcbiAgICAgICAgJi50d2l0dGVyLFxuICAgICAgICAmLmxpbmtlZGluIHtcbiAgICAgICAgICBmaWxsOiAkbm9ybWFsLWdyZWVuO1xuXG4gICAgICAgICAgJjpob3ZlciA+IHN2ZyxcbiAgICAgICAgICAmOmZvY3VzID4gc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRsaWdodC1ncmVlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubWFpbi13cmFwIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNzApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTcwKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTcwKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE3NSk7XG4gIH1cblxuICAubWFpbi1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5jb250ZW50LWJhbmQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cbi8vIEJyb2tlbiBpbWFnZSBmYWxsYmFjayBzdHlsZXNcbmltZyB7XG4gICYsXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMDUpO1xuICAgIGJvcmRlcjogcmVtLWNhbGMoMikgZGFzaGVkIHJnYmEoJGJsYWNrLCAwLjA1KTtcbiAgICBjb250ZW50OiBcIkltYWdlIG5vdCBmb3VuZFwiO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICB9XG59XG5cbi5tYWluLWNvbnRlbnQge1xuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGZyYW1pbmdcbiNzaXRlLWZvb3RlciB7XG5cbiAgLmZvb3Rlci1saW5rcy1hcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxMDtcblxuICB9XG5cbiAgLmZvb3Rlci1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJi5zbWFsbC1jb250ZW50IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDYwcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWdyaWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0NSk7XG5cbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMTUpO1xuXG4gICAgICAuZm9vdGVyLWxvZ29tYXJrIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChcbiAgICAgICAgICAkc2l6ZTogMTIsXG4gICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAuZm9vdGVyLXNvY2lhbC1tZWRpYS1jb2x1bW4ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChcbiAgICAgICAgICAgICRzaXplOiAxMixcbiAgICAgICAgICAgICRndXR0ZXJzOiAzMHB4LFxuICAgICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChcbiAgICAgICAgICAgICRzaXplOiAzLFxuICAgICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgICAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHQgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHQgIGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHQgIHBhZGRpbmc6IDA7XG5cdFx0ICBtYXJnaW46IDA7XG5cdFx0ICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMik7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEyKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDUxKTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQxKTtcblxuXG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuZmFjZWJvb2ssXG4gICAgICAgICAgJi55b3V0dWJlLFxuICAgICAgICAgICYudHdpdHRlcixcbiAgICAgICAgICAmLmxpbmtlZGluIHtcbiAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuNHMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyID4gc3ZnLFxuICAgICAgICAgICAgJjpmb2N1cyA+IHN2ZyB7XG4gICAgICAgICAgICAgIGZpbGw6ICRsaWdodC1ncmVlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICAuZm9vdGVyLWNvcHlyaWdodC1jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKFxuICAgICAgICAgICRzaXplOiAxMixcbiAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICAgICAgKTtcblxuXHRcdHAge1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdH1cbiAgICAgIH1cblxuXHQgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgICAkc2l6ZTogMTIsXG4gICAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgICAkc2l6ZTogMyxcbiAgICAgICAgICAgICRndXR0ZXJzOiAzMHB4LFxuICAgICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXHQgIH1cblxuICAgICAgLmZvb3Rlci1saW5rcy1jb2x1bW4tZmlyc3QsXG4gICAgICAuZm9vdGVyLWxpbmtzLWNvbHVtbi1zZWNvbmQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChcbiAgICAgICAgICAgICRzaXplOiAxMixcbiAgICAgICAgICAgICRndXR0ZXJzOiAzMHB4LFxuICAgICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChcbiAgICAgICAgICAgICRzaXplOiAzLFxuICAgICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgICAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cblx0ICAuZm9vdGVyLWxpbmtzLWNvbHVtbi1maXJzdCxcbiAgICAgIC5mb290ZXItbGlua3MtY29sdW1uLXNlY29uZCB7XG5cdFx0YSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEyKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuXHRcdH1cblx0ICB9XG5cbiAgICAgIC5mb290ZXItbGlua3MtY29sdW1uLWZpcnN0LFxuICAgICAgLmZvb3Rlci1saW5rcy1jb2x1bW4tc2Vjb25kLFxuICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMge1xuXHRcdHAge1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0ICBmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0ICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cblxuXHRcdCAgc3Ryb25nLCBiIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdCAgfVx0XG5cdFx0fVxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdCAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cblx0XHQgIFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblxuXHRcdCAgc3Ryb25nLCBiIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdCAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyZWVuO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb290ZXItbGluay1oaWdobGlnaHQge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cdFx0LmZvb3Rlci1wcml2YWN5LWxpbmsge1xuXHRcdFx0YSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmZvb3Rlci1saW5rLW1hcmdpbi10b3Age1xuXHRcdFx0YSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcblx0XHRcdH1cblx0XHR9XG4gICAgICB9XG5cblx0ICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XG5cdFx0YSB7XG5cdFx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHR9XG5cdCAgfVxuXG4gICAgfVxuICB9XG59XG5cbi8vIEJhc2Ugc3R5bGluZ1xuI3NpdGUtZm9vdGVyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyZWVuO1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcblxuXG4gICYuZXh0cmEtZm9vdGVyLWdhcCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNTApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE2MCk7XG4gICAgfSAgXG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICB9XG5cbiAgLmZvb3Rlci1saW5lcy1iZyB7XG4gICAgLy8gZm9yIGFuaW1hdGlvbnNcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vc3Zncy9mb290ZXItc2hhcGVzLnN2Z1wiKTsgIFxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMTc1KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDE4MDBweCkge1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyNDUpO1xuICAgIH1cblxuICB9XG59IiwiYm9keSN0aW55bWNle1xuICBoZWlnaHQ6IGF1dG87IC8vIEZpeCBlZGl0b3Igc3R5bGUgYnVnXG4gIG1heC13aWR0aDogJGdyaWQtcm93LXdpZHRoOyAvLyBHaXZlIHRoZSBlZGl0b3IgYSBtYXgtd2lkdGhcbiAgcGFkZGluZzogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG59IiwiLypcbj09IG1hbGlodSBqcXVlcnkgY3VzdG9tIHNjcm9sbGJhciBwbHVnaW4gPT1cblBsdWdpbiBVUkk6IGh0dHA6Ly9tYW5vcy5tYWxpaHUuZ3IvanF1ZXJ5LWN1c3RvbS1jb250ZW50LXNjcm9sbGVyXG4qL1xuXG5cblxuLypcbkNPTlRFTlRTOiBcblx0MS4gQkFTSUMgU1RZTEUgLSBQbHVnaW4ncyBiYXNpYy9lc3NlbnRpYWwgQ1NTIHByb3BlcnRpZXMgKG5vcm1hbGx5LCBzaG91bGQgbm90IGJlIGVkaXRlZCkuIFxuXHQyLiBWRVJUSUNBTCBTQ1JPTExCQVIgLSBQb3NpdGlvbmluZyBhbmQgZGltZW5zaW9ucyBvZiB2ZXJ0aWNhbCBzY3JvbGxiYXIuIFxuXHQzLiBIT1JJWk9OVEFMIFNDUk9MTEJBUiAtIFBvc2l0aW9uaW5nIGFuZCBkaW1lbnNpb25zIG9mIGhvcml6b250YWwgc2Nyb2xsYmFyLlxuXHQ0LiBWRVJUSUNBTCBBTkQgSE9SSVpPTlRBTCBTQ1JPTExCQVJTIC0gUG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbnMgb2YgMi1heGlzIHNjcm9sbGJhcnMuIFxuXHQ1LiBUUkFOU0lUSU9OUyAtIENTUzMgdHJhbnNpdGlvbnMgZm9yIGhvdmVyIGV2ZW50cywgYXV0by1leHBhbmRlZCBhbmQgYXV0by1oaWRkZW4gc2Nyb2xsYmFycy4gXG5cdDYuIFNDUk9MTEJBUiBDT0xPUlMsIE9QQUNJVFkgQU5EIEJBQ0tHUk9VTkRTIFxuXHRcdDYuMSBUSEVNRVMgLSBTY3JvbGxiYXIgY29sb3JzLCBvcGFjaXR5LCBkaW1lbnNpb25zLCBiYWNrZ3JvdW5kcyBldGMuIHZpYSByZWFkeS10by11c2UgdGhlbWVzLlxuKi9cblxuXG5cbi8qIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xLiBCQVNJQyBTVFlMRSAgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cblx0Lm1DdXN0b21TY3JvbGxiYXJ7IC1tcy10b3VjaC1hY3Rpb246IHBpbmNoLXpvb207IHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTsgLyogZGlyZWN0IHBvaW50ZXIgZXZlbnRzIHRvIGpzICovIH1cblx0Lm1DdXN0b21TY3JvbGxiYXIubUNTX25vX3Njcm9sbGJhciwgLm1DdXN0b21TY3JvbGxiYXIubUNTX3RvdWNoX2FjdGlvbnsgLW1zLXRvdWNoLWFjdGlvbjogYXV0bzsgdG91Y2gtYWN0aW9uOiBhdXRvOyB9XG5cdFxuXHQubUN1c3RvbVNjcm9sbEJveHsgLyogY29udGFpbnMgcGx1Z2luJ3MgbWFya3VwICovXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGRpcmVjdGlvbjogbHRyO1xuXHR9XG5cblx0Lm1DU0JfY29udGFpbmVyeyAvKiBjb250YWlucyB0aGUgb3JpZ2luYWwgY29udGVudCAqL1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cblxuXG4vKiBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMi4gVkVSVElDQUwgU0NST0xMQkFSIFxueS1heGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cblx0Ly8ubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJ7IG1hcmdpbi1yaWdodDogMzBweDsgfVxuXG5cdC5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVueyBtYXJnaW4tcmlnaHQ6IDA7IH0gLyogbm9uLXZpc2libGUgc2Nyb2xsYmFyICovXG5cdFxuXHQubUNTLWRpci1ydGwgPiAubUNTQl9pbnNpZGUgPiAubUNTQl9jb250YWluZXJ7IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tbGVmdDogMzBweDtcblx0fVxuXHRcblx0Lm1DUy1kaXItcnRsID4gLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW57IG1hcmdpbi1sZWZ0OiAwOyB9IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzeyAvKiBjb250YWlucyBzY3JvbGxiYXIgbWFya3VwIChkcmFnZ2FibGUgZWxlbWVudCwgZHJhZ2dlciByYWlsLCBidXR0b25zIGV0Yy4pICovXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxMnB4O1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRsZWZ0OiBhdXRvO1xuXHRcdHRvcDogMDtcblx0XHQvL3JpZ2h0OiAwO1xuXHRcdHJpZ2h0OiAtNHB4O1xuXHRcdGJvdHRvbTogMDtcblx0fVxuXG5cdC5tQ1NCX291dHNpZGUgKyAubUNTQl9zY3JvbGxUb29sc3sgcmlnaHQ6IC0yNnB4OyB9IC8qIHNjcm9sbGJhciBwb3NpdGlvbjogb3V0c2lkZSAqL1xuXHRcblx0Lm1DUy1kaXItcnRsID4gLm1DU0JfaW5zaWRlID4gLm1DU0Jfc2Nyb2xsVG9vbHMsIFxuXHQubUNTLWRpci1ydGwgPiAubUNTQl9vdXRzaWRlICsgLm1DU0Jfc2Nyb2xsVG9vbHN7IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IDA7XG5cdH1cblx0XG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTQl9zY3JvbGxUb29sc3sgbGVmdDogLTI2cHg7IH0gLyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyIChzY3JvbGxiYXIgcG9zaXRpb246IG91dHNpZGUpICovXG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcnsgLyogY29udGFpbnMgdGhlIGRyYWdnYWJsZSBlbGVtZW50IGFuZCBkcmFnZ2VyIHJhaWwgbWFya3VwICovXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRyaWdodDogMDsgXG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgYSArIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7IG1hcmdpbjogMjBweCAwOyB9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDJweDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyeyAvKiB0aGUgZHJhZ2dhYmxlIGVsZW1lbnQgKi9cblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAzMHB4OyAvKiBtaW5pbXVtIGRyYWdnZXIgaGVpZ2h0ICovXG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IC8qIHRoZSBkcmFnZ2VyIGVsZW1lbnQgKi9cblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDRweDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxNnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDE2cHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdFxuXHQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnsgd2lkdGg6IDEycHg7IC8qIGF1dG8tZXhwYW5kZWQgc2Nyb2xsYmFyICovIH1cblx0XG5cdC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlseyB3aWR0aDogOHB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqLyB9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogMjBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJvdHRvbTogMDsgfVxuXG5cblxuLyogXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjMuIEhPUklaT05UQUwgU0NST0xMQkFSIFxueC1heGlzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cblx0Lm1DU0JfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcntcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0fVxuXHRcblx0Lm1DU0JfaG9yaXpvbnRhbC5tQ1NCX291dHNpZGUgPiAubUNTQl9jb250YWluZXJ7IG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuXHQubUNTQl9ob3Jpem9udGFsID4gLm1DU0JfY29udGFpbmVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW57IG1hcmdpbi1ib3R0b206IDA7IH0gLyogbm9uLXZpc2libGUgc2Nyb2xsYmFyICovXG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFse1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGhlaWdodDogMTZweDtcblx0XHR0b3A6IGF1dG87XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdH1cblxuXHQubUN1c3RvbVNjcm9sbEJveCArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCxcblx0Lm1DdXN0b21TY3JvbGxCb3ggKyAubUNTQl9zY3JvbGxUb29scyArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHsgYm90dG9tOiAtMjZweDsgfSAvKiBzY3JvbGxiYXIgcG9zaXRpb246IG91dHNpZGUgKi9cblxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgYSArIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7IG1hcmdpbjogMCAyMHB4OyB9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMnB4O1xuXHRcdG1hcmdpbjogN3B4IDA7XG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcntcblx0XHR3aWR0aDogMzBweDsgLyogbWluaW11bSBkcmFnZ2VyIHdpZHRoICovXG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDRweDtcblx0XHRtYXJnaW46IDZweCBhdXRvO1xuXHR9XG5cdFxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0aGVpZ2h0OiAxMnB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuXHRcdG1hcmdpbjogMnB4IGF1dG87XG5cdH1cblx0XG5cdC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRoZWlnaHQ6IDhweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cblx0XHRtYXJnaW46IDRweCAwO1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2J1dHRvbkxlZnQsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9idXR0b25SaWdodHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cdFxuXHQubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uTGVmdHsgbGVmdDogMDsgfVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9idXR0b25SaWdodHsgcmlnaHQ6IDA7IH1cblxuXG5cbi8qIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG40LiBWRVJUSUNBTCBBTkQgSE9SSVpPTlRBTCBTQ1JPTExCQVJTIFxueXgtYXhpcyBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuXHQubUNTQl9jb250YWluZXJfd3JhcHBlcntcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMzBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHR9XG5cdFxuXHQubUNTQl9jb250YWluZXJfd3JhcHBlciA+IC5tQ1NCX2NvbnRhaW5lcntcblx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXHRcdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cdFxuXHQubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbHsgYm90dG9tOiAyMHB4OyB9XG5cdFxuXHQubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFseyByaWdodDogMjBweDsgfVxuXHRcblx0Lyogbm9uLXZpc2libGUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgKi9cblx0Lm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbiArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7IGJvdHRvbTogMDsgfVxuXHRcblx0Lyogbm9uLXZpc2libGUgdmVydGljYWwgc2Nyb2xsYmFyL1JUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuXHQubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuICsgLm1DU0Jfc2Nyb2xsVG9vbHMgfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsIFxuXHQubUNTLWRpci1ydGwgPiAubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGUgPiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7IHJpZ2h0OiAwOyB9XG5cdFxuXHQvKiBSVEwgZGlyZWN0aW9uL2xlZnQtc2lkZSBzY3JvbGxiYXIgKi9cblx0Lm1DUy1kaXItcnRsID4gLm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFseyBsZWZ0OiAyMHB4OyB9XG5cdFxuXHQvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIvUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW4gKyAubUNTQl9zY3JvbGxUb29scyB+IC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHsgbGVmdDogMDsgfVxuXHRcblx0Lm1DUy1kaXItcnRsID4gLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyX3dyYXBwZXJ7IC8qIFJUTCBkaXJlY3Rpb24vbGVmdC1zaWRlIHNjcm9sbGJhciAqL1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRtYXJnaW4tbGVmdDogMzBweDtcblx0fVxuXHRcblx0Lm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiA+IC5tQ1NCX2NvbnRhaW5lcnsgcGFkZGluZy1yaWdodDogMDsgfVxuXHRcblx0Lm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbiA+IC5tQ1NCX2NvbnRhaW5lcnsgcGFkZGluZy1ib3R0b206IDA7IH1cblx0XG5cdC5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW57XG5cdFx0bWFyZ2luLXJpZ2h0OiAwOyAvKiBub24tdmlzaWJsZSBzY3JvbGxiYXIgKi9cblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXHRcblx0Lyogbm9uLXZpc2libGUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgKi9cblx0Lm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlID4gLm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl94Lm1DU194X2hpZGRlbnsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cblxuLyogXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjUuIFRSQU5TSVRJT05TICBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuXHQubUNTQl9zY3JvbGxUb29scywgXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCxcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCxcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XG5cdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0LW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0LW8tdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcblx0fVxuXHRcblx0Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJfYmFyLCAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqL1xuXHQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0IC4ycywgaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1yaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBcblx0XHRcdFx0XHRtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycyxcblx0XHRcdFx0XHRvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7IFxuXHRcdC1tb3otdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0IC4ycywgaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1yaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBcblx0XHRcdFx0XHRtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsIG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycyxcblx0XHRcdFx0XHRvcGFjaXR5IC4ycyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7IFxuXHRcdC1vLXRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLW91dCAuMnMsIGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLCBcblx0XHRcdFx0XHRtYXJnaW4tbGVmdCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycywgXG5cdFx0XHRcdFx0bWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLCBtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsXG5cdFx0XHRcdFx0b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0OyBcblx0XHR0cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZS1vdXQgLjJzLCBoZWlnaHQgLjJzIGVhc2Utb3V0IC4ycywgXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsIFxuXHRcdFx0XHRcdG1hcmdpbi10b3AgLjJzIGVhc2Utb3V0IC4ycywgbWFyZ2luLWJvdHRvbSAuMnMgZWFzZS1vdXQgLjJzLFxuXHRcdFx0XHRcdG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDsgXG5cdH1cblxuXG5cbi8qIFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG42LiBTQ1JPTExCQVIgQ09MT1JTLCBPUEFDSVRZIEFORCBCQUNLR1JPVU5EUyAgXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cblx0LyogXG5cdC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ni4xIFRIRU1FUyBcblx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQqL1xuXHRcblx0LyogZGVmYXVsdCB0aGVtZSAoXCJsaWdodFwiKSAqL1xuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzeyBvcGFjaXR5OiAwLjc1OyBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyB9XG5cdFxuXHQubUNTLWF1dG9IaWRlID4gLm1DdXN0b21TY3JvbGxCb3ggPiAubUNTQl9zY3JvbGxUb29scyxcblx0Lm1DUy1hdXRvSGlkZSA+IC5tQ3VzdG9tU2Nyb2xsQm94IH4gLm1DU0Jfc2Nyb2xsVG9vbHN7IG9wYWNpdHk6IDA7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0wKVwiOyB9XG5cdFxuXHQubUN1c3RvbVNjcm9sbGJhciA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19vbkRyYWcsXG5cdC5tQ3VzdG9tU2Nyb2xsYmFyID4gLm1DdXN0b21TY3JvbGxCb3ggfiAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZyxcblx0Lm1DdXN0b21TY3JvbGxCb3g6aG92ZXIgPiAubUNTQl9zY3JvbGxUb29scyxcblx0Lm1DdXN0b21TY3JvbGxCb3g6aG92ZXIgfiAubUNTQl9zY3JvbGxUb29scyxcblx0Lm1DUy1hdXRvSGlkZTpob3ZlciA+IC5tQ3VzdG9tU2Nyb2xsQm94ID4gLm1DU0Jfc2Nyb2xsVG9vbHMsXG5cdC5tQ1MtYXV0b0hpZGU6aG92ZXIgPiAubUN1c3RvbVNjcm9sbEJveCB+IC5tQ1NCX3Njcm9sbFRvb2xzeyBvcGFjaXR5OiAxOyBmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0xMDApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0xMDApXCI7IH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC40KTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT00MClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTQwKVwiOyBcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjc1KTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT03NSlcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyBcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT04NSlcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTg1KVwiOyBcblx0fVxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC45KTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT05MClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTkwKVwiOyBcblx0fVxuXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwobUNTQl9idXR0b25zLnBuZyk7IC8qIGNzcyBzcHJpdGVzICovXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRvcGFjaXR5OiAwLjQ7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTQwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NDApXCI7IFxuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuXHRcdC8qIFxuXHRcdHNwcml0ZXMgbG9jYXRpb25zIFxuXHRcdGxpZ2h0OiAwIDAsIC0xNnB4IDAsIC0zMnB4IDAsIC00OHB4IDAsIDAgLTcycHgsIC0xNnB4IC03MnB4LCAtMzJweCAtNzJweFxuXHRcdGRhcms6IC04MHB4IDAsIC05NnB4IDAsIC0xMTJweCAwLCAtMTI4cHggMCwgLTgwcHggLTcycHgsIC05NnB4IC03MnB4LCAtMTEycHggLTcycHhcblx0XHQqL1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMHB4O1xuXHRcdC8qIFxuXHRcdHNwcml0ZXMgbG9jYXRpb25zXG5cdFx0bGlnaHQ6IDAgLTIwcHgsIC0xNnB4IC0yMHB4LCAtMzJweCAtMjBweCwgLTQ4cHggLTIwcHgsIDAgLTkycHgsIC0xNnB4IC05MnB4LCAtMzJweCAtOTJweFxuXHRcdGRhcms6IC04MHB4IC0yMHB4LCAtOTZweCAtMjBweCwgLTExMnB4IC0yMHB4LCAtMTI4cHggLTIwcHgsIC04MHB4IC05MnB4LCAtOTZweCAtOTJweCwgLTExMiAtOTJweFxuXHRcdCovXG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7XG5cdFx0LyogXG5cdFx0c3ByaXRlcyBsb2NhdGlvbnMgXG5cdFx0bGlnaHQ6IDAgLTQwcHgsIC0yMHB4IC00MHB4LCAtNDBweCAtNDBweCwgLTYwcHggLTQwcHgsIDAgLTExMnB4LCAtMjBweCAtMTEycHgsIC00MHB4IC0xMTJweFxuXHRcdGRhcms6IC04MHB4IC00MHB4LCAtMTAwcHggLTQwcHgsIC0xMjBweCAtNDBweCwgLTE0MHB4IC00MHB4LCAtODBweCAtMTEycHgsIC0xMDBweCAtMTEycHgsIC0xMjBweCAtMTEycHhcblx0XHQqL1xuXHR9XG5cblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNTZweDtcblx0XHQvKiBcblx0XHRzcHJpdGVzIGxvY2F0aW9ucyBcblx0XHRsaWdodDogMCAtNTZweCwgLTIwcHggLTU2cHgsIC00MHB4IC01NnB4LCAtNjBweCAtNTZweCwgMCAtMTI4cHgsIC0yMHB4IC0xMjhweCwgLTQwcHggLTEyOHB4XG5cdFx0ZGFyazogLTgwcHggLTU2cHgsIC0xMDBweCAtNTZweCwgLTEyMHB4IC01NnB4LCAtMTQwcHggLTU2cHgsIC04MHB4IC0xMjhweCwgLTEwMHB4IC0xMjhweCwgLTEyMHB4IC0xMjhweFxuXHRcdCovXG5cdH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcDpob3Zlcixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bjpob3Zlcixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdDpob3Zlcixcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQ6aG92ZXJ7IG9wYWNpdHk6IDAuNzU7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTc1KVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NzUpXCI7IH1cblxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcDphY3RpdmUsXG5cdC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd246YWN0aXZlLFxuXHQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0OmFjdGl2ZSxcblx0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQ6YWN0aXZleyBvcGFjaXR5OiAwLjk7IGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTkwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9OTApXCI7IH1cblx0XG5cblx0LyogdGhlbWU6IFwiZGFya1wiICovXG5cblx0Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjE1KTsgfVxuXG5cdC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwgMC43NSk7IH1cblxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC44NSk7IH1cblxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC45KTsgfVxuXG5cdC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG5cblx0Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwcHg7IH1cblxuXHQubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDBweDsgfVxuXG5cdC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNTZweDsgfVxuXHRcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcblxuXG5cdC8qIHRoZW1lOiBcImxpZ2h0LTJcIiwgXCJkYXJrLTJcIiAqL1xuXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogNHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDsgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7IGJvcmRlci1yYWRpdXM6IDFweDtcblx0fVxuXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0d2lkdGg6IDRweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO1xuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMXB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDFweDsgYm9yZGVyLXJhZGl1czogMXB4O1xuXHR9XG5cblx0Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNHB4O1xuXHRcdG1hcmdpbjogNnB4IGF1dG87XG5cdH1cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuODUpOyB9XG5cblx0Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpOyB9XG5cblx0Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IDA7IH1cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIwcHg7IH1cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTQwcHg7IH1cblxuXHQubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTU2cHg7IH1cblx0XG5cdFxuXHQvKiB0aGVtZTogXCJkYXJrLTJcIiAqL1xuXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMSk7XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxcHg7IC1tb3otYm9yZGVyLXJhZGl1czogMXB4OyBib3JkZXItcmFkaXVzOiAxcHg7XG5cdH1cblxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLCAwLjc1KTtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDFweDsgLW1vei1ib3JkZXItcmFkaXVzOiAxcHg7IGJvcmRlci1yYWRpdXM6IDFweDtcblx0fVxuXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuODUpOyB9XG5cblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjkpOyB9XG5cblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IDA7IH1cblxuXHQubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMjBweDsgfVxuXG5cdC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC00MHB4OyB9XG5cblx0Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtcdGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtNTZweDsgfVxuXHRcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcblxuXG5cdC8qIHRoZW1lOiBcImxpZ2h0LXRoaWNrXCIsIFwiZGFyay10aGlja1wiICovXG5cblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDRweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7IC1tb3otYm9yZGVyLXJhZGl1czogMnB4OyBib3JkZXItcmFkaXVzOiAycHg7XG5cdH1cblxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0d2lkdGg6IDZweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpO1xuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsgYm9yZGVyLXJhZGl1czogMnB4O1xuXHR9XG5cblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNHB4O1xuXHRcdG1hcmdpbjogNnB4IDA7XG5cdH1cblxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNnB4O1xuXHRcdG1hcmdpbjogNXB4IGF1dG87XG5cdH1cblxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KTsgfVxuXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkpOyB9XG5cblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XG5cblx0Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMjBweDsgfVxuXG5cdC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTQwcHg7IH1cblxuXHQubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IC01NnB4OyB9XG5cblxuXHQvKiB0aGVtZTogXCJkYXJrLXRoaWNrXCIgKi9cblx0XG5cdC5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjEpO1xuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsgYm9yZGVyLXJhZGl1czogMnB4O1xuXHR9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsIDAuNzUpO1xuXHRcdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsgYm9yZGVyLXJhZGl1czogMnB4O1xuXHR9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuODUpOyB9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuOSk7IH1cblxuXHQubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMDsgfVxuXG5cdC5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0yMHB4OyB9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC00MHB4OyB9XG5cblx0Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTU2cHg7IH1cblx0XG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0XG5cblxuXHQvKiB0aGVtZTogXCJsaWdodC10aGluXCIsIFwiZGFyay10aGluXCIgKi9cblx0XG5cdC5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7IH1cblxuXHQubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyB3aWR0aDogMnB4OyB9XG5cblx0Lm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHsgd2lkdGg6IDEwMCU7IH1cblxuXHQubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRtYXJnaW46IDdweCBhdXRvO1xuXHR9XG5cblxuXHQvKiB0aGVtZSBcImRhcmstdGhpblwiICovXG5cdFxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4xNSk7IH1cblxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwgMC43NSk7IH1cblx0XG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuODUpOyB9XG5cdFxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuOSk7IH1cblx0XG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9XG5cblx0Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjBweDsgfVxuXG5cdC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQwcHg7IH1cblxuXHQubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNTZweDsgfVxuXHRcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcblx0XG5cdFxuXHQvKiB0aGVtZSBcInJvdW5kZWRcIiwgXCJyb3VuZGVkLWRhcmtcIiwgXCJyb3VuZGVkLWRvdHNcIiwgXCJyb3VuZGVkLWRvdHMtZGFya1wiICovXG5cdFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjE1KTsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyeyBoZWlnaHQ6IDE0cHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTRweDtcblx0XHRtYXJnaW46IDAgMXB4O1xuXHR9XG5cdFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsIFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLCBcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcnsgd2lkdGg6IDE0cHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdGhlaWdodDogMTRweDtcblx0XHRtYXJnaW46IDFweCAwO1xuXHR9XG5cdFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTZweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cblx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0bWFyZ2luOiAtMXB4IDA7XG5cdH1cblx0XG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlseyB3aWR0aDogNHB4OyAvKiBhdXRvLWV4cGFuZGVkIHNjcm9sbGJhciAqLyB9XG5cdFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye1xuXHRcdGhlaWdodDogMTZweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cblx0XHR3aWR0aDogMTZweDtcblx0XHRtYXJnaW46IDAgLTFweDtcblx0fVxuXHRcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRoZWlnaHQ6IDRweDsgLyogYXV0by1leHBhbmRlZCBzY3JvbGxiYXIgKi9cblx0XHRtYXJnaW46IDZweCAwO1xuXHR9XG5cdFxuXHQubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEycHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuXHRcblx0XG5cdC8qIHRoZW1lIFwicm91bmRlZC1kYXJrXCIsIFwicm91bmRlZC1kb3RzLWRhcmtcIiAqL1xuXHRcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwgMC43NSk7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjE1KTsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjg1KTsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjkpOyB9XG5cdFxuXHQubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNzJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtOTJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMjhweDsgfVxuXHRcblx0XG5cdC8qIHRoZW1lIFwicm91bmRlZC1kb3RzXCIsIFwicm91bmRlZC1kb3RzLWRhcmtcIiAqL1xuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyUmFpbHsgd2lkdGg6IDRweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0fVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTkVsRVFWUVlWMk5rSUFBWWlWYncvLzkvWTZEaU0xQU5Kb3lNakdkQmJMZ0pRQVgva1UwREtnRExrYVFBdnhXNEhFdlFGd0NSY3hJSksxWHpuQUFBQUFCSlJVNUVya0pnZ2c9PVwiKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG5cdFx0b3BhY2l0eTogMC4zO1xuXHRcdGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MzApXCI7IFxuXHR9XG5cdFxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRoZWlnaHQ6IDRweDtcblx0XHRtYXJnaW46IDZweCAwO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcblx0fVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTcycHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTkycHg7IH1cblx0XG5cdC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggLTExMnB4OyB9XG5cdFxuXHQubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAtMTI4cHg7IH1cblx0XG5cdFxuXHQvKiB0aGVtZSBcInJvdW5kZWQtZG90cy1kYXJrXCIgKi9cblx0XG5cdC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTEVsRVFWUVlWMk5rSUFBWVNWRmdERlI4QnFyQkJFaWZCYkdSVGZpUFpocFlqaVFGQkszQTZsNkN2Z0FBRTlrR0NkMW12Z0VBQUFBQVNVVk9SSzVDWUlJPVwiKTtcblx0fVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNzJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05MnB4OyB9XG5cdFxuXHQubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xMTJweDsgfVxuXHRcblx0Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTEyOHB4OyB9XG5cdFxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdFxuXHRcblx0XG5cdC8qIHRoZW1lIFwiM2RcIiwgXCIzZC1kYXJrXCIsIFwiM2QtdGhpY2tcIiwgXCIzZC10aGljay1kYXJrXCIgKi9cblx0XG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLHJnYmEoMjU1LDI1NSwyNTUsMC41KSksIGNvbG9yLXN0b3AoMTAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApKSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0fVxuXHRcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwwLjUpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUscmdiYSgyNTUsMjU1LDI1NSwwLjUpKSwgY29sb3Itc3RvcCgxMDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkpKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMC41KSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwyNTUsMjU1LDAuNSkgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0fVxuXHRcblx0XG5cdC8qIHRoZW1lIFwiM2RcIiwgXCIzZC1kYXJrXCIgKi9cblx0XG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyLCBcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlcnsgaGVpZ2h0OiA3MHB4OyB9XG5cdFxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLCBcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyeyB3aWR0aDogNzBweDsgfVxuXHRcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzLCBcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHN7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyBcblx0fVxuXHRcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTZweDsgLW1vei1ib3JkZXItcmFkaXVzOiAxNnB4OyBib3JkZXItcmFkaXVzOiAxNnB4OyB9XG5cdFxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogOHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjIpO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDFweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC41KSwgaW5zZXQgLTFweCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG5cdH1cblx0XG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcdCBcblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICM1NTU7IH1cblxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IHdpZHRoOiA4cHg7IH1cblxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiA4cHg7XG5cdFx0bWFyZ2luOiA0cHggMDtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgkYm9keS1mb250LWNvbG9yLDAuNSksIGluc2V0IDAgLTFweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuXHR9XG5cblx0Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDhweDtcblx0XHRtYXJnaW46IDRweCBhdXRvO1xuXHR9XG5cdFxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XG5cdFxuXHQubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTkycHg7IH1cblx0XG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblx0XG5cdC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4OyB9XG5cdFxuXHRcblx0LyogdGhlbWUgXCIzZC1kYXJrXCIgKi9cblx0XG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjEpO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDFweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4xKTtcblx0fVxuXHRcblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHsgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjEpOyB9XG5cdFxuXHQubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XG5cblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bnsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05MnB4OyB9XG5cblx0Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMTJweDsgfVxuXG5cdC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDsgfVxuXHRcblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHRcblx0XG5cdFxuXHQvKiB0aGVtZTogXCIzZC10aGlja1wiLCBcIjNkLXRoaWNrLWRhcmtcIiAqL1xuXHRcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzLCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHN7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0zMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTMwKVwiOyBcblx0fVxuXHRcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzLCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMsIFxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lciwgXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogN3B4OyAtbW96LWJvcmRlci1yYWRpdXM6IDdweDsgYm9yZGVyLXJhZGl1czogN3B4OyB9XG5cdFxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4OyAtbW96LWJvcmRlci1yYWRpdXM6IDVweDsgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cdFxuXHQubUNTQl9pbnNpZGUgKyAubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsIFxuXHQubUNTQl9pbnNpZGUgKyAubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbHsgcmlnaHQ6IDFweDsgfVxuXHRcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7IGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDFweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4xKSwgaW5zZXQgMCAwIDE0cHggcmdiYSgkYm9keS1mb250LWNvbG9yLDAuNSk7IH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHtcblx0XHRib3R0b206IDFweDtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMSksIGluc2V0IDAgMCAxNHB4IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjUpO1xuXHR9XG5cdFxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwyNTUsMjU1LDAuNCk7XG5cdFx0d2lkdGg6IDEycHg7XG5cdFx0bWFyZ2luOiAycHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwwLjQpOyB9XG5cdFxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgIFxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogIzU1NTsgfVxuXHRcblx0Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVye1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjA1KTtcblx0XHRib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDE2cHggcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMSk7XG5cdH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTcycHg7IH1cblx0XG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDsgfVxuXG5cdC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTEycHg7IH1cblxuXHQubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cblx0XG5cdFxuXHQvKiB0aGVtZTogXCIzZC10aGljay1kYXJrXCIgKi9cblx0XG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzeyBib3gtc2hhZG93OiBpbnNldCAwIDAgMTRweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4yKTsgfVxuXHRcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHsgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjEpLCBpbnNldCAwIDAgMTRweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4yKTsgfVxuXHRcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwyNTUsMjU1LDAuNCksIGluc2V0IC0xcHggMCAwIHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjIpOyB9XG5cdCBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMC40KSwgaW5zZXQgMCAtMXB4IDAgcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMik7IH1cblx0XG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsICBcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cblx0XG5cdC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMDUpO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggMTZweCByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4xKTtcblx0fVxuXHRcblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cdFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC03MnB4OyB9XG5cdFxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTkycHg7IH1cblxuXHQubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTExMnB4OyB9XG5cblx0Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyOHB4OyB9XG5cdFxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdFxuXHRcblx0XG5cdC8qIHRoZW1lOiBcIm1pbmltYWxcIiwgXCJtaW5pbWFsLWRhcmtcIiAqL1xuXHRcblx0Lm1DU0Jfb3V0c2lkZSArIC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLCBcblx0Lm1DU0Jfb3V0c2lkZSArIC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7XG5cdFx0cmlnaHQ6IDA7IFxuXHRcdG1hcmdpbjogMTJweCAwOyBcblx0fVxuXHRcblx0Lm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwgKyAubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsIFxuXHQubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbCArIC5tQ1NCX3Njcm9sbFRvb2xzICsgLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLCBcblx0Lm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwtZGFyayArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCwgXG5cdC5tQ3VzdG9tU2Nyb2xsQm94Lm1DUy1taW5pbWFsLWRhcmsgKyAubUNTQl9zY3JvbGxUb29scyArIC5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHtcblx0XHRib3R0b206IDA7IFxuXHRcdG1hcmdpbjogMCAxMnB4OyBcblx0fVxuXHRcblx0LyogUlRMIGRpcmVjdGlvbi9sZWZ0LXNpZGUgc2Nyb2xsYmFyICovXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCwgXG5cdC5tQ1MtZGlyLXJ0bCA+IC5tQ1NCX291dHNpZGUgKyAubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2Fse1xuXHRcdGxlZnQ6IDA7IFxuXHRcdHJpZ2h0OiBhdXRvO1xuXHR9XG5cdFxuXHQubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cdFxuXHQubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyLCBcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyeyBoZWlnaHQ6IDUwcHg7IH1cblx0XG5cdC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciwgXG5cdC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyeyB3aWR0aDogNTBweDsgfVxuXHRcblx0Lm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9MjApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjsgXG5cdH1cblx0XG5cdC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuXHRcdGZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTUwKVwiOyAtbXMtZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7IFxuXHR9XG5cdFxuXHRcblx0LyogdGhlbWU6IFwibWluaW1hbC1kYXJrXCIgKi9cblx0XG5cdC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4yKTtcblx0XHRmaWx0ZXI6IFwiYWxwaGEob3BhY2l0eT0yMClcIjsgLW1zLWZpbHRlcjogXCJhbHBoYShvcGFjaXR5PTIwKVwiOyBcblx0fVxuXHRcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuNSk7XG5cdFx0ZmlsdGVyOiBcImFscGhhKG9wYWNpdHk9NTApXCI7IC1tcy1maWx0ZXI6IFwiYWxwaGEob3BhY2l0eT01MClcIjsgXG5cdH1cblx0XG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0XG5cdFxuXHRcblx0LyogdGhlbWUgXCJsaWdodC0zXCIsIFwiZGFyay0zXCIgKi9cblx0XG5cdC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogNnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjIpO1xuXHR9XG5cblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnsgd2lkdGg6IDZweDsgfVxuXG5cdC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDZweDtcblx0XHRtYXJnaW46IDVweCAwO1xuXHR9XG5cdFxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCArIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHR3aWR0aDogMTJweDtcblx0fVxuXHRcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkICsgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgKyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtcblx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0bWFyZ2luOiAycHggMDtcblx0fVxuXHRcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XG5cdFxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDsgfVxuXHRcblx0Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTExMnB4OyB9XG5cdFxuXHQubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTEyOHB4OyB9XG5cdFxuXHRcblx0LyogdGhlbWUgXCJkYXJrLTNcIiAqL1xuXHRcblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsIDAuNzUpOyB9XG5cblx0Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC44NSk7IH1cblxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuOSk7IH1cblx0XG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjEpOyB9XG5cdFxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVweyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTcycHg7IH1cblxuXHQubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDsgfVxuXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMTJweDsgfVxuXG5cdC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTEyOHB4OyB9XG5cdFxuXHQvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdFxuXHRcblx0XG5cdC8qIHRoZW1lIFwiaW5zZXRcIiwgXCJpbnNldC1kYXJrXCIsIFwiaW5zZXQtMlwiLCBcImluc2V0LTItZGFya1wiLCBcImluc2V0LTNcIiwgXCJpbnNldC0zLWRhcmtcIiAqL1xuXHRcblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDEycHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMik7XG5cdH1cblxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgXG5cdFx0d2lkdGg6IDZweDtcblx0XHRtYXJnaW46IDNweCA1cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cblxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLCBcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntcblx0XHRoZWlnaHQ6IDZweDtcblx0XHRtYXJnaW46IDVweCAzcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0fVxuXHRcblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMnB4O1xuXHRcdG1hcmdpbjogMnB4IDA7XG5cdH1cblx0XG5cdC5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCwgXG5cdC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLCBcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC03MnB4OyB9XG5cdFxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biwgXG5cdC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sIFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3dueyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTJweDsgfVxuXHRcblx0Lm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsIFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LCBcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwcHggLTExMnB4OyB9XG5cdFxuXHQubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsIFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCwgXG5cdC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDBweCAtMTI4cHg7IH1cblx0XG5cdFxuXHQvKiB0aGVtZSBcImluc2V0LWRhcmtcIiwgXCJpbnNldC0yLWRhcmtcIiwgXCJpbnNldC0zLWRhcmtcIiAqL1xuXHRcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLCAwLjc1KTsgfVxuXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJvZHktZm9udC1jb2xvciwwLjg1KTsgfVxuXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsIFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwgXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC45KTsgfVxuXHRcblx0Lm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsIFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLCBcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuMSk7IH1cblx0XG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLCBcblx0Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCwgXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNzJweDsgfVxuXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sIFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTJweDsgfVxuXG5cdC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsIFxuXHQubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjBweCAtMTEycHg7IH1cblxuXHQubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCwgXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsIFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e1x0YmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjhweDsgfVxuXHRcblx0XG5cdC8qIHRoZW1lIFwiaW5zZXQtMlwiLCBcImluc2V0LTItZGFya1wiICovXG5cdFxuXHQubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwgXG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItY29sb3I6ICNmZmY7XG5cdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG5cdFx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblx0XG5cdC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7IGJvcmRlci1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYm9yZGVyLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC4yKTsgfVxuXHRcblx0XG5cdC8qIHRoZW1lIFwiaW5zZXQtM1wiLCBcImluc2V0LTMtZGFya1wiICovXG5cdFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjYpOyB9XG5cdFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlseyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC42KTsgfVxuXHRcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLCAwLjc1KTsgfVxuXHRcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcnsgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLDAuODUpOyB9XG5cdFxuXHQubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2Jhcixcblx0Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsMC45KTsgfVxuXHRcblx0Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOyB9XG5cdFxuXHQubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC44NSk7IH1cblx0XG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsXG5cdC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7IH1cblx0XG5cdC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgU2V0dGluZ3MgICAgICAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIE92ZXJsYXkgb3B0aW9uc1xuJG1mcC1jb2xvci1zY2hlbWUtZGFyazogICAgICAgICAgICAgICAkYmxhY2s7XG4kbWZwLWNvbG9yLXNjaGVtZS1saWdodDogICAgICAgICAgICAgICR3aGl0ZTtcblxuLy8gb3ZlcmxheVxuJG1mcC1vdmVybGF5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAkbWZwLWNvbG9yLXNjaGVtZS1kYXJrICFkZWZhdWx0OyAgICAvLyBDb2xvciBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1vdmVybGF5LW9wYWNpdHk6ICAgICAgICAgICAgICAgICAwLjkgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDsgLy8gU2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuXG4vLyBzcGFjaW5nXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgIDhweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICAxMDQwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFzZSB6LWluZGV4IG9mIHBvcHVwXG5cbi8vIGNvbnRyb2xzXG4kbWZwLWluY2x1ZGUtYXJyb3dzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNsdWRlIHN0eWxlcyBmb3IgbmF2IGFycm93c1xuJG1mcC1jb250cm9scy1vcGFjaXR5OiAgICAgICAgICAgICAgICAwLjY1ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1jb2xvcjogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY29udHJvbHNcbiRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIzNGM0YzRiAhZGVmYXVsdDsgXHQgICAgICAgICAgICAgICAgIC8vIEJvcmRlciBjb2xvciBvZiBjb250cm9sc1xuJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY2xvc2UgYnV0dG9uIHdoZW4gaW5zaWRlXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3I6ICAgICAgICAgICAgICNDQ0MgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI6ICAgICAgICNGRkYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3ZlciBjb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG5cbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZTogICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJZnJhbWUtdHlwZSBwb3B1cHNcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIElmcmFtZSBwYWRkaW5nIHRvcFxuJG1mcC1pZnJhbWUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFja2dyb3VuZCBjb2xvciBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyBNYXhpbXVtIHdpZHRoIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLXJhdGlvOiAgICAgICAgICAgICAgICAgICAgOS8xNiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJhdGlvIG9mIGlmcmFtZSAoOS8xNiA9IHdpZGVzY3JlZW4sIDMvNCA9IHN0YW5kYXJkLCBldGMuKVxuXG4vLyBJbWFnZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pbWFnZS10eXBlOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJbWFnZS10eXBlIHBvcHVwc1xuJG1mcC1pbWFnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyB0b3BcbiRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgYm90dG9tXG4kbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2U6IHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmVzIHBhZGRpbmdzIGZyb20gdG9wIGFuZCBib3R0b21cblxuLy8gSW1hZ2UgY2FwdGlvbiBvcHRpb25zXG4kbWZwLWNhcHRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICRtZnAtY29sb3Itc2NoZW1lLWxpZ2h0ICFkZWZhdWx0OyAgICAgLy8gQ2FwdGlvbiB0aXRsZSBjb2xvclxuJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAkbWZwLWNvbG9yLXNjaGVtZS1saWdodCAhZGVmYXVsdDsgICAgIC8vIENhcHRpb24gc3VidGl0bGUgY29sb3JcblxuLy8gQTExeVxuJG1mcC11c2UtdmlzdWFsbHloaWRkZW46ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgLy8gSGlkZSBjb250ZW50IGZyb20gYnJvd3NlcnMsIGJ1dCBtYWtlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gQ29udGVudHM6XG4vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vICAgIC0gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi8vICAgIC0gQ29udGFpbmVycywgd3JhcHBlcnNcbi8vICAgIC0gQ3Vyc29yc1xuLy8gICAgLSBIZWxwZXIgY2xhc3Nlc1xuLy8gMi4gQXBwZWFyYW5jZVxuLy8gICAgLSBQcmVsb2FkZXIgJiB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi8vICAgIC0gQ1NTIHJlc2V0IGZvciBidXR0b25zXG4vLyAgICAtIENsb3NlIGljb25cbi8vICAgIC0gXCIxIG9mIFhcIiBjb3VudGVyXG4vLyAgICAtIE5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFycm93c1xuLy8gICAgLSBJZnJhbWUgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBJbWFnZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIE1lZGlhIHF1ZXJ5IHdoZXJlIHNpemUgb2YgYXJyb3dzIGlzIHJlZHVjZWRcbi8vICAgIC0gSUU3IHN1cHBvcnRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBUcmFuc2x1c2NlbnQgb3ZlcmxheVxuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgYmFja2dyb3VuZDogJG1mcC1vdmVybGF5LWNvbG9yO1xuICBvcGFjaXR5OiAkbWZwLW92ZXJsYXktb3BhY2l0eTtcbn1cblxuLy8gV3JhcHBlciBmb3IgcG9wdXBcbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIGZpeGVzIHdlYmtpdCBidWcgdGhhdCBjYW4gY2F1c2UgXCJmYWxzZVwiIHNjcm9sbGJhclxufVxuXG4vLyBSb290IGNvbnRhaW5lclxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBWZXJ0aWNhbCBjZW50ZXJlciBoZWxwZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdmVydGljYWwgY2VudGVyaW5nIHdoZW4gcG9wdXAgaGFzIGNsYXNzIGBtZnAtYWxpZ24tdG9wYFxuLm1mcC1hbGlnbi10b3Age1xuICAubWZwLWNvbnRhaW5lciB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUG9wdXAgY29udGVudCBob2xkZXJcbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA1O1xufVxuLm1mcC1pbmxpbmUtaG9sZGVyLFxuLm1mcC1hamF4LWhvbGRlciB7XG4gIC5tZnAtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi8vIEN1cnNvcnNcbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuLm1mcC16b29tLW91dC1jdXIge1xuICAmLCAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICAgIGN1cnNvcjogem9vbS1vdXQ7XG4gIH1cbn1cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47XG59XG4ubWZwLWF1dG8tY3Vyc29yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vIEhpZGUgdGhlIGltYWdlIGR1cmluZyB0aGUgbG9hZGluZ1xuLm1mcC1sb2FkaW5nIHtcbiAgJi5tZnAtZmlndXJlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEhlbHBlciBjbGFzcyB0aGF0IGhpZGVzIHN0dWZmXG5AaWYgJG1mcC11c2UtdmlzdWFsbHloaWRkZW4ge1xuICAvLyBGcm9tIEhUTUw1IEJvaWxlcnBsYXRlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvdjQuMi4wL2RvYy9jc3MubWQjdmlzdWFsbHloaWRkZW5cbiAgLm1mcC1oaWRlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZnAtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAyLiBBcHBlYXJhbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gUHJlbG9hZGVyIGFuZCB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNDtcbiAgYSB7XG4gICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgcHJlbG9hZGVyIHdoZW4gY29udGVudCBzdWNjZXNzZnVsbHkgbG9hZGVkXG4ubWZwLXMtcmVhZHkge1xuICAubWZwLXByZWxvYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBIaWRlIGNvbnRlbnQgd2hlbiBpdCB3YXMgbm90IGxvYWRlZFxuLm1mcC1zLWVycm9yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIENTUy1yZXNldCBmb3IgYnV0dG9uc1xuYnV0dG9uIHtcbiAgJi5tZnAtY2xvc2UsXG4gICYubWZwLWFycm93IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA2O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwXG4gIH1cbn1cblxuXG4vLyBDbG9zZSBpY29uXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJG1mcC1jb250cm9scy1vcGFjaXR5O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7XG4gIH1cbn1cbi5tZnAtY2xvc2UtYnRuLWluIHtcbiAgLm1mcC1jbG9zZSB7XG4gICAgY29sb3I6ICRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjtcbiAgfVxufVxuLm1mcC1pbWFnZS1ob2xkZXIsXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICByaWdodDogLTZweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gXCIxIG9mIFhcIiBjb3VudGVyXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIE5hdmlnYXRpb24gYXJyb3dzXG5AaWYgJG1mcC1pbmNsdWRlLWFycm93cyB7XG4gIC5tZnAtYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAkbWZwLWNvbnRyb2xzLW9wYWNpdHk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC01NXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgJjphY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLTU0cHg7XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcblxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gICAgICB0b3A6OHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICB9XG5cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogMzFweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgICAgbWFyZ2luLWxlZnQ6IDM5cHhcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBJZnJhbWUgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlIHtcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcGFkZGluZy10b3A7XG4gICAgcGFkZGluZy1ib3R0b206ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAkbWZwLWlmcmFtZS1tYXgtd2lkdGg7XG4gICAgfVxuICAgIC5tZnAtY2xvc2Uge1xuICAgICAgdG9wOiAtNDBweDtcbiAgICB9XG4gIH1cbiAgLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcmF0aW8gKiAxMDAlO1xuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pZnJhbWUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIEltYWdlIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pbWFnZS10eXBlIHtcblxuICAvKiBNYWluIGltYWdlIGluIHBvcHVwICovXG4gIGltZyB7XG4gICAgJi5tZnAtaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wIDAgJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuICAubWZwLWZpZ3VyZSB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6ICRtZnAtaW1hZ2UtcGFkZGluZy10b3A7XG4gICAgICBib3R0b206ICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pbWFnZS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICB9XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbSArIDQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuICAubWZwLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tdGl0bGUtY29sb3I7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7IC8vIGxlYXZlIHNvbWUgc3BhY2UgZm9yIGNvdW50ZXIgYXQgcmlnaHQgc2lkZVxuICB9XG5cbiAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1nYWxsZXJ5IHtcbiAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIEBpZiAkbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAgICAgLm1mcC1pbWctbW9iaWxlIHtcbiAgICAgICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgJi5tZnAtaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtZmlndXJlIHtcbiAgICAgICAgICAvLyBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2VcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtY291bnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuICAgICAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFNjYWxlIG5hdmlnYXRpb24gYXJyb3dzIGFuZCByZWR1Y2UgcGFkZGluZyBmcm9tIHNpZGVzXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG4gIH1cbn1cblxuLy8gQWRkaW5nIHpvb20gZmFkZSBzdHlsaW5nXG4ubWZwLXdpdGgtem9vbSAubWZwLWNvbnRhaW5lcixcbi5tZnAtd2l0aC16b29tLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQpO1xufVxuXG4ubWZwLXdpdGgtem9vbS5tZnAtcmVhZHkgLm1mcC1jb250YWluZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLm1mcC13aXRoLXpvb20ubWZwLXJlYWR5Lm1mcC1iZyB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLm1mcC13aXRoLXpvb20ubWZwLXJlbW92aW5nIC5tZnAtY29udGFpbmVyLFxuLm1mcC13aXRoLXpvb20ubWZwLXJlbW92aW5nLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDA7XG59IiwiLmJ1dHRvbixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICBjb2xvcjogJHdoaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiByZW0tY2FsYyg0MDApO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCk7XG5cbiAgJixcbiAgcCB7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcbiAgfVxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG4gIC5tYWluLXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDlkZWcpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNCk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIC5tYWluLXRleHQge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLm1haW4tdGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICB9XG4gICYuYzJhLWJ0biB7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTApO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTlkZWcpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgMjApO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZWVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjRzIGVhc2UtaW4tb3V0KTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYmFja2dyb3VuZDogJG5vcm1hbC1ncmVlbjtcbiAgICAgIGNvbG9yOiAkbGltZS1ncmVlbjtcbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIGdyb3VwIHNwYWNpbmdcbi5idG4tZ3JvdXAge1xuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSk7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRnVsbCB3aWR0aCAmIFR3byBjb2x1bW4gLSBtYWluIGNvbnRlbnQgLSBiYW5kIGdyaWQgZnJhbWluZ1xuLmZ3LWNvbnRlbnQgLmltYWdlLWNhbGxvdXRzLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmltYWdlLWNhbGxvdXRzIHtcblx0QGluY2x1ZGUgeHktZ3JpZDtcbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0LmZ3LWNvbnRlbnQgLmltYWdlLWNhbGxvdXRzLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIgLmltYWdlLWNhbGxvdXRzIHtcblx0XHQmLmNhbGxvdXQtY29scy0xIHtcblx0XHRcdC5jYWxsb3V0IHtcblx0XHRcdFx0QGluY2x1ZGUgeHktY2VsbCgkc2l6ZToxMiwgJGd1dHRlci1vdXRwdXQ6ZmFsc2UpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmNhbGxvdXQtY29scy0yLCAmLmNhbGxvdXQtY29scy0zIHtcblx0XHRcdC5jYWxsb3V0IHtcblx0XHRcdFx0QGluY2x1ZGUgeHktY2VsbCgkc2l6ZToxMiwgJGd1dHRlci1wb3NpdGlvbjp0b3AgYm90dG9tKTtcblx0XHRcdFx0XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XHRcblx0XHR9XG5cdFx0LmNhbGxvdXQge1xuXHRcdFx0LmNhbGxvdXQtZnJhbWUge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMzcuNSU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQuZnctY29udGVudCAuaW1hZ2UtY2FsbG91dHMsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciAuaW1hZ2UtY2FsbG91dHMge1xuXHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xuXHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLTE1KTtcblxuXHRcdCYuY2FsbG91dC1jb2xzLTEge1xuXHRcdFx0LmNhbGxvdXQge1xuXHRcdFx0XHRAaW5jbHVkZSB4eS1jZWxsKCRzaXplOjgsICRndXR0ZXItb3V0cHV0OnRydWUpO1xuXHRcdFx0XHRAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbjoyKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5jYWxsb3V0LWNvbHMtMiB7XG5cdFx0XHQuY2FsbG91dCB7XG5cdFx0XHRcdEBpbmNsdWRlIHh5LWNlbGwoJHNpemU6NiwgJGd1dHRlci1wb3NpdGlvbjpyaWdodCBsZWZ0KTtcblxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0fVx0XG5cdFx0fVxuXHRcdCYuY2FsbG91dC1jb2xzLTMge1xuXHRcdFx0LmNhbGxvdXQge1xuXHRcdFx0XHRAaW5jbHVkZSB4eS1jZWxsKCRzaXplOjQsICRndXR0ZXJzOiAzMCwgJGd1dHRlci1wb3NpdGlvbjpyaWdodCBsZWZ0KTtcblxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0fVx0XG5cdFx0fVxuXHRcdC5jYWxsb3V0IHtcblx0XHRcdC5jYWxsb3V0LWZyYW1lIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDY2LjclO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBUd28gY29sdW1uIC0gc2lkZWJhciAtIGJhbmQgZ3JpZCBmcmFtaW5nXG4udGMtc2ItY29udGVudCAuc2lkZWJhci1jb250ZW50LXdyYXBwZXIgLmltYWdlLWNhbGxvdXRzIHtcblx0QGluY2x1ZGUgeHktZ3JpZDtcbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0LnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyIHtcblx0XHQmLmNhbGxvdXQtY29scy0xIHtcblx0XHRcdC5jYWxsb3V0IHtcblx0XHRcdFx0QGluY2x1ZGUgeHktY2VsbCgkc2l6ZToxMiwgJGd1dHRlci1vdXRwdXQ6ZmFsc2UpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmLmNhbGxvdXQtY29scy0yLCAmLmNhbGxvdXQtY29scy0zIHtcblx0XHRcdC5jYWxsb3V0IHtcblx0XHRcdFx0QGluY2x1ZGUgeHktY2VsbCgkc2l6ZToxMiwgJGd1dHRlci1wb3NpdGlvbjpib3R0b20pO1xuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVx0XG5cdFx0fVxuXHR9XG59IiwiLmZlYXR1cmVkLWhlcm8ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGhlaWdodDogcmVtLWNhbGMoMTAwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICB9XG59XG4iLCIuZG90dGVkIHtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIG1hcmdpbjogMnJlbSAwO1xufVxuIiwiLy8gQXBwbHkgb3V0bGluZSBzdHlsZXMgb25seSB3aGVuIGlucHV0IG1ldGhvZCBpcyBrZXlib2FyZFxuLy8gcmVtb3ZlIDpmb2N1cyBzdHlsZSB2aWEgV2hhdCBJbnB1dCB1c2luZyBwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudFxuLy8gc28gOmZvY3VzIGlzbid0IGxlZnQgYnJva2VuIGlmIEphdmFTY3JpcHQgZmFpbHNcblxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuIiwiLy8gQmFzZSBhY2NvcmRpb24gdHJpZ2dlciBzdHlsaW5nXG4uYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBAZXh0ZW5kIGg2O1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkIHJnYmEoJG1lZGl1bS1ncmF5LCAwLjI1KTtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogKG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIFwic21hbGxcIikgLyA0KSAxcmVtO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYyg1KSBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoNSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoNSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTMpO1xuICAgICAgICB3aWR0aDogMDtcblxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtMTgwZGVnKSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCByZ2JhKCRtZWRpdW0tZ3JheSwgMC41KTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygkZ2xvYmFsLXJhZGl1cyAqIC0xKTtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygkZ2xvYmFsLXJhZGl1cyArIDFyZW0pO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY2NvcmRpb24gb24gbGlnaHQgZ3JheSBiYW5kIGJhY2tncm91bmQtY29sb3Jcbi5sdC1ncmF5LWJnIHtcbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUsXG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkZGFyay1ncmF5LCAwLjI1KTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoJGRhcmstZ3JheSwgMC43NSk7XG4gICAgfVxuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoNSkgc29saWQgJHdoaXRlO1xuICAgICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoNSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoNSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JlZW47XG4gIHRyYW5zZm9ybTogc2tld1goLTlkZWcpO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAyNHB4O1xuICBwYWRkaW5nOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgY29udGVudDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMC45OTFcIiBoZWlnaHQ9XCIxMC45OTFcIiB2aWV3Qm94PVwiMCAwIDEwLjk5MSAxMC45OTFcIj48cGF0aCBpZD1cIlBhdGhfNTA4XCIgZGF0YS1uYW1lPVwiUGF0aCA1MDhcIiBkPVwiTS01MDgyLjI0NywyNjY1LjI5MmgtNS43ODJ2NS43NjFcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE3MDMuNTU3IDU0ODcuOTE0KSByb3RhdGUoMTM1KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzZmZmXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIi8+PC9zdmc+Jyk7XG59XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JlZW47XG4gIGNvbnRlbnQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTAuOTkxXCIgaGVpZ2h0PVwiMTAuOTkxXCIgdmlld0JveD1cIjAgMCAxMC45OTEgMTAuOTkxXCI+PHBhdGggaWQ9XCJQYXRoXzUwOFwiIGRhdGEtbmFtZT1cIlBhdGggNTA4XCIgZD1cIk0tNTA4Mi4yNDcsMjY2NS4yOTJoLTUuNzgydjUuNzYxXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xNzAzLjU1NyA1NDg3LjkxNCkgcm90YXRlKDEzNSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiUyM0UyRTM2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjwvc3ZnPicpO1xufVxuXG4jY29sbGFwc2libGUtbWVudS1jb250YWluZXIge1xuICAgIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIH1cbn0iLCJibG9ja3F1b3RlIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG5cdFx0LnF1b3RlLXRleHQge1xuXHRcdFx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cdFx0XHRsaW5lLWhlaWdodDogJGhlYWRlci1saW5laGVpZ2h0O1xuXG5cdFx0XHQmOmJlZm9yZSwgJjphZnRlciB7XG5cdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ1xcMjAxQyc7XG5cdFx0XHR9XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJ1xcMjAxRCc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZvbnQgc2l6aW5nXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG5cdGJsb2NrcXVvdGUge1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDAgMCAwIDMwKTtcblxuXHRcdC5xdW90ZS10ZXh0IHtcblx0XHRcdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg0Mik7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDEyKTtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRibG9ja3F1b3RlIHtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDAgMCAzMCk7XG5cblx0XHQucXVvdGUtdGV4dCB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblxuXHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDQ4KTtcblx0XHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTQpO1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0YmxvY2txdW90ZSB7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMCAwIDAgMzApO1xuXG5cdFx0LnF1b3RlLXRleHQge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNCk7XG5cblx0XHRcdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg2MCk7XG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDE4KTtcblx0XHRcdH1cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIE1lZGl1bSBncmF5IGJhY2tncm91bmQgZm9udCBjb2xvciBzdHlsaW5nXG4ubWQtZ3JheS1iZyB7XG5cdGJsb2NrcXVvdGUge1xuXHRcdC5xdW90ZS10ZXh0IHtcblx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG5cdFx0XHQmOmJlZm9yZSwgJjphZnRlciB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGNpdGUge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdH1cbn1cblxuLy8gQmxhY2sgYmFja2dyb3VuZCBmb250IGNvbG9yIHN0eWxpbmdcbi5ibGFjay1iZyB7XG5cdGJsb2NrcXVvdGUge1xuXHRcdC5xdW90ZS10ZXh0IHtcblx0XHRcdGNvbG9yOiAkbGlnaHQtZ3JheTtcblx0XHR9XG5cdH1cbn0iLCIvLyBCYXNpYyBpbWFnZSBnYWxsZXJ5IGdyaWQgZnJhbWluZ1xuLmltZy1nYWxsZXJ5LWl0ZW0ge1xuXHRhIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0LnN0ZC1ibG9jay1ncmlkIC5pbWctZ2FsbGVyeS1pdGVtIHtcblx0XHRhIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuaW1nLWdhbGxlcnktaXRlbSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogbWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ3NtYWxsJyk7XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdC5zdGQtYmxvY2stZ3JpZCAgLmltZy1nYWxsZXJ5LWl0ZW0ge1xuXHRcdGEge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDEwMCU7XG5cdFx0fVxuXHR9XG5cdC5pbWctZ2FsbGVyeS1pdGVtIHtcblx0XHRtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnbWVkaXVtJyk7XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0LmltZy1nYWxsZXJ5LWl0ZW0ge1xuXHRcdG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICdsYXJnZScpO1xuXHR9XG59XG5cbi8vIEltYWdlIHNpemluZyBzdHlsaW5nXG4uc3RkLWJsb2NrLWdyaWQgLmltZy1nYWxsZXJ5LWl0ZW0ge1xuXHRpbWcubGFuZHNjYXBlLWltZyB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0d2lkdGg6IGF1dG87XG5cblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIDApKTtcblx0fVxuXHRpbWcucG9ydHJhaXQtaW1nIHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0dG9wOiA1MCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDAsIC01MCUpKTtcblx0fVxufSIsIi8vIE1vZGFsIHN0eWxlc1xuLmNhbGxvdXQtbW9kYWwucmV2ZWFsIHtcblx0cGFkZGluZzogcmVtLWNhbGMoNTApO1xuXG5cdHAsIHVsLCBvbCB7XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cdC5jYXB0aW9uIHtcblx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0fVxufVxuXG4vLyBJbWFnZSBncmlkIGZyYW1pbmdcbi5jYWxsb3V0IHtcblx0LnNjYWxlZC1pbWFnZSB7XG5cdFx0aW1nIHtcblx0XHRcdG1heC1oZWlnaHQ6IHJlbS1jYWxjKDM1MCk7XG5cdFx0fVxuXHR9XG5cdC5kZXNpZ25hdGlvbnMge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuXHR9XG5cdC50aXRsZS10ZXh0LCAuZGVzaWduYXRpb25zIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0LmNhbGxvdXQtdGV4dCB7XG5cdFx0cGFkZGluZy10b3A6IChtYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAnc21hbGwnKSAvIDQpO1xuXG5cdFx0Lm1haW4tdGV4dCB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKGhlYWRlci1zaXplKG1lZGl1bSwgaDQpKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4ubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQsIC5jYWxsb3V0LW1vZGFsIHtcblx0LmNhcHRpb24ge1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0fVxufVxuLmNhbGxvdXQtbW9kYWwge1xuXHQuZGVzaWduYXRpb25zIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0LmNhbGxvdXQge1xuXHRcdC5zY2FsZWQtaW1hZ2Uge1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0bWF4LWhlaWdodDogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmRlc2lnbmF0aW9ucyB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblx0XHR9XG5cdFx0LmNhbGxvdXQtdGV4dCB7XG5cdFx0XHRwYWRkaW5nOiAobWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJ21lZGl1bScpIC8gNCkgMDtcblxuXHRcdFx0Lm1haW4tdGV4dCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoaGVhZGVyLXNpemUobWVkaXVtLCBoNSkpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuY2FsbG91dC1tb2RhbCB7XG5cdFx0LmRlc2lnbmF0aW9ucyB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHR9XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0LmNhbGxvdXQtbW9kYWwge1xuXHRcdC5kZXNpZ25hdGlvbnMge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEltYWdlIGdyaWQgc3R5bGVzXG4ubW9kYWwtY2FsbG91dHMgLmNhbGxvdXQge1xuXHRhLnNjYWxlZC1pbWFnZSB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0KTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdH1cblx0fVxuXHQuc2NhbGVkLWltYWdlIHtcblx0XHQuaW1nLXdyYXAge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMTUlKTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cdFx0LmltZy13cmFwLCBpbWcge1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHRcblx0fVxuXHRhLm1haW4tdGV4dCB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBib3R0b207XG5cdFx0YmFja2dyb3VuZC1zaXplOiAwJSAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLXNpemUgMC4zcyBlYXNlKTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG5cdFx0fVxuXHR9XG5cdC5jYXB0aW9uLCAuc20tYnRucyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0fVxuXHQuY2FwdGlvbiB7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0KTtcblx0fVxufVxuXG4vLyBNb2RhbCBzdHlsZXNcbi5yZXZlYWwge1xuXHQuY2xvc2UtYnV0dG9uIHtcblx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuXHRcdEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgMC4zcyBlYXNlLWluLW91dCk7XG5cdH1cbn0iLCIvLyBUYWIgZnJhbWluZyAmIHN0eWxpbmdcbi50YWJzLFxuLmRvYy1maWx0ZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLnRhYnMtdGl0bGUsXG4gIC5yZXMtZmlsdGVyIHtcbiAgICAvL2ZvbnQtZmFtaWx5OiAkYm9sZC1mb250LWZhbWlseTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygxNCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlKTtcbiAgICB9XG4gICAgJjpub3QoLmlzLWFjdGl2ZSkgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsIDAuMSk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRib2R5LWZvbnQtY29sb3IsIDAuMik7XG4gICAgICB9XG4gICAgfVxuICAgICYuaXMtYWN0aXZlIGEge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgLnRhYnMtdGl0bGUge1xuICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDAwIGRvd24pIHtcbiAgICAudGFicy10aXRsZSB7XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAudGFicy10aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi50ZXh0LWNvbnRlbnQtd2l0aC1jdGEtc2lkZWJhciB7XG5cbiAgICAubWFpbi1jb250ZW50LWNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY29uZGFyeS1jb250ZW50LXNpZGViYXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlYmFyLWJ1dHRvbnMtc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoOSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMykgcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGltZS1ncmVlbjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5vcm1hbC1ncmVlbjtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRub3JtYWwtZ3JlZW47XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGltZS1ncmVlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZWJhci1jb250ZW50LWFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvcjogJHllbGxvdywgJGFscGhhOiAwLjI1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cblxuICAgICAgICAuY2l0YXRpb24tdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJG5vcm1hbC1ncmVlbjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuY2FsbG91dC1ibG9ja3Mge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLTE1KTtcbiAgXG5cbiAgICAuY2FsbG91dC1ibG9jayB7XG4gICAgICAgIC8vIGZvciBhbmltYXRpb25zXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKFxuICAgICAgICAgICRzaXplOiAxMixcbiAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChcbiAgICAgICAgICAkc2l6ZTogNixcbiAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKFxuICAgICAgICAgICRzaXplOiA0LFxuICAgICAgICAgICRndXR0ZXJzOiAzMHB4LFxuICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICApO1xuICAgICAgfVxuICBcbiAgICAgIC5jYWxsb3V0LWJsb2NrLWludGVyaW9yIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5jYWxsb3V0LWJsb2NrLWV4dHJhLWNvcHkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3I6ICR5ZWxsb3csICRhbHBoYTogMC4yNSk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA3cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogN3B4O1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcblxuICAgICAgICAgICAgLmNhbGxvdXQtYnV0dG9uLWhvbGRlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgJi5jMmEtYnRuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYWxsb3V0LWltYWdlLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8vaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jYWxsb3V0LWltYWdlLWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmVlbjtcblxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhbGxvdXQtaW1hZ2UtaG9sZGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA3cHg7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogN3B4O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYWxsb3V0LWhlYWRpbmcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7ICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXG4gICAgICB9XG4gICAgfVxufSAgIiwiLmltYWdlcy13aXRoLWNvbnRlbnQtc2VjdGlvbiB7XG5cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuXG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMTUpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0xNSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC01NjUpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0xNjApO1xuICAgIH1cblxuXG4gICAgLmNvbnRlbnQtcm93LWltYWdlLWJsb2NrIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIwNCkgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygyNjcpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzA5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlyc3QtaW1hZ2UtY29sdW1uLCAuc2Vjb25kLWltYWdlLWNvbHVtbiwgLnRoaXJkLWltYWdlLWNvbHVtbiB7XG4gICAgICAgIC8vIGZvciBhbmltYXRpb25zXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuZmlyc3QtaW1hZ2UtY29sdW1uLCAuc2Vjb25kLWltYWdlLWNvbHVtbiwgLnRoaXJkLWltYWdlLWNvbHVtbiwgLm1haW4tY29udGVudC1jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tY29udGVudC1jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChcbiAgICAgICAgICAgICAgICAkc2l6ZTogMTIsXG4gICAgICAgICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDE3MDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDgwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpcnN0LWltYWdlLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA1ODNweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAgIC5jb250ZW50LXJvdy1pbWFnZS1ibG9ja3tcbiAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI1ODMuNjhcIiBoZWlnaHQ9XCIzMDkuNTQ1XCIgdmlld0JveD1cIjAgMCA1ODMuNjggMzA5LjU0NVwiPjxwYXRoIGlkPVwiUGF0aF81MjdcIiBkYXRhLW5hbWU9XCJQYXRoIDUyN1wiIGQ9XCJNNTQyLjcwNi00LjQ3MUgxMDMuMTE1Yy00My40ODYsMC02NC4wMDUtMjkuMTQ5LTU3LTgwLjExM2wyMi4xMjMtMTYwLjEzYzYuMDgtNDMuNjI4LDI3LjYxMi02OC44Miw2OC45ODctNjguODJsNDM4LjY2Mi0uMzg2YzMyLjE3MSwwLDU4Ljg1NCwyNC45LDUxLjI1NSw4MC4xMTNMNjAzLjU4Ny02NC4wMjVjLTQuNzI5LDM0LjI2NS0zMC42NTIsNTkuNjUtNjAuOTY1LDU5LjY1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNDQuNzcgMzEzLjkyKVwiIGZpbGw9XCIlMjNjNjM1MjdcIi8+PC9zdmc+Jyk7XG4gICAgICAgICAgICAgIG1hc2stc2l6ZTogNTgzcHggMzA5cHg7XG4gICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IHJpZ2h0O1xuICAgICAgICAgIH1cbiAgICB9XG4gICAgLnNlY29uZC1pbWFnZS1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogMzczcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoXG4gICAgICAgICAgICAgICAgJHNpemU6IDYsXG4gICAgICAgICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgICAgICAgJGd1dHRlci1wb3NpdGlvbjogdG9wIHJpZ2h0IGJvdHRvbSBsZWZ0XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgICAuY29udGVudC1yb3ctaW1hZ2UtYmxvY2t7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM3My43NzJcIiBoZWlnaHQ9XCIzMDkuNTQ2XCIgdmlld0JveD1cIjAgMCAzNzMuNzcyIDMwOS41NDZcIj48cGF0aCBpZD1cIlBhdGhfNTI3XCIgZGF0YS1uYW1lPVwiUGF0aCA1MjdcIiBkPVwiTTM1Ny4yNCw0NS41MzZIMTQ0LjYyMWMtNDguNDI5LDAtNzEuMzc0LTI5LjE4Ni02My40NzUtODAuMjEzbDI0LjkyLTE2MC4zM2M2Ljc3MS00My42ODIsMzAuNzUtNjksNzYuOTIzLTY5SDM5NC44NTRjMzUuODI4LDAsNjUuNTQ0LDI0LjkzNCw1Ny4wODEsODAuMjEzTDQyNS43OTMtMTQuMTlDNDIwLjUyNywyMC4xMTgsMzkxLDQ1LjUzNSwzNTcuMjQsNDUuNTM1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNzkuNjE3IDI2NC4wMSlcIiBmaWxsPVwiJTIzYzYzNTI3XCIvPjwvc3ZnPicpO1xuICAgICAgICAgICAgbWFzay1zaXplOiAzNzNweCAzMDlweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC04MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzIycHg7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICB9XG4gICAgLnRoaXJkLWltYWdlLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA0MjdweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChcbiAgICAgICAgICAgICAgICAkc2l6ZTogNixcbiAgICAgICAgICAgICAgICAkZ3V0dGVyczogMzBweCxcbiAgICAgICAgICAgICAgICAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAgIC5jb250ZW50LXJvdy1pbWFnZS1ibG9ja3tcbiAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0MjcuNTA2XCIgaGVpZ2h0PVwiMzA5LjU0NlwiIHZpZXdCb3g9XCIwIDAgNDI3LjUwNiAzMDkuNTQ2XCI+PHBhdGggaWQ9XCJQYXRoXzUyN1wiIGRhdGEtbmFtZT1cIlBhdGggNTI3XCIgZD1cIk0zOTcuMTUxLDQ1LjUzNkgxNTMuOTY2Yy01NS4zOTEsMC04MS42MzUtMjkuMTg2LTcyLjYtODAuMjEzbDI4LjUtMTYwLjMzYzcuNzQ0LTQzLjY4MiwzNS4xNzEtNjksODcuOTgxLTY5SDQ0MC4xNzNjNDAuOTc5LDAsNzQuOTY3LDI0LjkzNCw2NS4yODcsODAuMjEzTDQ3NS41Ni0xNC4xOWMtNi4wMjMsMzQuMzA4LTM5LjgsNTkuNzI1LTc4LjQwOCw1OS43MjVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC03OS42MTcgMjY0LjAxKVwiIGZpbGw9XCIlMjNjNjM1MjdcIi8+PC9zdmc+Jyk7XG4gICAgICAgICAgICAgIG1hc2stc2l6ZTogNDI3cHggMzA5cHg7XG4gICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGxlZnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyODFweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hc2stcG9zaXRpb246IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM2NnB4O1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICB9XG59XG5cbi5oaWRlLWNvcHktY29sdW1uIHtcbiAgICAuaW1hZ2VzLXdpdGgtY29udGVudC1zZWN0aW9uIHtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xNTUpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tY29udGVudC1jb2x1bW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5maXJzdC1pbWFnZS1jb2x1bW4ge1xuICAgICAgICAgICAgLy9vcmRlcjogMTtcblxuICAgICAgICAgICAgd2lkdGg6IDY2N3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgLmNvbnRlbnQtcm93LWltYWdlLWJsb2Nre1xuICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjY2Ny4xOThcIiBoZWlnaHQ9XCIzMDkuNTQ2XCIgdmlld0JveD1cIjAgMCA2NjcuMTk4IDMwOS41NDZcIj48cGF0aCBkPVwiTTc5My40NjUtNC40NzFIMjkwLjk3M2MtNDkuNzA5LDAtNzMuMTY0LTI5LjE0OS02NS4xNTItODAuMTEzbDI1LjI4OS0xNjAuMTNjNi45NS00My42MjgsMzEuNTYzLTY4LjgyLDc4Ljg1OC02OC44Mmw1MDEuNDMtLjM4NmMzNi43NzUsMCw2Ny4yNzYsMjQuOSw1OC41ODksODAuMTEzTDg2My4wNTctNjQuMDI1YTcwLjcwOSw3MC43MDksMCwwLDEtNjkuNjg5LDU5LjY1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjI0LjI4IDMxMy45MilcIiBmaWxsPVwiJTIzNjIwNzA3XCIvPjwvc3ZnPicpO1xuICAgICAgICAgICAgICBtYXNrLXNpemU6IDY2N3B4IDMwOXB4O1xuICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiByaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRoaXJkLWltYWdlLWNvbHVtbiB7XG4gICAgICAgICAgICAvL29yZGVyOiAzO1xuXG4gICAgICAgICAgICAvL3dpZHRoOiAyNzhweDtcblxuICAgICAgICAgICAgLypAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKFxuICAgICAgICAgICAgICAgICAgICAkc2l6ZTogNixcbiAgICAgICAgICAgICAgICAgICAgJGd1dHRlcnM6IDMwcHgsXG4gICAgICAgICAgICAgICAgICAgICRndXR0ZXItcG9zaXRpb246IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9Ki9cblxuICAgICAgICAgICAgLmNvbnRlbnQtcm93LWltYWdlLWJsb2Nre1xuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjc4LjczNVwiIGhlaWdodD1cIjMwOS4wNjNcIiB2aWV3Qm94PVwiMCAwIDI3OC43MzUgMzA5LjA2M1wiPjxwYXRoIGlkPVwiRHVvdG9uZS1Db2xvdXItSW1hZ2VzLVJvdW5kLTI0MFwiIGQ9XCJNNTQwLjkzNS00LjkzNEg0MjYuOTQzYy00OS43MDksMC03Mi4zOTEtMjkuNDM5LTY0LjM4LTgwLjRMMzg3Ljg1Mi0yNDUuMDhjNi45NS00My42MjgsMzEuNTYzLTY4LjgyLDc4Ljg1OC02OC44Mkg1NzkuNjRjMzYuNzc1LDAsNjcuMjc2LDI0LjksNTguNTg5LDgwLjExM0w2MTEuMy02NC40ODhjLTUuNDA1LDM0LjI2NS0zNS42MTcsNTkuNjUxLTcwLjM2NSw1OS42NTFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zNjAuOTg3IDMxMy45KVwiIGZpbGw9XCIlMjM1ZjIzMjNcIi8+PC9zdmc+Jyk7XG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyODZweCAzMDlweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTcxcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgbWFzay1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2Vjb25kLWltYWdlLWNvbHVtbiB7XG4gICAgICAgICAgICAvL29yZGVyOiAyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg4NSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg5Mik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250ZW50LXJvdy1pbWFnZS1ibG9ja3tcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM4My42NDZcIiBoZWlnaHQ9XCIzMDkuMTZcIiB2aWV3Qm94PVwiMCAwIDM4My42NDYgMzA5LjE2XCI+PHBhdGggaWQ9XCJEdW90b25lLWxpZ2h0LWdyZWVuLXNlcmllczNcIiBkPVwiTTU5Mi4yODQtNC43NUgzNzQuMDQ5Yy00OS43MDksMC03My4yNi0yOS4xNS02NS4xNTItODAuMTEzbDI1LjU3OC0xNjAuMTNjNi45NS00My42MjgsMzEuNTYyLTY4LjkxNyw3OC45NTUtNjguOTE3SDYzMC44OTNjMzYuNzc1LDAsNjcuMjc1LDI0LjksNTguNTg5LDgwLjExM0w2NjIuNjQ4LTY0LjRjLTUuNDA1LDM0LjI2NS0zNS43MTMsNTkuNjUxLTcwLjM2NCw1OS42NTFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zMDcuMzI3IDMxMy45MSlcIiBmaWxsPVwiJTIzNTAxYTFhXCIvPjwvc3ZnPicpO1xuICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMzgzcHggMzA5cHg7XG4gICAgICAgICAgICAgICAgbWFzay1wb3NpdGlvbjogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzgzcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIzNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTU1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hc2stc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufSIsIi8vIFR3byBjb2x1bW4gLSBzaWRlYmFyIGFsaWdubWVudCBjaGFuZ2VzXG4uc2ItYWxpZ24tbGVmdCB7XG5cdC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0b3JkZXI6IDE7XG5cdH1cblx0Lm1haW4tY29udGVudC13cmFwcGVyIHtcblx0XHRvcmRlcjogMjtcblx0fVxufVxuLnNiLWFsaWduLXJpZ2h0IHtcblx0LnNpZGViYXItY29udGVudC13cmFwcGVyIHtcblx0XHRvcmRlcjogMjtcblx0fVxuXHQubWFpbi1jb250ZW50LXdyYXBwZXIge1xuXHRcdG9yZGVyOiAxO1xuXHR9XG59XG5cbi8vIENyZWF0aW5nIHZhcmlhbnRzIGZvciBib3R0b20gbWFyZ2luIGNvbGxhcHNlIGFwcGxpZWQgZGlyZWN0bHkgdG8gY29udGVudCBiYW5kc1xuLmNvbnRlbnQtYmFuZC5idG0tbWFyLWNvbGxhcHNlIHtcblx0LmZ3LWNvbnRlbnQgLm1haW4tY29udGVudC13cmFwcGVyLCAudGMtc2ItY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIsIC50Yy1zYi1jb250ZW50IC5zaWRlYmFyLWNvbnRlbnQtd3JhcHBlciwgLnRjLWV2ZW4tY29udGVudCAuY29sLWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0cCwgdWwsIG9sLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBidXR0b24sIC5idXR0b24sIGJsb2NrcXVvdGUge1xuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gQ3JlYXRpbmcgdmFyaWFudHMgZm9yIGJvdHRvbSBtYXJnaW4gY29sbGFwc2UgYXBwbGllZCB0byBjb250ZW50L2NvbHVtbiBjb250YWluZXJzXG4uZnctY29udGVudCAubWFpbi1jb250ZW50LXdyYXBwZXIsIC50Yy1zYi1jb250ZW50IC5tYWluLWNvbnRlbnQtd3JhcHBlciwgLnRjLXNiLWNvbnRlbnQgLnNpZGViYXItY29udGVudC13cmFwcGVyLCAudGMtZXZlbi1jb250ZW50IC5jb2wtY29udGVudC13cmFwcGVyIHtcblx0Ji5idG0tbWFyLWNvbGxhcHNlIHtcblx0XHRwLCB1bCwgb2wsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGJ1dHRvbiwgLmJ1dHRvbiwgYmxvY2txdW90ZSB7XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gQmFzaWMgYmFja2dyb3VuZCBpbWFnZSBzdHlsaW5nXG4uYmFubmVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLy8gU2l6aW5nXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gIC5iYW5uZXIge1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI1MCk7XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gIC5iYW5uZXIge1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgLmJhbm5lciB7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDAwKTtcbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgLmJhbm5lciB7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoNTAwKTtcbiAgfVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gIC5iYW5uZXIge1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDYwMCk7XG4gIH1cbn1cblxuLy8gQmFubmVyIHRyYW5zaXRpb25zXG4uYmFubmVyIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihtYXJnaW4gMC4ycyBlYXNlLWluLW91dCwgbWluLWhlaWdodCAwLjJzIGVhc2UtaW4tb3V0KTtcbn1cblxuLy8gQmFubmVyIGNvbnRlbnQgYWxpZ25tZW50XG4uYmFubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLmNvbnRlbnQtYmFuZCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmFsaWduLWNvbnRlbnQtdG9wIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICYuYWxpZ24tY29udGVudC1ib3R0b20ge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEJhbm5lciB0ZXh0IHNoYWRvdyBydWxlc1xuLmJhbm5lciB7XG4gIC50ZXh0LXNoYWRvdy1saWdodCB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaGFkb3coMCwgMCwgMTBweCwgcmdiYSgkd2hpdGUsIDAuMzUpKTtcbiAgfVxuICAudGV4dC1zaGFkb3ctZGFyayB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaGFkb3coMCwgMCwgMTBweCwgcmdiYSgkYm9keS1mb250LWNvbG9yLCAxKSk7XG4gIH1cbn1cblxuLy8gQmFubmVyIHRleHQgY29sb3VyIHJ1bGVzXG4uYmFubmVyIHtcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG5cblxuLmhvbWUtcGFnZS1iYW5uZXIge1xuXG4gIC5tYWluLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgLy8gZm9yIGFuaW1hdGlvbnNcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IC05NXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtOTVweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuaGlkZS1iYW5uZXItb24tbW9iaWxlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmZ1bGwtYmFubmVyLW9uLW1vYmlsZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmJhbm5lci1pbWFnZS1ibG9jayB7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW1lLWdyZWVuO1xuICAgICAgICBjb2xvcjogJG5vcm1hbC1ncmVlbjtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyZWVuO1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmVlbjtcbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucHJpbWFyeS1ibG9jayB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMTcxLjIzXCIgaGVpZ2h0PVwiNDA4LjMxNVwiIHZpZXdCb3g9XCIwIDAgMTE3MS4yMyA0MDguMzE1XCI+PHBhdGggaWQ9XCJIb21lcGFnZS1oZXJvLWR1b3RvbmVcIiBkPVwiTTExMjguMTk0LDQxMS4yMTVsLTk1NC40NjEtLjU3Yy02NS41NSwwLTk1Ljk0OS0zNy44MS04NS4zMS0xMDUuMTY2TDEyMS4yOTMsOTMuNzIxQzEzMC40MTQsMzYuMTUsMTYyLjksMi45LDIyNS4zMTksMi45aDk1My4wMzZjNDguNTQ1LDAsODguNzMxLDMyLjc3NSw3Ny4yMzUsMTA1LjczNmwtMzUuNDM1LDIyMy45MThhOTMuMiw5My4yLDAsMCwxLTkxLjk2MSw3OC42NjFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC04Ni4zNDIgLTIuOSlcIiBmaWxsPVwiJTIzMDA4MDUxXCIvPjwvc3ZnPicpO1xuICAgICAgICAgICAgICBtYXNrLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiByaWdodDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmg2O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDMwKSByZW0tY2FsYygzMCkgcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2MCUgMCU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSAwIHJlbS1jYWxjKDMwKSByZW0tY2FsYyg5MCk7XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgIC8vcGFkZGluZy10b3A6IHJlbS1jYWxjKDk1KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTklO1xuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxNjAwcHgpIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNSU7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zZWNvbmRhcnktYmxvY2sge1xuICAgICAgICBtYXNrLXNpemU6IGNvdmVyO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM2OC4yNDhcIiBoZWlnaHQ9XCI0MDguMzE1XCIgdmlld0JveD1cIjAgMCAzNjguMjQ4IDQwOC4zMTVcIj48cGF0aCBpZD1cIlBhdGhfNTI3XCIgZGF0YS1uYW1lPVwiUGF0aCA1MjdcIiBkPVwiTTU5OC43MjQsOTQuMjg3aC0xNTAuNmMtNjUuNjcyLDAtOTUuNjM5LTM4Ljg5My04NS4wNTUtMTA2LjIyM2wzMy40MS0yMTEuMDQzYzkuMTgyLTU3LjYzOCw0MS43LTkwLjkyMSwxMDQuMTgzLTkwLjkyMWgxNDkuMmM0OC41ODUsMCw4OC44ODEsMzIuOSw3Ny40LDEwNS44NEw2OTEuNjg1LDE1LjYwOGMtNy4xNDEsNDUuMjY5LTQ3LjA1NSw3OC44MDctOTIuOTYxLDc4LjgwN1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTM2MC45ODcgMzEzLjkpXCIgZmlsbD1cIiUyM2M4NDUzOVwiLz48L3N2Zz4nKTtcbiAgICAgIH1cblxuXG4gICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg1MDApO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNTAwKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDUwKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQyNSk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNTAwKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTYwMHB4KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDU1MCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDE5ODBweCkge1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg2MDApO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgyMTUwcHgpIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNzE1KTtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnZSBoZWFkZXJcbi5mcm9udC1oZXJvIHtcbiAgLm1hcmtldGluZyB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoNTVyZW0pO1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZGVtby9oZXJvLWJnLWZvdW5kYXRpb24tNi1zbWFsbC5zdmcnKSBib3R0b20gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDY1JSkgMDtcbiAgICBtYXJnaW46IDAgMCByZW0tY2FsYygzMik7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LWxhcmdlLnN2ZycpIGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg2ODUpO1xuICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDcyKTtcbiAgfVxuXG4gIC53YXRjaCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg3KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICNzdGFyZ2F6ZXJzIHtcbiAgICAgIDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5YlwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjdHdpdHRlciB7XG4gICAgICA6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYwOTlcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAudGFnbGluZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg1KTtcbiAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgIH1cbiAgfVxuXG4gIGgxIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIH1cblxuICAuZG93bmxvYWQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgfVxufVxuXG4vLyBJbnRyb1xuLmludHJvIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgLmZwLWludHJvIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMCk7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgxKTtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNlY3Rpb24gZGl2aWRlclxuLnNlY3Rpb24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuXG4gIGhyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICBAZXh0ZW5kIC5kb3R0ZWQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuXG4vLyBCZW5lZml0c1xuLmJlbmVmaXRzIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBoZWFkZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuXG4gICAgaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjNzc3O1xuICAgIH1cbiAgfVxuXG4gIC5zZW1hbnRpYyxcbiAgLnJlc3BvbnNpdmUsXG4gIC5jdXN0b21pemFibGUsXG4gIC5wcm9mZXNzaW9uYWwge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDMpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMCBhdXRvO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIH1cbiAgfVxuXG4gIC53aHktZm91bmRhdGlvbiB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgfVxufVxuIl19 */
