@charset "UTF-8";
/* ------------------------------------------------------------------------ *\
 * Helpers
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Mixins
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Functions
\* ------------------------------------------------------------------------ */
/*
 * Retrieve a color variable
 *
 * @param  {string}  $color - The name of the color as defined in _variables
 * @param  {string}  $tone  - The variant of the color (shade|base|tint)
 */
/*
 * Remove the unit of a length
 *
 * @param  {Number}  $number
 */
/*
 * Convert PX units in to EM or REM, relative to a specified base sizes
 *
 * @param  {Number}  $size - Array of up to four sizes in PX units
 * @param  {Number}  $base - Font size to base calculations off of
 * @param  {String}  $unit - Either "em" or "rem"
 */
/*
 * Convert Photoshop leading to CSS line-height
 *
 * @param  {Number}  $size - Value of Leading in Photoshop's Character Panel
 * @param  {Number}  $base - Value of Font Size in Photosohp's Character Panel
 */
/*
 * Convert Photoshop tracking to CSS letter-spacing
 *
 * @param  {Number}  $size - Value of Tracking in Photoshop's Character Panel
 * @param  {Number}  $base - Value of Font Size in Photosohp's Character Panel
 */
/* ------------------------------------------------------------------------ *\
 * Colors
\* ------------------------------------------------------------------------ */
/* stylelint-disable */
/* stylelint-enable */
/* ------------------------------------------------------------------------ *\
 * Fonts                                                                    *
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Widths                                                                   *
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Break Points                                                             *
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Layers                                                                   *
\* ------------------------------------------------------------------------ */
.__dark {
  color: #000000 !important; }

.__light {
  color: #FFFFFF !important; }

.__big {
  font-size: 1.25em !important; }

.__small {
  font-size: 0.75em !important; }

.__bold {
  font-weight: 800 !important; }

.__italic {
  font-style: italic !important; }

.__lowercase {
  text-transform: lowercase !important; }

.__uppercase {
  text-transform: uppercase !important; }

.__textcenter {
  text-align: center !important; }

.__textleft {
  text-align: left !important; }

.__textright {
  text-align: right !important; }

.__nowrap {
  white-space: nowrap !important; }

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

.__left {
  float: left !important; }

.__right {
  float: right !important; }

.__nomargin {
  margin: 0 !important; }

.__nopadding {
  padding: 0 !important; }

.__notransform {
  transform: none !important; }

.__notransition {
  transition: none !important; }

.__block {
  display: block !important; }

.__flex {
  display: flex !important; }

.__visuallyhidden {
  left: -999em !important;
  position: absolute !important;
  top: -999em !important; }

.__primary {
  color: #1578B9 !important; }

.__accent {
  color: #E11A1A !important; }

.__error {
  color: #E11A1A !important; }

.__w100 {
  width: 100% !important; }

/* visibility classes */
@media (pointer: fine) {
  .__touch {
    display: none !important; } }

@supports not (pointer: fine) {
  .__touch {
    display: none !important; } }

@media (pointer: coarse) {
  .__mouse {
    display: none !important; } }

@media print {
  .__noprint {
    display: none !important; } }

/* "visible" classes */
@media (max-width: 47.9375em) {
  .__visible-xs {
    display: none !important; } }

@media (max-width: 53.25em) {
  .__visible-s {
    display: none !important; } }

@media (max-width: 59.9375em) {
  .__visible-m {
    display: none !important; } }

@media (max-width: 63.9375em) {
  .__visible-l {
    display: none !important; } }

@media (max-width: 79.9375em) {
  .__visible-xl {
    display: none !important; } }

@media (max-width: 85.3125em) {
  .__visible-xxl {
    display: none !important; } }

/* "hidden" classes -- NOTE: It is important that _hidden classes come after _visible for override purposes */
@media (min-width: 48em) {
  .__hidden-xs {
    display: none !important; } }

@media (min-width: 53.3125em) {
  .__hidden-s {
    display: none !important; } }

@media (min-width: 60em) {
  .__hidden-m {
    display: none !important; } }

@media (min-width: 64em) {
  .__hidden-l {
    display: none !important; } }

@media (min-width: 80em) {
  .__hidden-xl {
    display: none !important; } }

@media (min-width: 85.375em) {
  .__hidden-xxl {
    display: none !important; } }

/* ------------------------------------------------------------------------ *\
 * Base
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Normalize
\* ------------------------------------------------------------------------ */
/* stylelint-disable property-no-vendor-prefix, selector-max-type, selector-no-qualifying-type */
/* These styles are intended to be global */
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Correct the line height in all browsers.
     * 2. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* 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 */ }

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in Chrome 57- and 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.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  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:-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 */ }

/**
     * Correct the padding in Firefox.
     */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
     * 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; }

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

button,
input,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  box-shadow: none; }

[type="search"] {
  -webkit-appearance: none; }

svg {
  max-height: 100%;
  max-width: 100%; }

/* Remove outline for non-keyboard :focus */
*:focus:not(.focus-visible) {
  outline: none; }

/* ------------------------------------------------------------------------ *\
 * Gilroy -- https://www.fontspring.com/fonts/radomir-tinkov/gilroy
\* ------------------------------------------------------------------------ */
@font-face {
  font-display: swap;
  font-family: "Gilroy";
  font-style: normal;
  font-weight: 800;
  src: url("../media/fonts/gilroy/800/normal/webfont.woff2") format("woff2"), url("../media/fonts/gilroy/800/normal/webfont.woff") format("woff"); }

/* ------------------------------------------------------------------------ *\
 * Grid (based loosely on https://v4-alpha.getbootstrap.com/layout/grid/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
.row {
  display: flex;
  flex-wrap: wrap; }

.row.row--grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr); }

.row.row--grid.row--equal {
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr; }

.row > [class*="col-"] {
  flex-grow: 1;
  flex-shrink: 1;
  min-width: 0; }

.row > [class*="col-"].col--nogrow {
  flex-grow: 0; }

.row > [class*="col-"].col--noshrink {
  flex-shrink: 0; }

.row.row--padded {
  width: calc(100% + 2.25em); }

.row.row--padded > [class*="col-"] {
  padding-right: 2.25em; }

.row.row--padded.row--tight {
  width: calc(100% + 1.125em); }

.row.row--padded.row--tight > [class*="col-"] {
  padding-right: 1.125em; }

.row.row--padded.row--loose {
  width: calc(100% + 3.375em); }

.row.row--padded.row--loose > [class*="col-"] {
  padding-right: 3.375em; }

.row.row--padded.row--loose-extra {
  width: calc(100% + 6.75em); }

.row.row--padded.row--loose-extra > [class*="col-"] {
  padding-right: 6.75em; }

.row.row--nowrap {
  flex-wrap: nowrap; }

.row.row--wrapreverse {
  flex-wrap: wrap-reverse; }

.row.row--center {
  align-items: center;
  justify-content: center; }

.row:not(.row--column).row--hcenter {
  justify-content: center; }

.row:not(.row--column).row--vcenter {
  align-items: center; }

.row:not(.row--column).row--top {
  align-items: flex-start; }

.row:not(.row--column).row--right {
  justify-content: flex-end; }

.row:not(.row--column).row--bottom {
  align-items: flex-end; }

.row:not(.row--column).row--left {
  justify-content: flex-start; }

.row.row--stretch {
  align-items: stretch; }

.row.row--around {
  justify-content: space-around; }

.row.row--between {
  justify-content: space-between; }

.row:not(.row--column).row--reverse {
  flex-direction: row-reverse; }

.row.row--column {
  flex-direction: column; }

.row.row--column.row--vcenter {
  justify-content: center; }

.row.row--column.row--top {
  justify-content: flex-start; }

.row.row--column.row--right {
  align-items: flex-end; }

.row.row--column.row--bottom {
  justify-content: flex-end; }

.row.row--column.row--left {
  align-items: flex-start; }

.row.row--column.row--hcenter {
  align-items: center; }

.row.row--column.row--reverse {
  flex-direction: column-reverse; }

.col-auto {
  flex-basis: auto; }

.col-0 {
  flex-basis: 0%;
  grid-column: span 0; }

.col-1 {
  flex-basis: 8.33333%;
  grid-column: span 1; }

.col-2 {
  flex-basis: 16.66667%;
  grid-column: span 2; }

.col-3 {
  flex-basis: 25%;
  grid-column: span 3; }

.col-4 {
  flex-basis: 33.33333%;
  grid-column: span 4; }

.col-5 {
  flex-basis: 41.66667%;
  grid-column: span 5; }

.col-6 {
  flex-basis: 50%;
  grid-column: span 6; }

.col-7 {
  flex-basis: 58.33333%;
  grid-column: span 7; }

.col-8 {
  flex-basis: 66.66667%;
  grid-column: span 8; }

.col-9 {
  flex-basis: 75%;
  grid-column: span 9; }

.col-10 {
  flex-basis: 83.33333%;
  grid-column: span 10; }

.col-11 {
  flex-basis: 91.66667%;
  grid-column: span 11; }

.col-12 {
  flex-basis: 100%;
  grid-column: span 12; }

@media (min-width: 48em) {
  .col-xs-auto {
    flex-basis: auto; }
  .col-xs-0 {
    flex-basis: 0%;
    grid-column: span 0; }
  .col-xs-1 {
    flex-basis: 8.33333%;
    grid-column: span 1; }
  .col-xs-2 {
    flex-basis: 16.66667%;
    grid-column: span 2; }
  .col-xs-3 {
    flex-basis: 25%;
    grid-column: span 3; }
  .col-xs-4 {
    flex-basis: 33.33333%;
    grid-column: span 4; }
  .col-xs-5 {
    flex-basis: 41.66667%;
    grid-column: span 5; }
  .col-xs-6 {
    flex-basis: 50%;
    grid-column: span 6; }
  .col-xs-7 {
    flex-basis: 58.33333%;
    grid-column: span 7; }
  .col-xs-8 {
    flex-basis: 66.66667%;
    grid-column: span 8; }
  .col-xs-9 {
    flex-basis: 75%;
    grid-column: span 9; }
  .col-xs-10 {
    flex-basis: 83.33333%;
    grid-column: span 10; }
  .col-xs-11 {
    flex-basis: 91.66667%;
    grid-column: span 11; }
  .col-xs-12 {
    flex-basis: 100%;
    grid-column: span 12; } }

@media (min-width: 53.3125em) {
  .col-s-auto {
    flex-basis: auto; }
  .col-s-0 {
    flex-basis: 0%;
    grid-column: span 0; }
  .col-s-1 {
    flex-basis: 8.33333%;
    grid-column: span 1; }
  .col-s-2 {
    flex-basis: 16.66667%;
    grid-column: span 2; }
  .col-s-3 {
    flex-basis: 25%;
    grid-column: span 3; }
  .col-s-4 {
    flex-basis: 33.33333%;
    grid-column: span 4; }
  .col-s-5 {
    flex-basis: 41.66667%;
    grid-column: span 5; }
  .col-s-6 {
    flex-basis: 50%;
    grid-column: span 6; }
  .col-s-7 {
    flex-basis: 58.33333%;
    grid-column: span 7; }
  .col-s-8 {
    flex-basis: 66.66667%;
    grid-column: span 8; }
  .col-s-9 {
    flex-basis: 75%;
    grid-column: span 9; }
  .col-s-10 {
    flex-basis: 83.33333%;
    grid-column: span 10; }
  .col-s-11 {
    flex-basis: 91.66667%;
    grid-column: span 11; }
  .col-s-12 {
    flex-basis: 100%;
    grid-column: span 12; } }

@media (min-width: 60em) {
  .col-m-auto {
    flex-basis: auto; }
  .col-m-0 {
    flex-basis: 0%;
    grid-column: span 0; }
  .col-m-1 {
    flex-basis: 8.33333%;
    grid-column: span 1; }
  .col-m-2 {
    flex-basis: 16.66667%;
    grid-column: span 2; }
  .col-m-3 {
    flex-basis: 25%;
    grid-column: span 3; }
  .col-m-4 {
    flex-basis: 33.33333%;
    grid-column: span 4; }
  .col-m-5 {
    flex-basis: 41.66667%;
    grid-column: span 5; }
  .col-m-6 {
    flex-basis: 50%;
    grid-column: span 6; }
  .col-m-7 {
    flex-basis: 58.33333%;
    grid-column: span 7; }
  .col-m-8 {
    flex-basis: 66.66667%;
    grid-column: span 8; }
  .col-m-9 {
    flex-basis: 75%;
    grid-column: span 9; }
  .col-m-10 {
    flex-basis: 83.33333%;
    grid-column: span 10; }
  .col-m-11 {
    flex-basis: 91.66667%;
    grid-column: span 11; }
  .col-m-12 {
    flex-basis: 100%;
    grid-column: span 12; } }

@media (min-width: 64em) {
  .col-l-auto {
    flex-basis: auto; }
  .col-l-0 {
    flex-basis: 0%;
    grid-column: span 0; }
  .col-l-1 {
    flex-basis: 8.33333%;
    grid-column: span 1; }
  .col-l-2 {
    flex-basis: 16.66667%;
    grid-column: span 2; }
  .col-l-3 {
    flex-basis: 25%;
    grid-column: span 3; }
  .col-l-4 {
    flex-basis: 33.33333%;
    grid-column: span 4; }
  .col-l-5 {
    flex-basis: 41.66667%;
    grid-column: span 5; }
  .col-l-6 {
    flex-basis: 50%;
    grid-column: span 6; }
  .col-l-7 {
    flex-basis: 58.33333%;
    grid-column: span 7; }
  .col-l-8 {
    flex-basis: 66.66667%;
    grid-column: span 8; }
  .col-l-9 {
    flex-basis: 75%;
    grid-column: span 9; }
  .col-l-10 {
    flex-basis: 83.33333%;
    grid-column: span 10; }
  .col-l-11 {
    flex-basis: 91.66667%;
    grid-column: span 11; }
  .col-l-12 {
    flex-basis: 100%;
    grid-column: span 12; } }

@media (min-width: 80em) {
  .col-xl-auto {
    flex-basis: auto; }
  .col-xl-0 {
    flex-basis: 0%;
    grid-column: span 0; }
  .col-xl-1 {
    flex-basis: 8.33333%;
    grid-column: span 1; }
  .col-xl-2 {
    flex-basis: 16.66667%;
    grid-column: span 2; }
  .col-xl-3 {
    flex-basis: 25%;
    grid-column: span 3; }
  .col-xl-4 {
    flex-basis: 33.33333%;
    grid-column: span 4; }
  .col-xl-5 {
    flex-basis: 41.66667%;
    grid-column: span 5; }
  .col-xl-6 {
    flex-basis: 50%;
    grid-column: span 6; }
  .col-xl-7 {
    flex-basis: 58.33333%;
    grid-column: span 7; }
  .col-xl-8 {
    flex-basis: 66.66667%;
    grid-column: span 8; }
  .col-xl-9 {
    flex-basis: 75%;
    grid-column: span 9; }
  .col-xl-10 {
    flex-basis: 83.33333%;
    grid-column: span 10; }
  .col-xl-11 {
    flex-basis: 91.66667%;
    grid-column: span 11; }
  .col-xl-12 {
    flex-basis: 100%;
    grid-column: span 12; } }

@media (min-width: 90em) {
  .col-xxxl-auto {
    flex-basis: auto; }
  .col-xxxl-0 {
    flex-basis: 0%;
    grid-column: span 0; }
  .col-xxxl-1 {
    flex-basis: 8.33333%;
    grid-column: span 1; }
  .col-xxxl-2 {
    flex-basis: 16.66667%;
    grid-column: span 2; }
  .col-xxxl-3 {
    flex-basis: 25%;
    grid-column: span 3; }
  .col-xxxl-4 {
    flex-basis: 33.33333%;
    grid-column: span 4; }
  .col-xxxl-5 {
    flex-basis: 41.66667%;
    grid-column: span 5; }
  .col-xxxl-6 {
    flex-basis: 50%;
    grid-column: span 6; }
  .col-xxxl-7 {
    flex-basis: 58.33333%;
    grid-column: span 7; }
  .col-xxxl-8 {
    flex-basis: 66.66667%;
    grid-column: span 8; }
  .col-xxxl-9 {
    flex-basis: 75%;
    grid-column: span 9; }
  .col-xxxl-10 {
    flex-basis: 83.33333%;
    grid-column: span 10; }
  .col-xxxl-11 {
    flex-basis: 91.66667%;
    grid-column: span 11; }
  .col-xxxl-12 {
    flex-basis: 100%;
    grid-column: span 12; } }

/* ------------------------------------------------------------------------ *\
 * Alignment
\* ------------------------------------------------------------------------ */
.alignright,
.alignleft,
.aligncenter,
.alignnone {
  margin-bottom: 1.5625em; }

.alignleft {
  float: left;
  margin-right: 1.5625em;
  max-width: 33.33333%; }

.alignright {
  float: right;
  margin-left: 1.5625em;
  max-width: 33.33333%; }

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

/* ------------------------------------------------------------------------ *\
 * Button
\* ------------------------------------------------------------------------ */
.button,
.button--accent,
.button--red {
  align-items: center;
  background: #E11A1A;
  border: 0;
  border-radius: 0.61111em;
  box-shadow: 0em 0.11111em 0em 0em rgba(0, 0, 0, 0.23);
  color: #FFFFFF;
  cursor: pointer;
  display: inline-flex;
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  font-weight: 800;
  gap: 10px;
  gap: 0.625rem;
  line-height: 1.22222em;
  margin: 0em 1.11111em 1.11111em 0em;
  outline: 0;
  padding: 0.94444em 1.38889em;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.6s; }

@media (min-width: 48em) {
  .button,
  .button--accent,
  .button--red {
    padding-left: 1.9em;
    padding-right: 1.9em; } }

.button:active,
.button--accent:active,
.button--red:active {
  background-color: #F08F8F;
  transition: background-color 0.3s; }

/* small variant */
.button--small {
  font-size: 17px;
  font-size: 1.0625rem; }

/* alt variant */
.button--alt,
.button--secondary,
.button--purple {
  background: #2A2375; }

.button--alt:active,
.button--secondary:active,
.button--purple:active {
  background-color: #9793BB; }

/* tertiary variant */
.button--dark,
.button--tertiary,
.button-purple {
  background: #2A2375; }

.button--dark:active,
.button--tertiary:active,
.button-purple:active {
  background-color: #57509E; }

/* primary variant */
.button--primary, .content-block--alt .button,
.button--blue {
  background: #1578B9; }

.button--primary:active, .content-block--alt .button:active,
.button--blue:active {
  background-color: #7CC8F9; }

/* disabled variant */
.button--disabled {
  cursor: not-allowed;
  opacity: 0.6; }

/* ------------------------------------------------------------------------ *\
 * Divider
\* ------------------------------------------------------------------------ */
.divider {
  background: #D8D8D8;
  border: 0;
  border-radius: 0.15625rem;
  clear: both;
  height: 5px;
  height: 0.3125rem;
  margin: 1.25em 0em;
  width: 100%; }

/* ------------------------------------------------------------------------ *\
 * Input
\* ------------------------------------------------------------------------ */
.input {
  background: #FFFFFF;
  border: 1px solid #979797;
  border: 0.0625rem solid #979797;
  border-radius: 1em;
  color: #000000;
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.1875em;
  margin: 0em 0em 1.4375em;
  outline: 0;
  padding: 1em 1.21875em 0.6875em 1.21875em;
  text-overflow: ellipsis;
  transition: background-color 0.15s, background-size 0.15s, border-color 0.15s, color 0.15s;
  width: 100%; }

.input:not(.input--disabled):active, .input:not(.input--disabled):focus {
  border-color: #1578B9; }

.input::placeholder {
  color: #3B3B3B;
  opacity: 1; }

/* disabled variant */
.input--disabled {
  background-color: #ececec;
  cursor: not-allowed;
  opacity: 0.6; }

/* error variant */
.input--error, .nf-error .input {
  border-color: #E11A1A; }

/* success variant */
.input--success, .nf-pass .input {
  border-color: #0AC40A; }

/* select variant */
.input--select {
  color: #1578B9;
  cursor: pointer;
  font-style: italic;
  text-indent: 0.01px; }
  .input--select::-ms-expand {
    display: none; }

.input--arrow {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%231578B9'%3E%3C!--! Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --%3E%3Cpath d='M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/%3E%3C/svg%3E");
  background-position: center right 1.21875em;
  background-repeat: no-repeat;
  background-size: 1em;
  padding-right: calc(1em + 2.4375em); }

/* checkbox & radio variants */
.input--checkbox,
.input--radio {
  border-width: 1px;
  border-width: 0.0625rem;
  cursor: pointer;
  display: inline-block;
  height: 26px;
  height: 1.625rem;
  overflow: hidden;
  padding: 0;
  position: relative;
  vertical-align: middle;
  width: 26px;
  width: 1.625rem; }

.input--checkbox::after,
.input--radio::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 1rem 1rem;
  content: "";
  display: block;
  height: 100%;
  left: -999em;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: background-color 0.15s, left 0s 0.15s, opacity 0.15s;
  width: 100%; }

.input--checkbox:checked::after,
.input--radio:checked::after {
  left: 0;
  opacity: 1;
  transition: opacity 0.15s; }

.input--checkbox + .text--label,
.input--radio + .text--label {
  display: inline-block; }

.input--checkbox {
  border-radius: 0.125em;
  overflow: visible; }

.input--checkbox:checked {
  background-color: #d8d8d8; }

.input--checkbox::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23000000'%3E%3Cpath d='M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z'/%3E%3C/svg%3E %3C!-- Font Awesome Pro 5.5.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --%3E");
  background-size: 1.1875em 1.1875em;
  height: 1.1875em;
  top: -0.0625em;
  width: 1.1875em; }

.input--radio {
  border-radius: 50%; }

.input--radio::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%231578B9'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z'/%3E%3C/svg%3E %3C!-- Font Awesome Pro 5.5.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --%3E"); }

/* range variant */
.input__container--range {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.input__container--range.input__container--disabled {
  cursor: not-allowed;
  opacity: 0.6; }

.input__container--range.input__container--disabled * {
  pointer-events: none; }

.input__container--range .input__container__text {
  color: #626262;
  flex: 0 0 auto;
  font-size: 1.1875em;
  margin-bottom: 0em; }

.input__container--range .input,
.input__container--range .nouislider {
  flex: 0 0 100%; }

.input--range {
  -webkit-appearance: none;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0; }

.input--range::-webkit-slider-runnable-track {
  background: #D8D8D8;
  border: 0;
  border-radius: 0.125em;
  box-shadow: none;
  cursor: pointer;
  height: 0.25em;
  width: 100%; }

.input--range::-webkit-slider-thumb {
  -webkit-appearance: none;
  background: #979797;
  border: 0;
  border-radius: 0.53125em;
  box-shadow: none;
  cursor: pointer;
  height: 1.0625em;
  transform: translateY(-0.4375em);
  width: 1.0625em; }

.input--range:focus::-webkit-slider-runnable-track {
  background: #D8D8D8; }

.input--range::-moz-range-track {
  background: #D8D8D8;
  border: 0;
  border-radius: 0.125em;
  box-shadow: none;
  cursor: pointer;
  height: 0.25em;
  width: 100%; }

.input--range::-moz-range-thumb {
  background: #979797;
  border: 0;
  border-radius: 0.53125em;
  box-shadow: none;
  cursor: pointer;
  height: 1.0625em;
  width: 1.0625em; }

.input--range::-ms-track {
  background: transparent;
  border-color: transparent;
  border-radius: 0.125em;
  color: transparent;
  cursor: pointer;
  height: 0.25em;
  width: 100%; }

.input--range::-ms-fill-lower {
  background: #D8D8D8;
  border: 0;
  border-radius: 0;
  box-shadow: none; }

.input--range::-ms-fill-upper {
  background: #D8D8D8;
  border: 0;
  border-radius: 0;
  box-shadow: none; }

.input--range::-ms-thumb {
  background: #979797;
  border: 0;
  border-radius: 0.53125em;
  box-shadow: none;
  cursor: pointer;
  height: 1.0625em;
  width: 1.0625em; }

.input--range:focus::-ms-fill-lower {
  background: #D8D8D8; }

.input--range:focus::-ms-fill-upper {
  background: #D8D8D8; }

/* select browser variants */
/* stylelint-disable selector-max-type, selector-no-vendor-prefix, selector-type-no-unknown */
/* IE */
_:-ms-input-placeholder,
:root .input--select {
  padding: 0.6875em calc(1.21875em - 3px) calc(0.6875em - 2px); }

_:-ms-input-placeholder,
:root .input--arrow {
  padding-right: calc(1em + 2.4375em - 3px); }

/* Chrome  */
@supports (-webkit-appearance: none) and (font-stretch: normal) and (not (-ms-accelerator: true)) {
  .input--select {
    padding: 1em 1.21875em 0.6875em 1.21875em; }
  .input--arrow {
    padding-right: calc(1em + 2.4375em); } }

/* Safari */
_::-webkit-full-page-media,
_:future,
:root .input--select {
  padding: 1em 1.21875em 0.6875em 1.21875em; }

_::-webkit-full-page-media,
_:future,
:root .input--arrow {
  padding-right: calc(1em + 2.4375em); }

/* Edge */
@supports (-ms-ime-align: auto) {
  .input--select {
    padding: calc(1em - 1px) calc(1.21875em - 2px) calc(0.6875em - 1px) calc(1.21875em - 2px); }
  .input--arrow {
    padding-right: calc(1em + 2.4375em - 2px); } }

/* Firefox */
@-moz-document url-prefix("") {
  .input--select {
    padding: 1em calc(1.21875em - 4px) 0.6875em calc(1.21875em - 4px); }
  .input--arrow {
    padding-right: calc(1em + 2.4375em - 4px); } }

/* stylelint-enable */
/* ------------------------------------------------------------------------ *\
 * Link
\* ------------------------------------------------------------------------ */
.link, .user-content a[href^="tel:"] {
  color: #E11A1A;
  cursor: pointer;
  font-weight: 800;
  text-decoration: none;
  transition: color 0.15s; }

.link:focus, .user-content a:focus[href^="tel:"], .link:hover, .user-content a:hover[href^="tel:"] {
  color: #626262; }

/* inherit variant */
.link--inherit, .title .link, .user-content h1 .link, .user-content h2 .link, .user-content h3 .link, .user-content h4 .link, .user-content h5 .link, .title .user-content a[href^="tel:"], .user-content .title a[href^="tel:"], .user-content h1 a[href^="tel:"], .user-content h2 a[href^="tel:"], .user-content h3 a[href^="tel:"], .user-content h4 a[href^="tel:"], .user-content h5 a[href^="tel:"] {
  color: inherit; }

.link--inherit:focus, .title .link:focus, .user-content h1 .link:focus, .user-content h2 .link:focus, .user-content h3 .link:focus, .user-content h4 .link:focus, .user-content h5 .link:focus, .title .user-content a:focus[href^="tel:"], .user-content .title a:focus[href^="tel:"], .user-content h1 a:focus[href^="tel:"], .user-content h2 a:focus[href^="tel:"], .user-content h3 a:focus[href^="tel:"], .user-content h4 a:focus[href^="tel:"], .user-content h5 a:focus[href^="tel:"], .link--inherit:hover, .title .link:hover, .user-content h1 .link:hover, .user-content h2 .link:hover, .user-content h3 .link:hover, .user-content h4 .link:hover, .user-content h5 .link:hover, .title .user-content a:hover[href^="tel:"], .user-content .title a:hover[href^="tel:"], .user-content h1 a:hover[href^="tel:"], .user-content h2 a:hover[href^="tel:"], .user-content h3 a:hover[href^="tel:"], .user-content h4 a:hover[href^="tel:"], .user-content h5 a:hover[href^="tel:"] {
  color: inherit;
  text-decoration: underline; }

/* ------------------------------------------------------------------------ *\
 * Title
\* ------------------------------------------------------------------------ */
.title, .user-content h1,
.user-content h2,
.user-content h3,
.user-content h4,
.user-content h5 {
  color: #2A2375;
  font-family: "Montserrat", sans-serif;
  font-size: calc(1.5em + 0.625 * ((100vw - 48em) / 32));
  font-weight: 800;
  line-height: 1.23529em;
  margin: 0px 0px 50px;
  margin: 0rem 0rem 3.125rem; }
@media screen and (min-width: 80em){
  .title, .user-content h1,
.user-content h2,
.user-content h3,
.user-content h4,
.user-content h5{
    font-size: 2.125em; } }
@media screen and (max-width: 48em){
  .title, .user-content h1,
.user-content h2,
.user-content h3,
.user-content h4,
.user-content h5{
    font-size: 1.5em; } }

.title--h2,
.user-content h2 {
  color: #000000;
  font-size: calc(1.25em + 0.4375 * ((100vw - 48em) / 32));
  letter-spacing: -0.03704em;
  margin-bottom: 1.2963em; }

@media screen and (min-width: 80em){
  .title--h2,
.user-content h2{
    font-size: 1.6875em; } }

@media screen and (max-width: 48em){
  .title--h2,
.user-content h2{
    font-size: 1.25em; } }

@media (max-width: 63.9375em) {
  .title--h2,
  .user-content h2 {
    margin-bottom: 1.1em; } }

.title--h3,
.user-content h3 {
  color: #2A2375;
  font-family: "Montserrat", sans-serif;
  font-size: calc(1.125em + 0.4375 * ((100vw - 48em) / 32));
  font-weight: 900;
  margin-bottom: 0.92em;
  text-transform: none; }

@media screen and (min-width: 80em){
  .title--h3,
.user-content h3{
    font-size: 1.5625em; } }

@media screen and (max-width: 48em){
  .title--h3,
.user-content h3{
    font-size: 1.125em; } }

@media (max-width: 63.9375em) {
  .title--h3,
  .user-content h3 {
    margin-bottom: 1em; } }

.title--h4,
.user-content h4 {
  color: #2A2375;
  font-size: calc(0.875em + 0.5 * ((100vw - 48em) / 32));
  margin-bottom: 1.09091em; }

@media screen and (min-width: 80em){
  .title--h4,
.user-content h4{
    font-size: 1.375em; } }

@media screen and (max-width: 48em){
  .title--h4,
.user-content h4{
    font-size: 0.875em; } }

@media (max-width: 63.9375em) {
  .title--h4,
  .user-content h4 {
    margin-bottom: 1.07143em; } }

.title--h5,
.user-content h5,
.title--h6 {
  color: #2A2A2A;
  font-size: calc(0.75em + 0.5 * ((100vw - 48em) / 32));
  margin-bottom: 0.85em; }

@media screen and (min-width: 80em){
  .title--h5,
.user-content h5,
.title--h6{
    font-size: 1.25em; } }

@media screen and (max-width: 48em){
  .title--h5,
.user-content h5,
.title--h6{
    font-size: 0.75em; } }

@media (max-width: 63.9375em) {
  .title--h5,
  .user-content h5,
  .title--h6 {
    margin-bottom: 1.58333em; } }

/* divider variant */
.title--divider {
  align-items: center;
  display: flex; }

.title--divider::before, .title--divider::after {
  background: #D8D8D8;
  content: "\0020";
  display: block;
  flex: 1 1 0%;
  height: 1px;
  height: 0.0625rem; }

.title--divider::before {
  margin-right: 1em; }

.title--divider::after {
  margin-left: 1em; }

/* ------------------------------------------------------------------------ *\
 * Text
\* ------------------------------------------------------------------------ */
.text {
  color: #000000;
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: calc(0.875em + 0.25 * ((100vw - 48em) / 32));
  font-weight: 500;
  line-height: 1.22222em;
  margin: 0em 0em 1.66667em; }
@media screen and (min-width: 80em){
  .text{
    font-size: 1.125em; } }
@media screen and (max-width: 48em){
  .text{
    font-size: 0.875em; } }

.text > .button:last-child {
  margin-bottom: 0 !important; }

.text + .title, .user-content .text + h1,
.user-content .text + h2,
.user-content .text + h3,
.user-content .text + h4,
.user-content .text + h5,
.text + .text--table {
  margin-top: 66px;
  margin-top: 4.125rem; }

@media (max-width: 63.9375em) {
  .text {
    margin-bottom: 1.78571em; }
  .text + .title, .user-content .text + h1,
  .user-content .text + h2,
  .user-content .text + h3,
  .user-content .text + h4,
  .user-content .text + h5,
  .text + .text--table {
    margin-top: 2.375rem; } }

/* selection styles (no where else to put this */
::selection {
  background-color: #1578B9;
  color: #FFFFFF; }

/* label variant */
.text--label {
  cursor: pointer;
  margin: 0em 0em 0.375em; }

/* list variant */
.text--list {
  padding: 0; }

.text--list .text__list-item {
  display: list-item; }

.text--list .text__list-item:not(:last-child) {
  margin-bottom: 1.11111em; }

.text--list .text--list {
  margin-bottom: 0 !important;
  margin-top: 0.83333em; }

.text--list .text__list-item .link:first-child .icon, .text--list .text__list-item .user-content a:first-child[href^="tel:"] .icon, .user-content .text--list .text__list-item a:first-child[href^="tel:"] .icon {
  margin: 0em 0.44444em 0em 0em; }

/* list ordered variant */
.text--ordered {
  list-style: decimal;
  padding-left: 1.27778em; }

.text--ordered > .text__list-item::marker {
  color: #000000;
  font-weight: 500; }

.text--ordered > .text__list-item {
  padding-left: 0.66667em; }

/* list unordered variant */
.text--unordered {
  list-style: none;
  padding: 0; }

.text--unordered > .text__list-item {
  padding-left: 1.77778em;
  position: relative; }

.text--unordered > .text__list-item::before {
  background-color: #000000;
  border-radius: 50%;
  content: "";
  display: block;
  height: 0.27778em;
  left: 0;
  position: absolute;
  top: 0.5em;
  width: 0.27778em; }

/* list checkmarked variant */
.text--checkmarked {
  list-style: none;
  padding-left: 2.22222em; }

.text--checkmarked.text--list-hanging {
  padding-left: 6.11111em; }

.text--checkmarked > .text__list-item {
  padding-left: 1.77778em;
  position: relative; }

.text--checkmarked > .text__list-item::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M435.848 83.466L172.804 346.51l-96.652-96.652c-4.686-4.686-12.284-4.686-16.971 0l-28.284 28.284c-4.686 4.686-4.686 12.284 0 16.971l133.421 133.421c4.686 4.686 12.284 4.686 16.971 0l299.813-299.813c4.686-4.686 4.686-12.284 0-16.971l-28.284-28.284c-4.686-4.686-12.284-4.686-16.97 0z'/%3E%3C/svg%3E %3C!-- Font Awesome Pro 5.5.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --%3E");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 1em;
  left: 0;
  position: absolute;
  top: 0.38889em;
  width: 0.44444em; }

@media (max-width: 63.9375em) {
  .text--checkmarked, .text--checkmarked.text--list-hanging {
    padding-left: 0; } }

/* table variant */
.text__table__container {
  overflow: auto;
  width: 100%; }

.text--table {
  border-collapse: collapse;
  display: table;
  width: 100%; }

.text--table .text__header {
  display: table-header-group; }

.text--table .text__body {
  display: table-row-group; }

.text--table .text__footer {
  color: #3B3B3B;
  display: table-footer-group;
  font-style: italic; }

.text--table .text__row {
  display: table-row; }

.text--table .text__cell {
  border: 0;
  min-width: 14em;
  padding: 1em 1.9375em;
  text-align: left;
  vertical-align: top; }

.text--table .text__header .text__cell {
  background-color: #1578B9;
  color: #FFFFFF; }

.text--table .text__header .text__cell:first-of-type {
  border-radius: 0.8125rem 0rem 0rem 0rem; }

.text--table .text__header .text__cell:last-of-type {
  border-radius: 0rem 0.8125rem 0rem 0rem; }

.text--table .text__header .text__cell,
.text--table .text__body .text__cell--header {
  font-weight: 800; }

.text--table .text__body .text__cell--header {
  text-align: left; }

.text--table > .text__row:nth-child(even) .text__cell,
.text--table .text__body .text__row:nth-child(even) .text__cell {
  background: #F5F5F5; }

.text--table > .text__row:nth-child(even) .text__cell:first-child,
.text--table .text__body .text__row:nth-child(even) .text__cell:first-child {
  border-bottom-left-radius: 6px;
  border-bottom-left-radius: 0.375rem;
  border-top-left-radius: 6px;
  border-top-left-radius: 0.375rem; }

.text--table > .text__row:nth-child(even) .text__cell:last-child,
.text--table .text__body .text__row:nth-child(even) .text__cell:last-child {
  border-bottom-right-radius: 6px;
  border-bottom-right-radius: 0.375rem;
  border-top-right-radius: 6px;
  border-top-right-radius: 0.375rem; }

/* ------------------------------------------------------------------------ *\
 * Blockquote
\* ------------------------------------------------------------------------ */
.blockquote {
  border-left: 2px solid #E11A1A;
  border-left: 0.125rem solid #E11A1A;
  margin: 0;
  padding: 0em 0em 0em 0.9375em; }

/* ------------------------------------------------------------------------ *\
 * User Content
\* ------------------------------------------------------------------------ */
.user-content {
  /* stylelint-disable selector-no-qualifying-type, selector-max-type */
  /* stylelint-enable */ }
  .user-content img {
    display: block;
    height: auto !important;
    max-width: 100%; }

/* light variant */
.user-content--light {
  /* stylelint-disable selector-no-qualifying-type, selector-max-type */
  /* stylelint-enable */ }
  .user-content--light .link, .user-content--light .user-content a[href^="tel:"], .user-content .user-content--light a[href^="tel:"],
  .user-content--light .title,
  .user-content--light .user-content h1,
  .user-content .user-content--light h1,
  .user-content--light .user-content h2,
  .user-content .user-content--light h2,
  .user-content--light .user-content h3,
  .user-content .user-content--light h3,
  .user-content--light .user-content h4,
  .user-content .user-content--light h4,
  .user-content--light .user-content h5,
  .user-content .user-content--light h5,
  .user-content--light .text,
  .user-content--light .wp-caption-text {
    color: #FFFFFF; }

/* ------------------------------------------------------------------------ *\
 * Module
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Accordion
\* ------------------------------------------------------------------------ */
.accordion {
  background: #2A2A2A;
  border-radius: 1em;
  box-shadow: 0rem 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
  margin: 0em 0em 2.5em; }

.accordion__summary {
  color: #FFFFFF;
  cursor: pointer;
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 1.0625em;
  line-height: 1.23529em;
  padding: 0.70588em 1.17647em;
  text-align: center;
  text-transform: uppercase;
  user-select: none; }

.accordion__summary::-webkit-details-marker {
  display: none; }

.accordion__summary .accordion__summary__icon {
  margin-right: 0.58824em; }

.accordion[open] .accordion__summary .accordion__summary__icon {
  transform: rotate(180deg); }

.accordion__content {
  padding: 0.75em 1.25em; }

.accordion__product-filter .product-filter__title,
.accordion__product-filter .product-filter__text,
.accordion__product-filter .product-filter__input__container .input__container__text {
  color: #FFFFFF; }

/* ------------------------------------------------------------------------ *\
 * Article
\* ------------------------------------------------------------------------ */
.article__figure {
  margin: 0em 0em 1.875em;
  position: relative; }

.article__figure__image {
  display: block;
  width: 100%; }

.article__figure__caption {
  align-items: center;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.666667) 50%, rgba(0, 0, 0, 0) 100%);
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  left: 0;
  padding: 12.5px 20px;
  padding: 0.78125rem 1.25rem;
  position: absolute;
  top: 0;
  width: 100%; }

.article__figure__title {
  color: #FFFFFF;
  margin-bottom: 5px;
  margin-bottom: 0.3125rem; }

.article__figure__title:last-child {
  margin-bottom: 0; }

.article__figure__menu-list__container .menu-list--meta {
  color: #f2f2f2; }

/* excerpt variant */
.article--excerpt + .article--excerpt {
  border-top: 1px solid #D8D8D8;
  border-top: 0.0625rem solid #D8D8D8;
  padding-top: 1em; }

.article--excerpt .article__title {
  font-size: 1.125em; }

.article--excerpt .article__header > .article__title:not(:last-child) {
  margin-bottom: 0; }

.article--excerpt .article__header > .article__title:not(:last-child) + * {
  margin-bottom: 0.625em; }

/* product-excerpt variant */
.article--product-excerpt {
  background: #FFFFFF;
  border: 1px solid #D8D8D8;
  border: 0.0625rem solid #D8D8D8;
  margin: 0px auto 40px;
  margin: 0rem auto 2.5rem;
  max-width: 15.3125em;
  overflow: hidden;
  padding: 2.625em; }

.article--product-excerpt > .article__link {
  width: 100%; }

.article--product-excerpt.article--has-image {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.article--product-excerpt .article__figure {
  display: flex;
  height: 11.25em;
  margin: 0;
  padding: 0em 0em 0.9375em;
  width: 100%; }

.article--product-excerpt .article__figure__image {
  height: 100%;
  object-fit: contain;
  width: 100%; }

.article--product-excerpt .article__title {
  color: #2A2375;
  font-size: 1.125em;
  margin: 0;
  text-align: center;
  text-transform: none; }

.article--product-excerpt .article__content {
  margin: 1.25em 1.5625em; }

/* product-mini variant */
.article--product-mini {
  border-bottom: 2px solid #D8D8D8;
  border-bottom: 0.125rem solid #D8D8D8;
  margin: 0px 0px 15px;
  margin: 0rem 0rem 0.9375rem;
  padding: 0px 0px 15px;
  padding: 0rem 0rem 0.9375rem; }

.article--product-mini .article__figure {
  margin: 0;
  width: 100px;
  width: 6.25rem; }

.article--product-mini .article__title {
  color: #1578B9;
  font-size: 1.375em;
  margin-bottom: 0;
  text-transform: none; }

/* ------------------------------------------------------------------------ *\
 * Callout
\* ------------------------------------------------------------------------ */
.content-block--callouts {
  padding-bottom: 78px;
  padding-bottom: 4.875rem; }

.content-block--callouts .title, .content-block--callouts .user-content h1, .user-content .content-block--callouts h1,
.content-block--callouts .user-content h2, .user-content .content-block--callouts h2,
.content-block--callouts .user-content h3, .user-content .content-block--callouts h3,
.content-block--callouts .user-content h4, .user-content .content-block--callouts h4,
.content-block--callouts .user-content h5, .user-content .content-block--callouts h5 {
  font-size: calc(1.5em + 0.625 * ((100vw - 48em) / 32));
  font-weight: 700;
  line-height: 1.23529em;
  margin-bottom: 35px;
  margin-bottom: 2.1875rem;
  text-align: center; }

@media screen and (min-width: 80em){
  .content-block--callouts .title, .content-block--callouts .user-content h1, .user-content .content-block--callouts h1,
.content-block--callouts .user-content h2, .user-content .content-block--callouts h2,
.content-block--callouts .user-content h3, .user-content .content-block--callouts h3,
.content-block--callouts .user-content h4, .user-content .content-block--callouts h4,
.content-block--callouts .user-content h5, .user-content .content-block--callouts h5{
    font-size: 2.125em; } }

@media screen and (max-width: 48em){
  .content-block--callouts .title, .content-block--callouts .user-content h1, .user-content .content-block--callouts h1,
.content-block--callouts .user-content h2, .user-content .content-block--callouts h2,
.content-block--callouts .user-content h3, .user-content .content-block--callouts h3,
.content-block--callouts .user-content h4, .user-content .content-block--callouts h4,
.content-block--callouts .user-content h5, .user-content .content-block--callouts h5{
    font-size: 1.5em; } }

.content-block--callouts .callout--more,
.content-block--callouts .content__post {
  margin-bottom: 0; }

@media (min-width: 64em) {
  .content-block--callouts .title, .content-block--callouts .user-content h1, .user-content .content-block--callouts h1,
  .content-block--callouts .user-content h2, .user-content .content-block--callouts h2,
  .content-block--callouts .user-content h3, .user-content .content-block--callouts h3,
  .content-block--callouts .user-content h4, .user-content .content-block--callouts h4,
  .content-block--callouts .user-content h5, .user-content .content-block--callouts h5 {
    text-align: left; }
  .content-block--callouts .title--callout-light {
    max-width: 100%;
    width: 11.9375rem; } }

.callout {
  display: block;
  margin: 0px 0px 10px;
  margin: 0rem 0rem 0.625rem;
  max-width: 185px;
  max-width: 11.5625rem;
  position: relative;
  text-decoration: none;
  width: 100%; }

.callout__text {
  color: #2A2375;
  font-size: calc(0.875em + 0.25 * ((100vw - 48em) / 32));
  font-weight: 700;
  line-height: 1.21875em;
  margin-bottom: 0;
  text-align: center; }

@media screen and (min-width: 80em){
  .callout__text{
    font-size: 1.125em; } }

@media screen and (max-width: 48em){
  .callout__text{
    font-size: 0.875em; } }

.callout--more .callout__text {
  align-items: center;
  color: #1578B9;
  display: flex;
  flex-direction: row-reverse;
  gap: 0.38889em;
  justify-content: center; }

@media (min-width: 60em) {
  .callout--more .callout__text {
    flex-direction: column; } }

.callout__icon {
  color: #1578B9;
  font-size: calc(1.28571em + 1.71429 * ((100vw - 48em) / 32));
  margin: 0em 0em 0.12963em; }

@media screen and (min-width: 80em){
  .callout__icon{
    font-size: 3em; } }

@media screen and (max-width: 48em){
  .callout__icon{
    font-size: 1.28571em; } }

.callout__image {
  aspect-ratio: 208/152;
  display: block;
  margin-bottom: 13px;
  margin-bottom: 0.8125rem;
  object-fit: cover;
  width: 100%; }

.callout__sizer {
  background: #1578B9;
  display: block;
  height: 0;
  padding-bottom: 70%;
  width: 100%; }

.callout--more {
  padding: 12px 25px;
  padding: 0.75rem 1.5625rem; }

.callout--overlay {
  position: relative; }

.callout--overlay::after {
  background-image: linear-gradient(0deg, #000000 0%, rgba(0, 0, 0, 0) 60%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 2; }

.callout--overlay .callout__image {
  aspect-ratio: 1/1; }

.callout--overlay .callout__text {
  bottom: 0;
  color: #FFFFFF;
  left: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 19px 13px;
  padding: 1.1875rem 0.8125rem;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: 3; }

/* ------------------------------------------------------------------------ *\
 * Order Tracking - WordPress Status Tracking Plugin
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-max-id */
#ewd-otp-ending-status {
  top: 0; }

.ewd-otp-statuses .ewd-otp-form__text,
.ewd-otp-tracking-results-field .ewd-otp-form__text,
.ewd-otp-tracking-results-custom-fields .ewd-otp-form__text,
.ewd-otp-status-label .ewd-otp-form__text {
  margin-bottom: 0; }

.ewd-otp-status-label:nth-of-type(even) {
  background: #D8D8D8; }

.ewd-otp-status-label .ewd-otp-statuses:first-child .ewd-otp-form__text {
  font-weight: 800; }

#ewd-otp-progressbar-round .round {
  background: #E11A1A; }

.ewd-otp-statuses {
  font-size: 0.75em; }

.ewd-otp-tracking-results-custom-fields,
.ewd-otp-front-end-update-form {
  margin-top: 2em; }

/* ------------------------------------------------------------------------ *\
 * iframe
\* ------------------------------------------------------------------------ */
.iframe__container {
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
  width: 100%; }

.iframe__container > .iframe {
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%; }

/* ------------------------------------------------------------------------ *\
 * Logo
\* ------------------------------------------------------------------------ */
.logo {
  display: block;
  text-decoration: none;
  transition: opacity 0.15s;
  user-select: none; }

.logo:hover {
  opacity: 0.9; }

.logo__image {
  display: block;
  width: 100%; }

/* ------------------------------------------------------------------------ *\
 * Menu List
\* ------------------------------------------------------------------------ */
/* ============================ GLOBAL VARIANTS =========================== */
.menu-list__container:after {
  content: '';
  display: block;
  clear: both; }

.menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  user-select: none; }

.menu-list:after {
  content: '';
  display: block;
  clear: both; }

.menu-list__item {
  float: left;
  position: relative; }

.menu-list__link {
  display: block; }

.menu-list__toggle {
  background: none;
  border: 0;
  cursor: pointer;
  display: block;
  flex: 0 0 auto;
  font-size: 1em;
  margin: 0; }

.menu-list__toggle > .toggle__icon {
  transition: transform 0.15s; }

.menu-list__item.is-active > .menu-list__toggle > .toggle__icon {
  transform: rotate(-180deg); }

/* accordion variant */
.menu-list--accordion .menu-list__item--parent {
  display: flex;
  flex-wrap: wrap; }

.menu-list--accordion .menu-list__item--parent > .menu-list__link {
  flex: 1 1 0%; }

/* child variant */
.menu-list--child {
  min-width: 100%; }

.menu-list--child .menu-list__item {
  float: none; }

/* child accordion variant */
.menu-list--child.menu-list--accordion {
  height: 0;
  overflow: hidden;
  transition: height 0.15s, visibility 0s 0.15s !important;
  visibility: hidden; }

.menu-list__item--parent.is-active > .menu-list--child.menu-list--accordion {
  transition: height 0.15s !important;
  visibility: visible; }

/* child overlay variant */
.menu-list--child.menu-list--overlay {
  left: -999em;
  opacity: 0;
  position: absolute;
  top: -999em;
  transition: left 0s 0.15s, opacity 0.15s, top 0s 0.15s, visibility 0s 0.15s;
  visibility: hidden; }

.menu-list__item--parent:hover > .menu-list--child.menu-list--overlay,
.menu-list__item--parent.is-active > .menu-list--child.menu-list--overlay {
  left: 50%;
  opacity: 1;
  top: 100%;
  transform: translateX(-50%);
  transition: opacity 0.15s;
  visibility: visible; }

.no-javascript .menu-list__item--parent:focus-within > .menu-list--child.menu-list--overlay {
  left: 0;
  opacity: 1;
  top: 100%;
  transition: opacity 0.15s;
  visibility: visible; }

/* child overlay depth 2 variant */
.menu-list__item--parent:hover > .menu-list--child.menu-list--overlay.menu-list--depth-2,
.menu-list__item--parent.is-active > .menu-list--child.menu-list--overlay.menu-list--depth-2 {
  left: 100%;
  top: 0; }

.no-javascript .menu-list__item--parent:focus-within > .menu-list--child.menu-list--overlay.menu-list--depth-2 {
  left: 100%;
  top: 0; }

/* child overlay reverse variant */
.menu-list--child.menu-list--overlay.menu-list--reverse {
  left: auto;
  right: 999em;
  transition: right 0s 0.15s, opacity 0.15s, top 0s 0.15s, visibility 0s 0.15s; }

.menu-list__item--parent:hover > .menu-list--child.menu-list--overlay.menu-list--reverse,
.menu-list__item--parent.is-active > .menu-list--child.menu-list--overlay.menu-list--reverse {
  left: auto;
  right: 0;
  transition: opacity 0.15s; }

.no-javascript .menu-list__item--parent:focus-within > .menu-list--child.menu-list--overlay.menu-list--reverse {
  left: auto;
  right: 0;
  transition: opacity 0.15s; }

/* child overlay reverse depth 2 variant */
.menu-list__item--parent:hover > .menu-list--child.menu-list--overlay.menu-list--reverse.menu-list--depth-2,
.menu-list__item--parent.is-active > .menu-list--child.menu-list--overlay.menu-list--reverse.menu-list--depth-2 {
  right: 100%;
  top: 0; }

.no-javascript .menu-list__item--parent:focus-within > .menu-list--child.menu-list--overlay.menu-list--reverse.menu-list--depth-2 {
  right: 100%;
  top: 0; }

/* flex variant */
.menu-list--flex {
  display: flex; }

.menu-list--flex:not(.menu-list--between) {
  text-align: center; }

.menu-list--flex::after {
  display: none; }

.menu-list--flex > .menu-list__item {
  flex: 0 0 auto; }

.menu-list--flex:not(.menu-list--between):not(.menu-list--center) > .menu-list__item {
  min-width: 0; }

/* flex between variant */
.menu-list--flex.menu-list--between {
  justify-content: space-between; }

.menu-list--flex.menu-list--between > .menu-list__item {
  flex: 0 0 auto; }

/* flex center variant */
.menu-list--flex.menu-list--center {
  justify-content: center; }

.menu-list--flex.menu-list--center > .menu-list__item {
  flex: 0 0 auto; }

/* flex end variant */
.menu-list--flex.menu-list--end {
  justify-content: flex-end; }

.menu-list--flex.menu-list--end > .menu-list__item {
  flex: 0 0 auto; }

/* flex start variant */
.menu-list--flex.menu-list--start {
  justify-content: flex-start; }

.menu-list--flex.menu-list--start > .menu-list__item {
  flex: 0 0 auto; }

/* vertical variant */
.menu-list--vertical > .menu-list__item {
  float: none; }

/* ============================ CUSTOM VARIANTS =========================== */
/* meta variant */
.menu-list--meta {
  color: #3B3B3B;
  font-family: "Montserrat", sans-serif;
  font-size: 0.875em;
  font-weight: 800;
  margin: 0em 0em 1em;
  text-align: left;
  text-transform: uppercase; }

.menu-list--meta .menu-list__item:not(:last-child) {
  margin-right: 1.42857em; }

.menu-list--meta .menu-list__link {
  color: inherit;
  display: inline-block; }

.menu-list--meta .menu-list__link:hover {
  color: inherit;
  text-decoration: underline; }

/* navigation variant */
.menu-list--navigation {
  /* child */
  /* child depth 2 */
  /* accordions */ }
  .menu-list--navigation {
    font-family: "Montserrat", sans-serif;
    font-size: 1em;
    font-weight: 800;
    line-height: 1.37813em;
    text-transform: uppercase; }
  @media (min-width: 64em) {
    .menu-list--navigation {
      margin: 0rem -0.8125rem; } }
  .menu-list--navigation .menu-list__link,
  .menu-list--navigation .menu-list__toggle {
    border-radius: 1rem;
    color: #1578B9;
    padding: 0.42188em 0.84375em;
    transition: background-color 0.6s, color 0.15s; }
  .menu-list--navigation .menu-list__link:active,
  .menu-list--navigation .menu-list__toggle:active {
    background-color: rgba(21, 120, 185, 0.2);
    transition: background-color 0.3s, color 0.15s; }
  .menu-list--navigation .menu-list__item.is-active > .menu-list__link,
  .menu-list--navigation .menu-list__item.is-active > .menu-list__toggle,
  .menu-list--navigation .menu-list__item:focus-within > .menu-list__link,
  .menu-list--navigation .menu-list__item:focus-within > .menu-list__toggle,
  .menu-list--navigation .menu-list__item:hover > .menu-list__link,
  .menu-list--navigation .menu-list__item:hover > .menu-list__toggle {
    color: #1578B9; }
  .menu-list--navigation .menu-list__button {
    font-size: 1em;
    margin-bottom: 0;
    padding: 0.42188em 0.84375em; }
  .menu-list--navigation .menu-list--child {
    background: #2A2375;
    font-size: 1em; }
  .menu-list--navigation .menu-list--child.menu-list--overlay {
    border-radius: 1rem;
    min-width: 15.625em; }
  .menu-list--navigation .menu-list--child .menu-list__link,
  .menu-list--navigation .menu-list--child .menu-list__toggle {
    border-radius: 0;
    color: #FFFFFF;
    padding: 0.25em 1em;
    text-transform: none; }
  .menu-list--navigation .menu-list--child .menu-list__item.is-active > .menu-list__link,
  .menu-list--navigation .menu-list--child .menu-list__item.is-active > .menu-list__toggle,
  .menu-list--navigation .menu-list--child .menu-list__item:focus-within > .menu-list__link,
  .menu-list--navigation .menu-list--child .menu-list__item:focus-within > .menu-list__toggle,
  .menu-list--navigation .menu-list--child .menu-list__item:hover > .menu-list__link,
  .menu-list--navigation .menu-list--child .menu-list__item:hover > .menu-list__toggle {
    background-color: rgba(255, 255, 255, 0.2);
    color: #FFFFFF; }
  .menu-list--navigation .menu-list--child > .menu-list__item:first-child > .menu-list__link,
  .menu-list--navigation .menu-list--child > .menu-list__item:first-child > .menu-list__toggle {
    padding-top: 0.5em; }
  .menu-list--navigation .menu-list--child:not(.menu-list--mega) > .menu-list__item:last-child > .menu-list__link,
  .menu-list--navigation .menu-list--child:not(.menu-list--mega) > .menu-list__item:last-child > .menu-list__toggle,
  .menu-list--navigation .menu-list--child.menu-list--mega > .menu-list__item:not(.menu-list__item--parent):last-child > .menu-list__link,
  .menu-list--navigation .menu-list--child.menu-list--mega > .menu-list__item:not(.menu-list__item--parent):last-child > .menu-list__toggle {
    padding-bottom: 0.5em; }
  .menu-list--navigation .menu-list--child.menu-list--depth-2 {
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);
    font-size: 1em; }
  .menu-list--navigation .menu-list--child.menu-list--depth-2:not(.menu-list--reverse) {
    border-top-left-radius: 0px;
    border-top-left-radius: 0rem; }
  .menu-list--navigation .menu-list--child.menu-list--depth-2.menu-list--reverse {
    border-top-right-radius: 0px;
    border-top-right-radius: 0rem; }
  .menu-list--navigation .menu-list__item--parent:not(:first-child) > .menu-list--child.menu-list--depth-2.menu-list--overlay {
    transform: translateY(-0.2em); }
  .menu-list--navigation.menu-list--accordion .menu-list__item--button {
    padding: 0.42188em 0.84375em; }
  .menu-list--navigation.menu-list--accordion .menu-list__button {
    width: 100%; }
  .menu-list--navigation.menu-list--accordion .menu-list--child {
    font-size: 1em; }
  .menu-list--navigation.menu-list--accordion .menu-list--child::after {
    background: #2A2375;
    bottom: 0;
    clear: both;
    content: "";
    height: 1px;
    height: 0.0625rem;
    left: 0;
    position: absolute;
    width: 100%; }
  .menu-list--navigation.menu-list--accordion .menu-list--child .menu-list__link,
  .menu-list--navigation.menu-list--accordion .menu-list--child .menu-list__toggle {
    padding: 0.5em 1em; }
  .menu-list--navigation.menu-list--accordion .menu-list--child > .menu-list__item:first-child > .menu-list__link,
  .menu-list--navigation.menu-list--accordion .menu-list--child > .menu-list__item:first-child > .menu-list__toggle {
    padding-top: 1em; }
  .menu-list--navigation.menu-list--accordion .menu-list--child:not(.menu-list--mega) > .menu-list__item:last-child > .menu-list__link,
  .menu-list--navigation.menu-list--accordion .menu-list--child:not(.menu-list--mega) > .menu-list__item:last-child > .menu-list__toggle,
  .menu-list--navigation.menu-list--accordion .menu-list--child.menu-list--mega > .menu-list__item:not(.menu-list__item--parent):last-child > .menu-list__link,
  .menu-list--navigation.menu-list--accordion .menu-list--child.menu-list--mega > .menu-list__item:not(.menu-list__item--parent):last-child > .menu-list__toggle {
    padding-bottom: 1em; }

/* pagination variant */
.menu-list--pagination {
  font-family: "Montserrat", sans-serif;
  font-size: 0.875em;
  font-weight: 500; }

.menu-list--pagination .menu-list__item:not(:last-child) {
  margin-right: 0.57143em; }

.menu-list--pagination .menu-list__item.current > .menu-list__link {
  color: #000000;
  cursor: auto; }

/* sitemap variant */
.menu-list--sitemap {
  color: #7CC8F9;
  display: flex;
  flex-wrap: wrap;
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  line-height: 1.375em;
  margin: 0em auto 1.375em; }

.menu-list--sitemap .menu-list__item {
  display: block;
  flex: 0 0 100%;
  float: none;
  padding: 0; }

.menu-list--sitemap .menu-list__link {
  color: #7CC8F9;
  display: block;
  font-weight: 500;
  padding: 0.375em 1.3125em;
  position: relative;
  text-align: center; }

.menu-list--sitemap .menu-list__link:focus,
.menu-list--sitemap .menu-list__link:hover {
  color: #FFFFFF;
  text-decoration: underline; }

@media (min-width: 64em) {
  .menu-list--sitemap .menu-list__item {
    flex: 0 0 50%;
    min-width: 0; }
  .menu-list--sitemap .menu-list__link {
    padding: 0.625em 1.3125em;
    text-align: left; }
  .menu-list--sitemap .menu-list__link::before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512' fill='%23FFFFFF'%3E%3C!--! Font Awesome Pro 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc. --%3E%3Cpath d='M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 1em;
    left: 0;
    position: absolute;
    top: 0.875em;
    width: 0.5em; } }

@media (min-width: 85.375em) {
  .menu-list--sitemap .menu-list__link {
    white-space: nowrap; } }

/* social variant */
.menu-list--social {
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-size: 1.5em;
  line-height: 1.33333em; }

.menu-list--social .menu-list__item {
  display: inline;
  float: none; }

.menu-list--social .menu-list__item:not(:last-child) {
  margin: 0em 0.33333em 0em 0em; }

.menu-list--social .menu-list__link {
  color: #FFFFFF;
  display: inline; }

.menu-list--social .menu-list__link:focus,
.menu-list--social .menu-list__link:hover {
  color: #FFFFFF;
  text-decoration: underline; }

/* tabs variant */
.menu-list--tabs {
  font-family: "Montserrat", sans-serif;
  font-size: calc(1em + 0.25 * ((100vw - 64em) / 21.375));
  font-weight: 500;
  line-height: 1.2em;
  padding: 0em 1.5em; }
@media screen and (min-width: 85.375em){
  .menu-list--tabs{
    font-size: 1.25em; } }
@media screen and (max-width: 64em){
  .menu-list--tabs{
    font-size: 1em; } }

.menu-list--tabs::before {
  background: #626262;
  border-radius: 0.15625rem;
  content: "";
  display: block;
  height: 5px;
  height: 0.3125rem;
  left: 0;
  position: absolute;
  top: 100%;
  width: 100%; }

.menu-list--tabs .menu-list__link {
  color: #626262;
  padding: 0.75em 1.25em;
  transition: background-color 0.15s, color 0.15s; }

.menu-list--tabs .menu-list__link[aria-selected="true"] {
  background: #626262;
  color: #FFFFFF;
  font-weight: 800; }

/* thumbnails variant */
@media (max-width: 47.9375em) {
  .menu-list--thumbnails {
    font-family: "Montserrat", sans-serif;
    font-size: 1.25em;
    font-weight: 800;
    line-height: 1em;
    text-transform: uppercase; }
  .menu-list--thumbnails .menu-list__item {
    float: none; }
  .menu-list--thumbnails .menu-list__link {
    align-items: center;
    background: #3B3B3B;
    border-radius: 0.8em;
    color: #FFFFFF;
    display: flex;
    margin: 0em 0em 1em;
    padding: 0.5em 1em; }
  .menu-list--thumbnails .menu-list__icon {
    font-size: 1.8em;
    margin: 0em 0.55556em 0em 0em; } }

@media (min-width: 48em) {
  .menu-list--thumbnails {
    display: flex;
    flex-wrap: wrap;
    margin: 1.25em 0em 0em;
    width: calc(100% + 1.25em); }
  .menu-list--thumbnails .menu-list__item {
    display: flex;
    flex: 0 0 20%;
    padding: 0em 1.25em 1.25em 0em; }
  .menu-list--thumbnails .menu-list__link {
    color: #000000;
    display: flex;
    opacity: 0.5;
    transition: opacity 0.15s;
    width: 100%; }
  .menu-list--thumbnails .menu-list__link.is-active {
    opacity: 1; }
  .menu-list--thumbnails .menu-list__image {
    display: block;
    width: 100%; }
  .menu-list--thumbnails .menu-list__icon__container {
    align-items: center;
    border: 0.125rem solid #000000;
    display: flex;
    justify-content: center;
    padding: 1em;
    width: 100%; }
  .menu-list--thumbnails .menu-list__icon {
    height: auto;
    max-width: 4em;
    width: 100%; } }

/* ------------------------------------------------------------------------ *\
 * Ninja Forms
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
.nf-form-hp {
  left: -999em;
  position: absolute;
  top: -999em; }

.nf-field-container .pikaday__container {
  display: block; }

.nf-field-container .list-checkbox,
.nf-field-container .list-radio {
  font-size: 1em;
  list-style: none;
  margin: 0;
  padding: 0; }

.nf-field-container.label-above .field-wrap,
.nf-field-container.label-right .field-wrap,
.nf-field-container.label-below .field-wrap,
.nf-field-container.label-left .field-wrap {
  align-items: flex-start;
  display: flex; }

.nf-field-container.label-right .field-wrap .nf-field-label,
.nf-field-container.label-left .field-wrap .nf-field-label {
  flex: none; }

.nf-field-container.label-above .field-wrap .nf-field-element,
.nf-field-container.label-below .field-wrap .nf-field-element {
  width: 100%; }

.nf-field-container.label-right .field-wrap .nf-field-element,
.nf-field-container.label-left .field-wrap .nf-field-element {
  flex: 1 1 auto; }

.nf-field-container.label-right .checkbox-wrap .nf-field-element,
.nf-field-container.label-left .checkbox-wrap .nf-field-element {
  flex: none; }

.nf-field-container.label-above .field-wrap {
  flex-direction: column; }

.nf-field-container.label-below .field-wrap {
  flex-direction: column; }

.nf-field-container.label-below .field-wrap .nf-field-label {
  order: 2; }

.nf-field-container.label-below .field-wrap .nf-field-element {
  order: 1; }

.nf-field-container.label-right .field-wrap .nf-field-label {
  order: 2; }

.nf-field-container.label-right .field-wrap .nf-field-element {
  order: 1; }

.nf-field-container.label-hidden .field-wrap .nf-field-label {
  left: -999em;
  position: absolute;
  top: -999em; }

.grecaptcha-badge {
  z-index: 999; }

.nf-has-columns .nf-row {
  margin: 0 -5px; }

/* ------------------------------------------------------------------------ *\
 * Opinionated Tweaks
\* ------------------------------------------------------------------------ */
.is-offline .nf-form-cont {
  position: relative; }

.is-offline .nf-form-cont::before {
  align-items: center;
  background: rgba(255, 255, 255, 0.75);
  content: "Sorry, it looks like you\'re offline. Please reconnect to the internet to use this form.";
  display: flex;
  font-family: "Montserrat", sans-serif;
  font-size: 1.25em;
  height: 100%;
  justify-content: center;
  left: 0;
  padding: 1.25em;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%; }

.ninja-forms-req-symbol {
  color: #E11A1A; }

.ninja-forms-help-symbol {
  cursor: pointer;
  position: relative; }

.ninja-forms-help-tooltip {
  background: #626262;
  border-radius: 0.42857em;
  bottom: 130%;
  font-size: 0.875em;
  left: 50%;
  opacity: 0;
  padding: 0.71429em;
  pointer-events: none;
  position: absolute;
  text-align: center;
  transform: translateX(-50%) translateY(50%);
  transition: opacity 0.15s, transform 0.15s;
  width: 14.28571em; }

.ninja-forms-help-symbol.is-active .ninja-forms-help-tooltip {
  opacity: 1;
  pointer-events: all;
  transform: translateX(-50%); }

.ninja-forms-help-tooltip::after {
  border-left: 0.375em solid transparent;
  border-right: 0.375em solid transparent;
  border-top: 0.375em solid #626262;
  content: "";
  left: 50%;
  position: absolute;
  top: 100%;
  transform: translateX(-50%); }

.ninja-forms-help-tooltip .ninja-forms-user-content > :last-child {
  margin-bottom: 0 !important; }

.nf-field-container .list-checkbox,
.nf-field-container .list-radio {
  font-size: 1em;
  margin-bottom: 0.25em; }

.nf-field-container .list-checkbox .input--checkbox,
.nf-field-container .list-radio .input--radio {
  margin-bottom: 0.25em; }

.nf-field-container .list-checkbox .text--label,
.nf-field-container .list-radio .text--label {
  margin-bottom: 0.25em; }

.nf-field-container .stars {
  margin-bottom: 1.5em; }

.nf-error-msg {
  color: #F08F8F; }

.nf-field-container .g-recaptcha:not([data-size="invisible"]) {
  margin-bottom: 1.5em; }

.nf-field-container .text--label {
  display: inline-block; }

.nf-field-container.label-above .nf-field-label > .text--label {
  margin-bottom: 0.25em; }

.nf-field-container.label-below .nf-field-label > .text--label {
  margin-top: 0.25em; }

.nf-field-container.label-below .nf-field-element .input,
.nf-field-container.label-below .nf-field-element .stars,
.nf-field-container.label-below .list-checkbox,
.nf-field-container.label-below .list-radio {
  margin-bottom: 0;
  order: 1; }

.nf-field-container.label-left .nf-field-label > .text--label {
  margin-right: 0.625em; }

.nf-field-container.label-right .nf-field-label > .text--label {
  margin-left: 0.625em; }

.nf-field-container.listcheckbox-container .input--checkbox,
.nf-field-container.listradio-container .input--radio {
  margin-right: 0.375em; }

.nf-input-limit:not(:empty) {
  margin-top: -1.5em; }

/* ------------------------------------------------------------------------ *\
 * Noty (https://ned.im/noty/#/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
.noty_layout_mixin, #noty_layout__top, #noty_layout__topLeft, #noty_layout__topCenter, #noty_layout__topRight, #noty_layout__bottom, #noty_layout__bottomLeft, #noty_layout__bottomCenter, #noty_layout__bottomRight, #noty_layout__center, #noty_layout__centerLeft, #noty_layout__centerRight {
  position: fixed;
  margin: 0;
  padding: 0;
  z-index: 9999999;
  transform: translateZ(0) scale(1, 1);
  backface-visibility: hidden;
  -webkit-font-smoothing: subpixel-antialiased;
  filter: blur(0);
  -webkit-filter: blur(0);
  max-width: 90%; }

#noty_layout__top {
  top: 0;
  left: 5%;
  width: 90%; }

#noty_layout__topLeft {
  top: 20px;
  left: 20px;
  width: 325px; }

#noty_layout__topCenter {
  top: 5%;
  left: 50%;
  width: 325px;
  transform: translate(calc(-50% - .5px)) translateZ(0) scale(1, 1); }

#noty_layout__topRight {
  top: 20px;
  right: 20px;
  width: 325px; }

#noty_layout__bottom {
  bottom: 0;
  left: 5%;
  width: 90%; }

#noty_layout__bottomLeft {
  bottom: 20px;
  left: 20px;
  width: 325px; }

#noty_layout__bottomCenter {
  bottom: 5%;
  left: 50%;
  width: 325px;
  transform: translate(calc(-50% - .5px)) translateZ(0) scale(1, 1); }

#noty_layout__bottomRight {
  bottom: 20px;
  right: 20px;
  width: 325px; }

#noty_layout__center {
  top: 50%;
  left: 50%;
  width: 325px;
  transform: translate(calc(-50% - .5px), calc(-50% - .5px)) translateZ(0) scale(1, 1); }

#noty_layout__centerLeft {
  top: 50%;
  left: 20px;
  width: 325px;
  transform: translate(0, calc(-50% - .5px)) translateZ(0) scale(1, 1); }

#noty_layout__centerRight {
  top: 50%;
  right: 20px;
  width: 325px;
  transform: translate(0, calc(-50% - .5px)) translateZ(0) scale(1, 1); }

.noty_progressbar {
  display: none; }

.noty_has_timeout.noty_has_progressbar .noty_progressbar {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  background-color: #646464;
  opacity: 0.2;
  filter: alpha(opacity=10); }

.noty_bar {
  -webkit-backface-visibility: hidden;
  -webkit-transform: translate(0, 0) translateZ(0) scale(1, 1);
  transform: translate(0, 0) scale(1, 1);
  -webkit-font-smoothing: subpixel-antialiased;
  overflow: hidden; }

.noty_effects_open {
  opacity: 0;
  transform: translate(50%);
  animation: noty_anim_in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  animation-fill-mode: forwards; }

.noty_effects_close {
  animation: noty_anim_out 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  animation-fill-mode: forwards; }

.noty_fix_effects_height {
  animation: noty_anim_height 75ms ease-out; }

.noty_close_with_click {
  cursor: pointer; }

.noty_close_button {
  position: absolute;
  top: 2px;
  right: 2px;
  font-weight: bold;
  width: 20px;
  height: 20px;
  text-align: center;
  line-height: 20px;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 2px;
  cursor: pointer;
  transition: all .2s ease-out; }

.noty_close_button:hover {
  background-color: rgba(0, 0, 0, 0.1); }

.noty_modal {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #000;
  z-index: 10000;
  opacity: .3;
  left: 0;
  top: 0; }

.noty_modal.noty_modal_open {
  opacity: 0;
  animation: noty_modal_in .3s ease-out; }

.noty_modal.noty_modal_close {
  animation: noty_modal_out .3s ease-out;
  animation-fill-mode: forwards; }

@keyframes noty_modal_in {
  100% {
    opacity: .3; } }

@keyframes noty_modal_out {
  100% {
    opacity: 0; } }

@keyframes noty_anim_in {
  100% {
    transform: translate(0);
    opacity: 1; } }

@keyframes noty_anim_out {
  100% {
    transform: translate(50%);
    opacity: 0; } }

@keyframes noty_anim_height {
  100% {
    height: 0; } }

.noty_bar {
  background-color: #E11A1A;
  border-bottom: 0;
  border-radius: 0.125em;
  box-shadow: 0em 0.125em 0.3125em 0em rgba(0, 0, 0, 0.25);
  margin: 0.3125em 0em; }

.noty_bar .noty_body {
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  line-height: 1.5em;
  padding: 1em 1.5em; }

/* ------------------------------------------------------------------------ *\
 * noUiSlider (https://refreshless.com/nouislider/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
/*! nouislider - 14.7.0 - 4/6/2021 */
/* Functional styling;
 * These styles are required for noUiSlider to function.
 * You don't need to change these rules to apply your design.
 */
.noUi-target,
.noUi-target * {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  -ms-touch-action: none;
  touch-action: none;
  -ms-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.noUi-target {
  position: relative; }

.noUi-base,
.noUi-connects {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1; }

/* Wrapper for all connect elements.
 */
.noUi-connects {
  overflow: hidden;
  z-index: 0; }

.noUi-connect,
.noUi-origin {
  will-change: transform;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  -ms-transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
  -webkit-transform-style: preserve-3d;
  transform-origin: 0 0;
  transform-style: flat; }

.noUi-connect {
  height: 100%;
  width: 100%; }

.noUi-origin {
  height: 10%;
  width: 10%; }

/* Offset direction
 */
.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
  left: 0;
  right: auto; }

/* Give origins 0 height/width so they don't interfere with clicking the
 * connect elements.
 */
.noUi-vertical .noUi-origin {
  width: 0; }

.noUi-horizontal .noUi-origin {
  height: 0; }

.noUi-handle {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: absolute; }

.noUi-touch-area {
  height: 100%;
  width: 100%; }

.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
  -webkit-transition: transform 0.3s;
  transition: transform 0.3s; }

.noUi-state-drag * {
  cursor: inherit !important; }

/* Slider size and handle placement;
 */
.noUi-horizontal {
  height: 18px; }

.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  right: -17px;
  top: -6px; }

.noUi-vertical {
  width: 18px; }

.noUi-vertical .noUi-handle {
  width: 28px;
  height: 34px;
  right: -6px;
  top: -17px; }

.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
  left: -17px;
  right: auto; }

/* Styling;
 * Giving the connect element a border radius causes issues with using transform: scale
 */
.noUi-target {
  background: #FAFAFA;
  border-radius: 4px;
  border: 1px solid #D3D3D3;
  box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; }

.noUi-connects {
  border-radius: 3px; }

.noUi-connect {
  background: #3FB8AF; }

/* Handles and cursors;
 */
.noUi-draggable {
  cursor: ew-resize; }

.noUi-vertical .noUi-draggable {
  cursor: ns-resize; }

.noUi-handle {
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #FFF;
  cursor: default;
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB; }

.noUi-active {
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB; }

/* Handle stripes;
 */
.noUi-handle:before,
.noUi-handle:after {
  content: "";
  display: block;
  position: absolute;
  height: 14px;
  width: 1px;
  background: #E8E7E6;
  left: 14px;
  top: 6px; }

.noUi-handle:after {
  left: 17px; }

.noUi-vertical .noUi-handle:before,
.noUi-vertical .noUi-handle:after {
  width: 14px;
  height: 1px;
  left: 6px;
  top: 14px; }

.noUi-vertical .noUi-handle:after {
  top: 17px; }

/* Disabled state;
 */
[disabled] .noUi-connect {
  background: #B8B8B8; }

[disabled].noUi-target,
[disabled].noUi-handle,
[disabled] .noUi-handle {
  cursor: not-allowed; }

/* Base;
 *
 */
.noUi-pips,
.noUi-pips * {
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.noUi-pips {
  position: absolute;
  color: #999; }

/* Values;
 *
 */
.noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center; }

.noUi-value-sub {
  color: #ccc;
  font-size: 10px; }

/* Markings;
 *
 */
.noUi-marker {
  position: absolute;
  background: #CCC; }

.noUi-marker-sub {
  background: #AAA; }

.noUi-marker-large {
  background: #AAA; }

/* Horizontal layout;
 *
 */
.noUi-pips-horizontal {
  padding: 10px 0;
  height: 80px;
  top: 100%;
  left: 0;
  width: 100%; }

.noUi-value-horizontal {
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%); }

.noUi-rtl .noUi-value-horizontal {
  -webkit-transform: translate(50%, 50%);
  transform: translate(50%, 50%); }

.noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px; }

.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px; }

.noUi-marker-horizontal.noUi-marker-large {
  height: 15px; }

/* Vertical layout;
 *
 */
.noUi-pips-vertical {
  padding: 0 10px;
  height: 100%;
  top: 0;
  left: 100%; }

.noUi-value-vertical {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding-left: 25px; }

.noUi-rtl .noUi-value-vertical {
  -webkit-transform: translate(0, 50%);
  transform: translate(0, 50%); }

.noUi-marker-vertical.noUi-marker {
  width: 5px;
  height: 2px;
  margin-top: -1px; }

.noUi-marker-vertical.noUi-marker-sub {
  width: 10px; }

.noUi-marker-vertical.noUi-marker-large {
  width: 15px; }

.noUi-tooltip {
  display: block;
  position: absolute;
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #fff;
  color: #000;
  padding: 5px;
  text-align: center;
  white-space: nowrap; }

.noUi-horizontal .noUi-tooltip {
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  left: 50%;
  bottom: 120%; }

.noUi-vertical .noUi-tooltip {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  top: 50%;
  right: 120%; }

.noUi-horizontal .noUi-origin > .noUi-tooltip {
  -webkit-transform: translate(50%, 0);
  transform: translate(50%, 0);
  left: auto;
  bottom: 10px; }

.noUi-vertical .noUi-origin > .noUi-tooltip {
  -webkit-transform: translate(0, -18px);
  transform: translate(0, -18px);
  top: auto;
  right: 28px; }

.noUi-target {
  background-color: #2A2A2A;
  border: 0;
  border-radius: 0;
  box-shadow: none; }

.noUi-horizontal {
  height: 0.25em;
  margin: 2.625em 0em 0.375em; }

.noUi-connects {
  background: #2A2A2A;
  border: 1px solid #FFFFFF;
  border: 0.0625rem solid #FFFFFF;
  border-radius: 0; }

.noUi-base {
  margin: 0em 0.5em;
  width: calc(100% - 1em); }

.noUi-connect,
.noUi-horizontal .noUi-connect,
.noUi-origin,
.noUi-horizontal
.noUi-origin {
  height: 0.25em;
  top: calc(50% - 0.125em); }

.noUi-connect {
  background-color: #FFFFFF; }

.noUi-handle {
  background: #FFFFFF;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  cursor: pointer;
  height: 1em;
  width: 1em; }

.noUi-handle::before, .noUi-handle::after {
  display: none; }

.noUi-horizontal .noUi-handle {
  height: 1.625em;
  right: -0.5em;
  top: 50%;
  transform: translateY(-50%);
  width: 1.625em; }

.noUi-tooltip {
  background: none;
  border: none;
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75em; }

/* ------------------------------------------------------------------------ *\
 * Panel Toggle
\* ------------------------------------------------------------------------ */
.panel-toggle {
  background: none;
  border: 0;
  color: #1578B9;
  cursor: pointer;
  font-size: 1.4375em;
  line-height: 1em;
  margin: 0;
  padding: 0.25em 0em;
  position: relative; }

/* ------------------------------------------------------------------------ *\
 * PhotoSwipe (http://photoswipe.com/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none; }

.pswp * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.pswp img {
  max-width: none; }

/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--open {
  display: block; }

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab; }

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing; }

/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.pswp__container,
.pswp__zoom-wrap {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0; }

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  -webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  -webkit-transition: none;
  transition: none; }

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden; }

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden; }

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0; }

/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden; }

/*
	div element that matches size of large image
	large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222; }

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0; }

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC; }

.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline; }

/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*

	Contents:

	1. Buttons
	2. Share modal and links
	3. Index indicator ("1 of X" counter)
	4. Caption
	5. Loading indicator
	6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/
/*
	
	1. Buttons

 */
/* <button> css reset */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  -webkit-box-shadow: none;
  box-shadow: none; }

.pswp__button:focus, .pswp__button:hover {
  opacity: 1; }

.pswp__button:active {
  outline: none;
  opacity: 0.9; }

.pswp__button::-moz-focus-inner {
  padding: 0;
  border: 0; }

/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1; }

.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: url(default-skin.png) 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px; }

@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  .pswp--svg .pswp__button,
  .pswp--svg .pswp__button--arrow--left:before,
  .pswp--svg .pswp__button--arrow--right:before {
    background-image: url(default-skin.svg); }
  .pswp--svg .pswp__button--arrow--left,
  .pswp--svg .pswp__button--arrow--right {
    background: none; } }

.pswp__button--close {
  background-position: 0 -44px; }

.pswp__button--share {
  background-position: -44px -44px; }

.pswp__button--fs {
  display: none; }

.pswp--supports-fs .pswp__button--fs {
  display: block; }

.pswp--fs .pswp__button--fs {
  background-position: -44px 0; }

.pswp__button--zoom {
  display: none;
  background-position: -88px 0; }

.pswp--zoom-allowed .pswp__button--zoom {
  display: block; }

.pswp--zoomed-in .pswp__button--zoom {
  background-position: -132px 0; }

/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden; }

/*
	Arrow buttons hit area
	(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute; }

.pswp__button--arrow--left {
  left: 0; }

.pswp__button--arrow--right {
  right: 0; }

.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: '';
  top: 35px;
  background-color: rgba(0, 0, 0, 0.3);
  height: 30px;
  width: 32px;
  position: absolute; }

.pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px; }

.pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px; }

/*

	2. Share modal/popup and links

 */
.pswp__counter,
.pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__share-modal--hidden {
  display: none; }

.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #FFF;
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  -webkit-transform: translateY(6px);
  -ms-transform: translateY(6px);
  transform: translateY(6px);
  -webkit-transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform; }

.pswp__share-tooltip a {
  display: block;
  padding: 8px 12px;
  color: #000;
  text-decoration: none;
  font-size: 14px;
  line-height: 18px; }

.pswp__share-tooltip a:hover {
  text-decoration: none;
  color: #000; }

.pswp__share-tooltip a:first-child {
  /* round corners on the first/last list item */
  border-radius: 2px 2px 0 0; }

.pswp__share-tooltip a:last-child {
  border-radius: 0 0 2px 2px; }

.pswp__share-modal--fade-in {
  opacity: 1; }

.pswp__share-modal--fade-in .pswp__share-tooltip {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px; }

a.pswp__share--facebook:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: #FFF;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none; }

a.pswp__share--facebook:hover {
  background: #3E5C9A;
  color: #FFF; }

a.pswp__share--facebook:hover:before {
  border-bottom-color: #3E5C9A; }

a.pswp__share--twitter:hover {
  background: #55ACEE;
  color: #FFF; }

a.pswp__share--pinterest:hover {
  background: #CCC;
  color: #CE272D; }

a.pswp__share--download:hover {
  background: #DDD; }

/*

	3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #FFF;
  opacity: 0.75;
  padding: 0 10px; }

/*
	
	4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px; }

.pswp__caption small {
  font-size: 11px;
  color: #BBB; }

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #CCC; }

.pswp__caption--empty {
  display: none; }

/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden; }

/*

	5. Loading indicator (preloader)

	You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr; }

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px; }

.pswp__preloader--active {
  opacity: 1; }

.pswp__preloader--active .pswp__preloader__icn {
  /* We use .gif in browsers that don't support CSS animation */
  background: url(preloader.gif) 0 0 no-repeat; }

.pswp--css_animation .pswp__preloader--active {
  opacity: 1; }

.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
  -webkit-animation: clockwise 500ms linear infinite;
  animation: clockwise 500ms linear infinite; }

.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
  -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
  animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite; }

.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0; }

.pswp--css_animation .pswp__preloader__cut {
  /* 
			The idea of animating inner circle is based on Polymer ("material") loading indicator 
			 by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
		*/
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden; }

.pswp--css_animation .pswp__preloader__donut {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #FFF;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0; }

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right; } }

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

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

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

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

/*
	
	6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550; }

/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%; }

.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible; }

.pswp__top-bar,
.pswp__caption {
  background-color: rgba(0, 0, 0, 0.5); }

/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background-color: rgba(0, 0, 0, 0.3); }

/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0; }

.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0; }

/*
	pswp__ui--hidden class is added when controls are hidden
	e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001; }

/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none; }

.pswp__element--disabled {
  display: none !important; }

.pswp--minimal--dark .pswp__top-bar {
  background: none; }

.pswp {
  z-index: 100000; }

.pswp__button,
.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
  background-image: url("../media/vendor/photoswipe-default-skin.png"); }

.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none; }

@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  .pswp--svg .pswp__button,
  .pswp--svg .pswp__button--arrow--left::before,
  .pswp--svg .pswp__button--arrow--right::before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='264' height='88' viewBox='0 0 264 88' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3Edefault-skin 2%3C/title%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg%3E%3Cpath d='M67.002 59.5v3.768c-6.307.84-9.184 5.75-10.002 9.732 2.22-2.83 5.564-5.098 10.002-5.098V71.5L73 65.585 67.002 59.5z' id='Shape' fill='%23fff'/%3E%3Cg fill='%23fff'%3E%3Cpath d='M13 29v-5h2v3h3v2h-5zM13 15h5v2h-3v3h-2v-5zM31 15v5h-2v-3h-3v-2h5zM31 29h-5v-2h3v-3h2v5z' id='Shape'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cpath d='M62 24v5h-2v-3h-3v-2h5zM62 20h-5v-2h3v-3h2v5zM70 20v-5h2v3h3v2h-5zM70 24h5v2h-3v3h-2v-5z'/%3E%3C/g%3E%3Cpath d='M20.586 66l-5.656-5.656 1.414-1.414L22 64.586l5.656-5.656 1.414 1.414L23.414 66l5.656 5.656-1.414 1.414L22 67.414l-5.656 5.656-1.414-1.414L20.586 66z' fill='%23fff'/%3E%3Cpath d='M111.785 65.03L110 63.5l3-3.5h-10v-2h10l-3-3.5 1.785-1.468L117 59l-5.215 6.03z' fill='%23fff'/%3E%3Cpath d='M152.215 65.03L154 63.5l-3-3.5h10v-2h-10l3-3.5-1.785-1.468L147 59l5.215 6.03z' fill='%23fff'/%3E%3Cg%3E%3Cpath id='Rectangle-11' fill='%23fff' d='M160.957 28.543l-3.25-3.25-1.413 1.414 3.25 3.25z'/%3E%3Cpath d='M152.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z' id='Oval-1' stroke='%23fff' stroke-width='1.5'/%3E%3Cpath fill='%23fff' d='M150 21h5v1h-5z'/%3E%3C/g%3E%3Cg%3E%3Cpath d='M116.957 28.543l-1.414 1.414-3.25-3.25 1.414-1.414 3.25 3.25z' fill='%23fff'/%3E%3Cpath d='M108.5 27c3.038 0 5.5-2.462 5.5-5.5s-2.462-5.5-5.5-5.5-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5z' stroke='%23fff' stroke-width='1.5'/%3E%3Cpath fill='%23fff' d='M106 21h5v1h-5z'/%3E%3Cpath fill='%23fff' d='M109.043 19.008l-.085 5-1-.017.085-5z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
  .pswp--svg .pswp__button--arrow--left,
  .pswp--svg .pswp__button--arrow--right {
    background: none; } }

.pswp__preloader--active .pswp__preloader__icn {
  background-image: url("../media/vendor/photoswipe-preloader.gif"); }

.pswp__content {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  margin: auto;
  max-width: 75%;
  overflow: hidden; }

.pswp__user-content {
  width: 100%; }

/* ------------------------------------------------------------------------ *\
 * Product Filter
\* ------------------------------------------------------------------------ */
.product-filter::before {
  content: "";
  display: block;
  inset: 0;
  position: absolute;
  z-index: -1; }

.product-filter__fieldset {
  border: 0;
  padding: 0; }

.product-filter__input {
  margin: 0em 0em 0.3125em; }

.product-filter__input.input--checkbox, .product-filter__input.input--radio {
  margin-right: 0.375em; }

.product-filter__text {
  color: #626262;
  font-size: 1.1875em;
  line-height: 1.21053em;
  margin: 0em 0em 0.57895em; }

/* dark background styles */
.product-filter--quick,
.product-filter--dark {
  position: relative; }

.product-filter--quick::before,
.product-filter--dark::before {
  border-bottom: 1px solid #9793BB;
  border-bottom: 0.0625rem solid #9793BB;
  border-top: 1px solid #9793BB;
  border-top: 0.0625rem solid #9793BB; }

.product-filter--quick .product-filter__text,
.product-filter--quick .product-filter__title,
.product-filter--dark .product-filter__text,
.product-filter--dark .product-filter__title {
  color: #FFFFFF; }

/* quick variant */
.product-filter--quick {
  max-width: 100%;
  padding: 30px 25px;
  padding: 1.875rem 1.5625rem;
  width: 87.5em; }

.product-filter--quick::before {
  background-color: #2A2375;
  background-image: radial-gradient(#57509E 0%, #2A2375 100%);
  z-index: 1; }

.product-filter--quick .product-filter__row {
  position: relative;
  z-index: 5; }

.product-filter--quick .product-filter__input {
  border: 0;
  font-size: calc(0.875em + 0.125 * ((100vw - 48em) / 32)); }

@media screen and (min-width: 80em){
  .product-filter--quick .product-filter__input{
    font-size: 1em; } }

@media screen and (max-width: 48em){
  .product-filter--quick .product-filter__input{
    font-size: 0.875em; } }

.product-filter--quick .product-filter__title {
  text-align: center; }

.product-filter--quick .product-filter__text {
  color: #FFFFFF;
  font-size: calc(0.875em + 0.25 * ((100vw - 48em) / 32));
  line-height: 1.22222em;
  margin: 0em 1.11111em 0em 0em; }

@media screen and (min-width: 80em){
  .product-filter--quick .product-filter__text{
    font-size: 1.125em; } }

@media screen and (max-width: 48em){
  .product-filter--quick .product-filter__text{
    font-size: 0.875em; } }

.product-filter--quick .product-filter__text.text--label {
  font-weight: 500; }

.product-filter--dark::before {
  background-color: #2A2A2A;
  background-image: none; }

.product-filter--dark .product-filter__input {
  border: 0; }

.product-filter--vertical {
  /* checkbox & radio variants */ }
  .product-filter--vertical {
    height: 100%;
    padding: 55px 65px;
    padding: 3.4375rem 4.0625rem; }
  .product-filter--vertical .product-filter__title {
    font-size: 20px;
    font-size: 1.25rem;
    margin-bottom: 0.75em; }
  .product-filter--vertical .text--label {
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 450;
    letter-spacing: -0.02778em; }
  .product-filter--vertical .input--checkbox,
  .product-filter--vertical .input--radio {
    border-width: 1px;
    border-width: 0.0625rem;
    height: 15px;
    height: 0.9375rem;
    width: 15px;
    width: 0.9375rem; }
  .product-filter--vertical .input--checkbox::after,
  .product-filter--vertical .input--radio::after {
    background-size: 0.6875rem 0.6875rem; }
  .product-filter--vertical .input--checkbox::after {
    background-size: 1.125em; }
  @media (max-width: 79.9375em) {
    .product-filter--vertical {
      padding: 3.4375rem 1.5625rem; } }

.product-filter__row {
  align-items: center;
  position: relative; }

.product-filter__row .product-filter__input__container {
  align-items: center;
  gap: 20px;
  gap: 1.25rem;
  justify-content: center; }

.product-filter__row .product-filter__col {
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  margin-bottom: 1.125rem; }

.product-filter__row .product-filter__text.text--label {
  font-weight: 800;
  margin-bottom: 10px;
  margin-bottom: 0.625rem; }

.product-filter__row .product-filter__col--radio {
  display: flex; }

.product-filter__row .input__container--radio {
  display: flex;
  gap: 10px;
  gap: 0.625rem; }

.product-filter__row .input__container--radio .input--radio {
  border: none;
  margin-bottom: 0 !important; }

.product-filter__row .product-filter__col--radio .product-filter__text.text--label {
  margin-bottom: 0; }

@media (min-width: 64em) {
  .product-filter__row .product-filter__col {
    display: flex;
    margin-bottom: 0; }
  .product-filter__row .product-filter__input__container {
    display: flex; }
  .product-filter__row .product-filter__text.text--label {
    margin-bottom: 0; } }

@media (min-width: 85.375em) {
  .product-filter__row .product-filter__text.text--label {
    white-space: nowrap; } }

.product-filter--home {
  position: relative; }

@media (max-width: 63.9375em) {
  .product-filter--home {
    margin-bottom: 0;
    padding-bottom: 0; }
  .product-filter--home::after {
    background: #FFFFFF;
    bottom: 0;
    content: "";
    height: 1.0625rem;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 3; }
  .product-filter--home .product-filter__col:last-child,
  .product-filter--home .button {
    margin-bottom: 0; }
  .product-filter--home .button {
    font-size: 1.125rem !important; }
  .product-filter--home .product-filter__col--radio {
    justify-content: start;
    margin-bottom: 2.5rem; } }

.product-filter--fullbleed {
  margin: 0 auto; }

.product-filter--fullbleed::before {
  bottom: 0;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 100vw; }

/* ------------------------------------------------------------------------ *\
 * PWA Install Prompt (https://github.com/JacobDB/pwa-install-prompt)
\* ------------------------------------------------------------------------ */
/**
 * PWA Install Prompt 1.0.2
 * Prompt users to add your PWA to their home screen, since Apple won’t.
 * https://github.com/JacobDB/pwa-install-prompt/
 *
 * Copyright 2018 Jacob Bearce
 *
 * Released under the MIT License
 *
 * Released on: November 6, 2018
 */
.pwa-install-prompt__container {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  height: 100%;
  justify-content: center;
  left: -999em;
  padding: 30px;
  position: fixed;
  top: -999em;
  transition: left 0s 0.15s, top 0s 0.15s, visibility 0s 0.15s;
  visibility: hidden;
  width: 100%;
  z-index: 100000; }

.pwa-install-prompt__container.is-active {
  left: 0;
  top: 0;
  transition: none;
  visibility: visible; }

.pwa-install-prompt__overlay {
  background: rgba(0, 0, 0, 0.5);
  border: 0;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  text-indent: -999em;
  top: 0;
  transition: opacity 0.15s;
  width: 100%;
  z-index: 0; }

.pwa-install-prompt__container.is-active .pwa-install-prompt__overlay {
  opacity: 1; }

.pwa-install-prompt {
  background: #FFF;
  border-radius: 2px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.125);
  box-sizing: border-box;
  color: #424242;
  font-family: sans-serif;
  max-width: 320px;
  opacity: 0;
  position: relative;
  text-align: center;
  transform: translateY(25%);
  transition: opacity 0.15s, transform 0.15s ease-in-out;
  z-index: 1; }

.pwa-install-prompt__container.is-active .pwa-install-prompt {
  opacity: 1;
  transform: translateY(0%); }

.pwa-install-prompt::before {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 128 128' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23FFFFFF' d='M64.197,50.47C79.696,34.95 95.259,19.502 110.597,3.824C114.411,0.182 114.565,1.022 117.707,1.24C124.299,2.167 127.723,10.687 123.435,16.078C108.453,32.47 92.997,48.399 77.387,64.174C92.571,80.01 107.685,95.917 123.024,111.595C129.195,118.349 120.432,132.527 111.035,124.716C94.992,109.403 79.408,93.611 63.979,77.65C48.485,93.169 32.917,108.618 17.584,124.296C10.837,130.734 -2.411,121.031 4.747,112.042C19.728,95.65 35.179,79.716 50.795,63.945C35.605,48.11 20.491,32.198 5.157,16.525C0.085,10.976 2.912,0.586 12.267,1.24C14.069,1.491 15.723,2.227 17.141,3.404C33.184,18.717 48.768,34.509 64.197,50.47Z' /%3E%3C/svg%3E%0A") center center no-repeat;
  border: 0;
  bottom: 100%;
  content: "";
  display: block;
  height: 16px;
  margin: 0 0 16px;
  pointer-events: none;
  position: absolute;
  right: 0;
  width: 16px; }

.pwa-install-prompt__icon__container {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 70 70' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23F0F0F0' d='M65,17C65,10.377 59.623,5 53,5L17,5C10.377,5 5,10.377 5,17L5,53C5,59.623 10.377,65 17,65L53,65C59.623,65 65,59.623 65,53L65,17Z' /%3E%3C/svg%3E%0A") center center/70px 70px repeat-x;
  margin: 40px 0 0; }

.pwa-install-prompt__icon {
  border-radius: 12px;
  display: block;
  margin: 0 auto;
  width: 60px; }

.pwa-install-prompt__content {
  padding: 10px 35px; }

.pwa-install-prompt__title {
  font-size: 24px;
  margin: 0 0 20px; }

.pwa-install-prompt__text {
  font-size: 16px;
  line-height: 20px;
  margin: 0 0 46px; }

.pwa-install-prompt__guide {
  align-items: center;
  display: flex;
  font-size: 12px;
  justify-content: center;
  margin: 0; }

.pwa-install-prompt__guide__icon {
  margin: 0 2px 6px;
  width: 20px; }

/* ------------------------------------------------------------------------ *\
 * ScrollHint (https://appleple.github.io/scroll-hint/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0; }
  10% {
    opacity: 1; }
  50%, 100% {
    transform: translateX(-40px);
    opacity: 0; } }

.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)); }

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)); }

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)); }

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px; }

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none; }

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8; }

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=); }

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2; }

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4); }

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=); }

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==); }

.scroll-hint-icon-white .scroll-hint-text {
  color: #000; }

/* ------------------------------------------------------------------------ *\
 * Search Form
\* ------------------------------------------------------------------------ */
.search-form__container {
  margin: 0em 0em 0.9375em; }

.search-form {
  position: relative; }

.search-form__input {
  margin: 0;
  padding-right: 3.2em; }

.search-form__button {
  background: none;
  box-shadow: none;
  color: #000000;
  font-size: 1.125em;
  margin: 0;
  padding: 0.62222em 0.83333em;
  position: absolute;
  right: 2px;
  right: 0.125rem;
  top: 2px;
  top: 0.125rem;
  transition: color 0.15s; }

.search-form__button:focus, .search-form__button:hover {
  background: none;
  box-shadow: none;
  color: #1578B9; }

/* ------------------------------------------------------------------------ *\
 * Skip Links
\* ------------------------------------------------------------------------ */
.skip-links {
  background: #E11A1A;
  border: 1px solid #431900;
  border: 0.0625rem solid #431900;
  border-radius: 0.25rem;
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  font-weight: 800;
  left: -999em;
  padding: 0.5em 0.75em;
  position: fixed;
  text-decoration: none;
  top: -999em;
  z-index: 999; }

.skip-links:focus {
  left: 1.25em;
  top: 1.25em;
  visibility: visible; }

/* ------------------------------------------------------------------------ *\
 * Share API Polyfill (https://github.com/NascHQ/share-api-polyfill#readme)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-max-id */
#shareAPIPolyfill-backdrop,
#shareAPIPolyfill-container {
  z-index: 999; }

/* ------------------------------------------------------------------------ *\
 * Slideout (https://slideout.js.org/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
body {
  min-height: 100vh; }

.slideout-menu {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 0;
  width: 256px;
  height: 100%;
  min-height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  display: block; }

.slideout-move.slideout-menu {
  z-index: 3;
  will-change: transform; }

.slideout-move.slideout-panel {
  position: relative;
  z-index: 1;
  will-change: transform; }

.slideout-move.slideout-menu-left {
  left: -256px; }

.slideout-move.slideout-menu-right {
  right: -256px; }

.slideout-panel {
  background-color: #FFF;
  /* A background-color is required */
  min-height: 100vh; }

.slideout-dimmer {
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  pointer-events: none;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.slideout-open,
.slideout-open body,
.slideout-open .slideout-panel {
  overflow: hidden; }

.slideout-open .slideout-menu {
  display: block; }

.slideout-open .slideout-dimmer {
  visibility: visible;
  opacity: 1;
  z-index: 2; }

.slideout-menu {
  width: 280px; }

.slideout-menu.slideout-move.slideout-menu-left {
  left: -280px; }

.slideout-dimmer {
  pointer-events: all; }

.slideout-open .slideout-dimmer {
  z-index: 100000; }

/* ------------------------------------------------------------------------ *\
 * Swiper (http://idangero.us/swiper/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
/**
 * Swiper 4.5.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 13, 2019
 */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-no-flexbox .swiper-slide {
  float: left; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  -o-transition-property: transform, height;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform; }

/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px; }

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x; }

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat; }

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto; }

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto; }

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 300ms opacity;
  -o-transition: 300ms opacity;
  transition: 300ms opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%; }

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff; }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: 200ms top, 200ms -webkit-transform;
  transition: 200ms top, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top, 200ms -webkit-transform; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms left, 200ms -webkit-transform;
  transition: 200ms left, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left, 200ms -webkit-transform; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms right, 200ms -webkit-transform;
  transition: 200ms right, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right, 200ms -webkit-transform; }

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #ffffff; }

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #ffffff; }

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000000; }

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000000; }

.swiper-pagination-lock {
  display: none; }

/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite; }

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat; }

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

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

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

/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-coverflow .swiper-wrapper {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px; }

@keyframes kenburns {
  100% {
    animation-timing-function: ease-in;
    transform: scale3d(1.15, 1.15, 1.15) translate3d(-3.895%, -4.953%, 0); } }

@keyframes kenburnsReverse {
  100% {
    animation-timing-function: ease-in;
    transform: scale3d(1.15, 1.15, 1.15) translate3d(3.895%, 4.953%, 0); } }

@keyframes fadeIn {
  to {
    opacity: 1; } }

.swiper-slide {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  height: auto;
  margin: 0;
  overflow: hidden; }

.swiper-slide:not(.swiper-slide-active) .swiper-lazy-preloader {
  display: none; }

.swiper-picture {
  flex: none; }

.swiper-picture::after {
  content: "";
  display: block;
  padding-bottom: 76.53333%;
  width: 100%; }

.hero-block--home .swiper-picture::after {
  padding-bottom: 104.26667%; }

@media (min-width: 64em) {
  .swiper-picture::after {
    padding-bottom: 29.01042%; }
  .hero-block--home .swiper-picture::after {
    padding-bottom: 33.38542%; } }

.swiper-image {
  display: block;
  height: 100%;
  object-fit: cover;
  position: absolute;
  user-select: none;
  width: 100%; }

.swiper-caption {
  align-items: center;
  background-image: linear-gradient(188deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 58%, rgba(0, 0, 0, 0.46) 100%);
  display: flex;
  flex: 1 1 auto;
  inset: 0;
  padding: 18.75px 25px;
  padding: 1.17188rem 1.5625rem;
  position: absolute;
  z-index: 2; }

.swiper-container-initialized.swiper-container--home .swiper-slide-active .swiper-caption {
  animation: fadeIn 2s forwards;
  opacity: 0; }

.swiper-caption .swiper-caption-inner,
.swiper-caption .hero-caption-inner {
  margin: 0 auto;
  max-width: 100%;
  width: 87.5em; }

.swiper-container--fullbleed .swiper-caption .swiper-caption-inner {
  max-width: none; }

@media (max-width: 79.9375em) {
  .hero-block--home .swiper-caption {
    align-items: flex-end;
    padding-bottom: 3.5625rem; } }

@media (min-width: 80em) {
  .hero-block--home .swiper-caption .swiper-caption-core {
    max-width: 35.625em; } }

.swiper-title {
  color: #FFFFFF;
  font-size: 2em; }

.hero-block--home .swiper-title {
  font-size: 1.25em;
  margin-bottom: 0.5em;
  text-align: center; }

@media (min-width: 64em) {
  .hero-block--home .swiper-title {
    font-size: 2.625em;
    margin-bottom: 1.35714em;
    text-align: left; } }

.swiper-user-content > :last-child {
  margin-bottom: 0 !important; }

.swiper-user-content .text {
  font-size: calc(0.875rem + 0.625 * ((100vw - 48em) / 32));
  font-size: calc(0.875rem + 0.625 * ((100vw - 26.25rem) / 53.75));
  font-weight: 450;
  line-height: 1.28571em; }

@media screen and (min-width: 1280px){
  .swiper-user-content .text{
    font-size: 1.5rem; } }

@media screen and (max-width: 420px){
  .swiper-user-content .text{
    font-size: 0.875rem; } }

@media screen and (min-width: 80em){
  .swiper-user-content .text{
    font-size: 1.5rem; } }

@media screen and (max-width: 48em){
  .swiper-user-content .text{
    font-size: 0.875rem; } }

.hero-block--home .swiper-user-content .text {
  text-align: center; }

@media (min-width: 64em) {
  .hero-block--home .swiper-user-content .text {
    text-align: left; } }

.swiper-button {
  background: #1578B9;
  border: 0;
  color: #FFFFFF;
  cursor: pointer;
  display: block;
  font-size: 1.25em;
  height: 1.5em;
  margin: 0;
  opacity: 1;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.15s;
  width: 1.5em;
  z-index: 999; }

.swiper-button.swiper-button--enlarge {
  pointer-events: none;
  right: 1em;
  top: 1em;
  transform: none; }

.swiper-button.swiper-button--prev {
  left: 1em; }

.swiper-container-rtl .swiper-button.swiper-button--prev {
  right: 1em; }

.swiper-button.swiper-button--next {
  right: 1em; }

.swiper-container-rtl .swiper-button.swiper-button--next {
  left: 1em; }

.swiper-button .swiper-button-icon {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%); }

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: auto;
  top: 0; }

.swiper-pagination-bullet {
  background: rgba(0, 0, 0, 0.5);
  height: 0.625em;
  opacity: 1;
  transition: background-color 0.15s;
  width: 0.625em; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 1.25em 0.3125em; }

.swiper-pagination-bullet-active {
  background-color: #1578B9; }

/* gallery variant */
.swiper-container--gallery {
  margin: 0em 0em 1.875em; }

.swiper-container--gallery .swiper-slide {
  align-items: center;
  justify-content: center; }

.swiper-container--gallery .swiper-link {
  display: block;
  height: 100%;
  width: 100%; }

.swiper-container--gallery .swiper-slide__floorplan__container {
  position: relative;
  width: 100%; }

.swiper-container--gallery .swiper-slide__floorplan__container::before {
  content: "";
  display: block;
  padding-bottom: 74.64789%;
  width: 100%; }

.swiper-container--gallery .swiper-slide__floorplan__container .swiper-slide__floorplan {
  display: flex;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

.swiper-container--gallery .swiper-slide__floorplan__container .swiper-image {
  height: 100%;
  object-fit: contain;
  object-position: center center;
  width: 100%; }

.swiper-container--home {
  /**
     * Default state is its final transform, to prevent slide jumping during transition
     */
  /**
     * Default state is its final transform, to prevent slide jumping during transition
     */ }
  .swiper-container--home .swiper-slide .swiper__image {
    transform: scale3d(1.5, 1.5, 1.5) translate3d(-9.895%, -13.953%, 0); }
  .swiper-container--home .swiper-slide.swiper-slide--alternate .swiper__image {
    transform: scale3d(1.5, 1.5, 1.5) translate3d(9.895%, 13.953%, 0); }
  .swiper-container--home .swiper-slide .swiper-image {
    transform: scale3d(1.5, 1.5, 1.5) translate3d(-9.895%, -13.953%, 0); }
  .swiper-container--home .swiper-slide.swiper-slide--alternate .swiper-image {
    transform: scale3d(1.5, 1.5, 1.5) translate3d(9.895%, 13.953%, 0); }
  .swiper-container--home:not(.swiper-container-initialized) .swiper-slide .swiper-image,
  .swiper-container--home.swiper-container-initialized .swiper-slide-active .swiper-image {
    transform: none; }
  .swiper-container--home:not(.swiper-container-initialized) .swiper-slide .swiper-image,
  .swiper-container--home.swiper-container-initialized .swiper-slide-active .swiper-image {
    animation: kenburns 15s forwards; }
  .swiper-container--home:not(.swiper-container-initialized) .swiper-slide.swiper-slide--alternate .swiper-image,
  .swiper-container--home.swiper-container-initialized .swiper-slide-active.swiper-slide--alternate .swiper-image {
    animation: kenburnsReverse 15s forwards; }

.swiper-container--testimonials .swiper-wrapper {
  transition-duration: 250ms !important; }

/* ------------------------------------------------------------------------ *\
 * Tabby (https://github.com/cferdinandi/tabby#readme)
\* ------------------------------------------------------------------------ */
@media (max-width: 63.9375em) {
  .tabby__tab {
    border: 0.1875rem solid #F5F5F5;
    border-radius: 1rem;
    margin: 0em 0em 0.9375em; }
  .tabby__tab__toggle {
    align-items: center;
    color: #626262;
    display: flex;
    font-family: "Montserrat", sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
    justify-content: space-between;
    padding: 1.25rem 1.5625rem;
    text-decoration: none;
    text-transform: uppercase; }
  .tabby__tab__toggle__icon {
    margin-left: 1.25em; }
  .tabby__tab__content {
    padding: 0rem 1.5625rem 1.25rem; } }

/* ------------------------------------------------------------------------ *\
 * Testimonial
\* ------------------------------------------------------------------------ */
.testimonial__content {
  background: #D8D8D8;
  border-radius: 1.5rem;
  margin: 0;
  padding: 20px 17.5px 25px;
  padding: 1.25rem 1.09375rem 1.5625rem;
  position: relative; }

.testimonial__content::after {
  border-left: 30px solid transparent;
  border-left: 1.875rem solid transparent;
  border-top: 25px solid #D8D8D8;
  border-top: 1.5625rem solid #D8D8D8;
  content: "";
  display: block;
  left: 30px;
  left: 1.875rem;
  position: absolute;
  top: 100%; }

.testimonial__user-content .user-content__text {
  color: #3B3B3B;
  font-size: 1em;
  font-style: italic;
  line-height: 1.1875em; }

.testimonial__user-content > :last-child {
  margin-bottom: 0; }

.testimonial__author {
  font-size: 1em;
  font-style: normal;
  font-weight: 800;
  line-height: 1.1875em;
  margin: 20px 0px 0px 75px;
  margin: 1.25rem 0rem 0rem 4.6875rem; }

/* ------------------------------------------------------------------------ *\
 * Tiled Gallery
\* ------------------------------------------------------------------------ */
.tiled-gallery-item .tiled-gallery-caption {
  font-family: "Montserrat", sans-serif;
  font-size: calc(1em + 0.375 * ((100vw - 48em) / 32));
  font-weight: 800; }
@media screen and (min-width: 80em){
  .tiled-gallery-item .tiled-gallery-caption{
    font-size: 1.375em; } }
@media screen and (max-width: 48em){
  .tiled-gallery-item .tiled-gallery-caption{
    font-size: 1em; } }

/* ------------------------------------------------------------------------ *\
 * Tooltip
\* ------------------------------------------------------------------------ */
.tooltip {
  background: #1578B9;
  border-radius: 0.25em;
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  font-weight: 500;
  opacity: 0;
  padding: 0.25em 0.5em;
  transition: opacity 0.15s, visibility 0s 0.15s; }

.tooltip[x-placement^="bottom"] {
  margin-top: 0.625em; }

.tooltip[x-placement^="left"] {
  margin-right: 0.625em; }

.tooltip[x-placement^="right"] {
  margin-left: 0.625em; }

.tooltip[x-placement^="top"] {
  margin-bottom: 0.625em; }

.tooltip[aria-hidden="false"] {
  opacity: 1;
  transition: opacity 0.15s; }

.tooltip__arrow {
  border-color: #1578B9;
  border-style: solid;
  height: 0;
  margin: 0.3125em;
  margin-bottom: 0.3125em;
  margin-top: 0.3125em;
  position: absolute;
  width: 0; }

.tooltip[x-placement^="bottom"] .tooltip__arrow {
  border-left-color: transparent;
  border-right-color: transparent;
  border-top-color: transparent;
  border-width: 0em 0.3125em 0.3125em 0.3125em;
  left: calc(50% - 0.3125em);
  margin-bottom: 0;
  margin-top: 0;
  top: -0.3125em; }

.tooltip[x-placement^="left"] .tooltip__arrow {
  border-bottom-color: transparent;
  border-right-color: transparent;
  border-top-color: transparent;
  border-width: 0.3125em 0em 0.3125em 0.3125em;
  margin-left: 0;
  margin-right: 0;
  right: -0.3125em;
  top: calc(50% - 0.3125em); }

.tooltip[x-placement^="right"] .tooltip__arrow {
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-top-color: transparent;
  border-width: 0.3125em 0.3125em 0.3125em 0em;
  left: -0.3125em;
  margin-left: 0;
  margin-right: 0;
  top: calc(50% - 0.3125em); }

.tooltip[x-placement^="top"] .tooltip__arrow {
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-right-color: transparent;
  border-width: 0.3125em 0.3125em 0em 0.3125em;
  bottom: -0.3125em;
  left: calc(50% - 0.3125em);
  margin-bottom: 0;
  margin-top: 0; }

/* ------------------------------------------------------------------------ *\
 * WP Caption
\* ------------------------------------------------------------------------ */
.wp-caption {
  margin: 0;
  max-width: 100%; }

.wp-caption-image {
  display: block;
  width: 100%; }

.wp-caption-text {
  color: #000000;
  font-family: "Montserrat", sans-serif;
  font-size: 1em;
  font-style: italic;
  line-height: 1.75em;
  margin: 0.875em 0em 1.75em; }

/* ------------------------------------------------------------------------ *\
 * Layout
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Page
\* ------------------------------------------------------------------------ */
html,
body {
  background: #05040D;
  font-optical-sizing: auto;
  min-height: 100vh;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  width: 100%; }

.page__container {
  background: #05040D;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow: hidden;
  position: relative;
  width: 100%; }

.page__container #content {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column; }

.page__container .content-block {
  flex: 1 0 auto; }

/* ------------------------------------------------------------------------ *\
 * Header
\* ------------------------------------------------------------------------ */
.header-block {
  position: relative;
  z-index: 5;
  background: #FFFFFF;
  position: relative; }

.header-block.header-block--overlay::before {
  background: #FFFFFF;
  content: "";
  inset: 0;
  position: absolute;
  z-index: 2; }

.header-block.header-block--overlay::after {
  background-image: url("../media/header-curve.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  content: "";
  height: 3vw;
  left: 0;
  position: absolute;
  right: 0;
  top: calc(100% - 0.0625rem);
  z-index: 1; }

.header__inner {
  background: none;
  margin: 0 auto;
  max-width: 1450px;
  max-width: 90.625rem;
  padding: 0px 25px 25px;
  padding: 0rem 1.5625rem 1.5625rem;
  position: relative;
  z-index: 3; }

.header__inner .phone__col {
  align-items: center;
  display: inline-flex; }

.header__inner .header__button {
  background-color: #FFFFFF;
  color: #E11A1A;
  font-size: 10px;
  font-size: 0.625rem;
  padding: 0; }

.header__inner .header__button:hover {
  background-color: #F08F8F;
  color: #FFFFFF; }

@media (max-width: 47.9375em) {
  .header__inner .header__button,
  .header__inner .title__link {
    margin: 0.5rem 0rem; }
  .header__inner .header__button {
    box-shadow: none;
    margin-top: 0.625rem; }
  .header__inner .header__button:not(:first-of-type) {
    margin-left: 0.5rem; }
  .header__inner .header__button:hover,
  .header__inner .header__button:focus {
    background: #FFFFFF;
    color: #E11A1A;
    text-decoration: underline; } }

.header__row {
  position: relative; }

.header__row.header__row--first {
  margin-bottom: 25px;
  margin-bottom: 1.5625rem; }

.header__row.header__row--first::before {
  background-color: #D8D8D8;
  bottom: 0;
  content: "";
  height: 3px;
  height: 0.1875rem;
  left: 0;
  position: absolute;
  right: 1.125em;
  z-index: -1; }

.header__row.row--padded {
  width: calc(100% + 1.125em); }

.header__row.row--padded > [class*="col-"] {
  padding-right: 1.125em; }

.header__title {
  color: #000000;
  font-size: calc(0.625em + 0.25 * ((100vw - 48em) / 32));
  font-weight: 500;
  line-height: 1.58333em;
  margin: 0; }

@media screen and (min-width: 80em){
  .header__title{
    font-size: 0.875em; } }

@media screen and (max-width: 48em){
  .header__title{
    font-size: 0.625em; } }

.header__title .title__link {
  align-items: center;
  color: #000000;
  display: flex;
  font-weight: 500;
  justify-content: center;
  margin: 7px 0px;
  margin: 0.4375rem 0rem; }

.header__title .link__title {
  color: #000000;
  margin-right: 0.92857em; }

.header__title .link__text {
  font-weight: 800; }

.header__text {
  font-size: calc(0.9375em + 0.3125 * ((100vw - 48em) / 32));
  font-weight: 500;
  line-height: 1.2em;
  margin-bottom: 0; }

@media screen and (min-width: 80em){
  .header__text{
    font-size: 1.25em; } }

@media screen and (max-width: 48em){
  .header__text{
    font-size: 0.9375em; } }

.header__text .link, .header__text .user-content a[href^="tel:"], .user-content .header__text a[href^="tel:"] {
  font-weight: 500; }

@media (max-width: 79.9375em) {
  .col--logo {
    flex: 0 0 100%;
    margin-bottom: 1.25rem;
    order: -1; } }

@media (min-width: 64em) {
  .col--search {
    padding-right: 0 !important; } }

.header__logo {
  margin: 0 auto;
  max-width: 100%;
  width: 21.375em; }

@media (max-width: 63.9375em) {
  .header__logo {
    max-width: 18.125em;
    width: 100%; } }

.header__menu-list__container .menu-list--social .menu-list__link {
  color: #1578B9;
  text-decoration: none; }

.header__menu-list__container .menu-list--social .menu-list__link:focus, .header__menu-list__container .menu-list--social .menu-list__link:hover {
  color: #7CC8F9; }

.header__panel-toggle {
  transition: opacity 0.15s; }

.header__search-form__container.search-form__container--expandable.is-active + .header__panel-toggle[data-toggle="toggle-search"] {
  opacity: 0; }

.header__search-form__container.search-form__container--expandable {
  align-items: center;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  height: 100%;
  max-width: 100vw;
  opacity: 0;
  padding: 18.75px 25px;
  padding: 1.17188rem 1.5625rem;
  position: absolute;
  right: 0;
  top: -999em;
  transition: opacity 0.15s, top 0s 0.15s, visibility 0s 0.15s;
  visibility: hidden;
  width: 400px;
  width: 25rem;
  z-index: 2; }

.header-block--overlay .header__search-form__container.search-form__container--expandable {
  background: none; }

.header__search-form__container.search-form__container--expandable.is-active {
  opacity: 1;
  top: 0;
  transition: opacity 0.15s;
  visibility: visible; }

.header__search-form__container .search-form {
  margin: 0 auto;
  max-width: 700px;
  max-width: 43.75rem;
  width: 100%; }

/* ------------------------------------------------------------------------ *\
 * Navigation
\* ------------------------------------------------------------------------ */
.navigation-block {
  position: relative;
  z-index: 4; }

.navigation__inner {
  background: #1578B9;
  margin: 0 auto;
  max-width: 1400px;
  max-width: 87.5rem;
  max-width: calc(87.5rem + 1.6em); }

.navigation__figure {
  margin: 0em 0em 0.5em; }

.navigation__image {
  display: block;
  width: 100%; }

.navigation__menu-list__container .menu-list--navigation .menu-list__link,
.navigation__menu-list__container .menu-list--navigation .menu-list__toggle {
  border-radius: 0;
  color: #FFFFFF; }

.navigation__menu-list__container .menu-list--navigation .menu-list__link:active,
.navigation__menu-list__container .menu-list--navigation .menu-list__toggle:active {
  background-color: rgba(255, 255, 255, 0.2); }

.navigation__menu-list__container .menu-list--navigation .menu-list__item.is-active > .menu-list__link,
.navigation__menu-list__container .menu-list--navigation .menu-list__item.is-active > .menu-list__toggle,
.navigation__menu-list__container .menu-list--navigation .menu-list__item:focus-within > .menu-list__link,
.navigation__menu-list__container .menu-list--navigation .menu-list__item:focus-within > .menu-list__toggle,
.navigation__menu-list__container .menu-list--navigation .menu-list__item:hover > .menu-list__link,
.navigation__menu-list__container .menu-list--navigation .menu-list__item:hover > .menu-list__toggle {
  color: #FFFFFF; }

/* fullbleed variant */
.navigation-block--fullbleed {
  background: #1578B9; }

.navigation-block--fullbleed > .navigation__inner {
  background: none; }

.navigation-block--fullbleed > .navigation__inner--fullbleed {
  max-width: none; }

/* flyout variant */
.navigation-block--flyout {
  background: #1578B9;
  overscroll-behavior: contain;
  position: fixed;
  z-index: 100001 !important; }

.navigation-block--flyout:not(.slideout-menu) {
  left: -999em;
  top: -999em; }

.navigation-block--flyout > .navigation__inner {
  background: none;
  padding: 0; }

/* ------------------------------------------------------------------------ *\
 * Hero
\* ------------------------------------------------------------------------ */
.hero-block {
  position: relative;
  z-index: 3; }

.hero__inner {
  background: #FFFFFF;
  margin: 0 auto;
  max-width: 1400px;
  max-width: 87.5rem;
  padding: 18.75px 25px;
  padding: 1.17188rem 1.5625rem; }

.hero__product-filter {
  bottom: 0;
  margin: 0 auto;
  padding: 25px;
  padding: 1.5625rem;
  position: relative; }

.hero__product-filter::before {
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 100vw;
  z-index: 0; }

/* fullbleed variant */
.hero-block--fullbleed {
  background: #FFFFFF;
  padding: 18.75px 25px;
  padding: 1.17188rem 1.5625rem; }

.hero-block--fullbleed > .hero__inner {
  background: none;
  padding: 0; }

.hero-block--fullbleed > .hero__inner--fullbleed {
  max-width: none; }

.hero-block--internal .swiper-picture::after {
  content: "";
  display: block;
  padding-bottom: 67.2%;
  width: 100%;
  z-index: 0; }

@media (min-width: 64em) {
  .hero-block--internal .swiper-picture::after {
    padding-bottom: 25.52083%; } }

.hero-block--internal .swiper-caption {
  align-items: flex-end;
  padding-bottom: 35px;
  padding-bottom: 2.1875rem; }

.hero-block--internal .swiper-title {
  font-size: calc(1.75rem + 1.375 * ((100vw - 48em) / 32));
  font-size: calc(1.75rem + 1.375 * ((100vw - 26.25rem) / 53.75)); }

@media screen and (min-width: 1280px){
  .hero-block--internal .swiper-title{
    font-size: 3.125rem; } }

@media screen and (max-width: 420px){
  .hero-block--internal .swiper-title{
    font-size: 1.75rem; } }

@media screen and (min-width: 80em){
  .hero-block--internal .swiper-title{
    font-size: 3.125rem; } }

@media screen and (max-width: 48em){
  .hero-block--internal .swiper-title{
    font-size: 1.75rem; } }

.hero-block--internal .swiper-caption .swiper__link,
.hero-block--internal .swiper-title.title--h2,
.hero-block--internal .user-content h2.swiper-title,
.user-content .hero-block--internal h2.swiper-title {
  color: #FFFFFF;
  font-size: calc(0.875rem + 0.625 * ((100vw - 48em) / 32));
  font-size: calc(0.875rem + 0.625 * ((100vw - 26.25rem) / 53.75));
  font-weight: 500;
  margin-bottom: 0;
  text-transform: uppercase; }

@media screen and (min-width: 1280px){
  .hero-block--internal .swiper-caption .swiper__link,
.hero-block--internal .swiper-title.title--h2,
.hero-block--internal .user-content h2.swiper-title,
.user-content .hero-block--internal h2.swiper-title{
    font-size: 1.5rem; } }

@media screen and (max-width: 420px){
  .hero-block--internal .swiper-caption .swiper__link,
.hero-block--internal .swiper-title.title--h2,
.hero-block--internal .user-content h2.swiper-title,
.user-content .hero-block--internal h2.swiper-title{
    font-size: 0.875rem; } }

@media screen and (min-width: 80em){
  .hero-block--internal .swiper-caption .swiper__link,
.hero-block--internal .swiper-title.title--h2,
.hero-block--internal .user-content h2.swiper-title,
.user-content .hero-block--internal h2.swiper-title{
    font-size: 1.5rem; } }

@media screen and (max-width: 48em){
  .hero-block--internal .swiper-caption .swiper__link,
.hero-block--internal .swiper-title.title--h2,
.hero-block--internal .user-content h2.swiper-title,
.user-content .hero-block--internal h2.swiper-title{
    font-size: 0.875rem; } }

@media (min-width: 80em) {
  .hero-block--internal .swiper-caption {
    padding-bottom: 5.9375rem; }
  .hero-block--internal .swiper-title {
    text-align: left; } }

@media (max-width: 47.9375em) {
  .hero-block--internal .swiper-caption {
    text-align: center; } }

/* ------------------------------------------------------------------------ *\
 * Content
\* ------------------------------------------------------------------------ */
.content-block {
  position: relative;
  z-index: 2; }

.content__inner {
  background: #FFFFFF;
  margin: 0 auto;
  max-width: 1400px;
  max-width: 87.5rem;
  padding: 15px 25px 30px;
  padding: 0.9375rem 1.5625rem 1.875rem; }

.content__post {
  margin: 0px 0px 30px;
  margin: 0rem 0rem 1.875rem; }

.content__sidebar {
  background: #FFFFFF;
  border-radius: 0.75rem;
  box-shadow: 0rem 0rem 0.4375rem 0rem rgba(0, 0, 0, 0.333333);
  height: 100%;
  margin: 0px 0px 30px;
  margin: 0rem 0rem 1.875rem;
  padding: 35px 25px;
  padding: 2.1875rem 1.5625rem; }

.content__sidebar.content__sidebar--alt {
  background: none;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0; }

.content__figure {
  display: block;
  margin: 0; }

.content__image {
  display: block;
  margin: 0 auto;
  max-width: 100%; }

@media (max-width: 47.9375em) {
  .content__header {
    text-align: center; } }

/* fullbleed variant */
.content-block--fullbleed {
  background: #FFFFFF;
  padding: 93px 25px 73px;
  padding: 5.8125rem 1.5625rem 4.5625rem; }

.content-block--fullbleed > .content__inner {
  background: none;
  padding: 0; }

.content-block--fullbleed > .content__inner--fullbleed {
  max-width: none; }

/* alt variant */
.content-block--alt {
  background: #ECECEC; }

.content-block--alt.content-block--narrow .content__inner {
  background: none;
  max-width: 1200px;
  max-width: 75rem; }

.content-block--alt .content__figure--background {
  display: flex;
  margin: 0;
  max-height: 15em; }

.content-block--alt .content__figure--background .content__image {
  display: block;
  object-fit: cover;
  width: 100%; }

@media (max-width: 63.9375em) {
  .content-block--home {
    padding-bottom: 2.625rem; }
  .content-block--home .button {
    display: flex;
    font-size: 1.125rem;
    margin: 0rem 2.8125rem 0.625rem;
    max-width: 100%;
    text-align: center; } }

.content-block--tight {
  padding-top: 15px !important;
  padding-top: 0.9375rem !important; }

.content-block--testimonials {
  --swiper-container-height: auto !important; }
  .content-block--testimonials {
    background-color: #626262;
    margin-bottom: 0;
    padding: 60px 25px;
    padding: 3.75rem 1.5625rem; }
  .content-block--testimonials .content__inner {
    background: none;
    padding: 0; }
  .content-block--testimonials .testimonials__slideshow {
    --swiper-container-height: auto !important; }
  .content-block--testimonials .text,
  .content-block--testimonials .title,
  .content-block--testimonials .user-content h1,
  .user-content .content-block--testimonials h1,
  .content-block--testimonials .user-content h2,
  .user-content .content-block--testimonials h2,
  .content-block--testimonials .user-content h3,
  .user-content .content-block--testimonials h3,
  .content-block--testimonials .user-content h4,
  .user-content .content-block--testimonials h4,
  .content-block--testimonials .user-content h5,
  .user-content .content-block--testimonials h5 {
    color: #FFFFFF !important;
    text-align: center; }
  .content-block--testimonials .title--h2,
  .content-block--testimonials .user-content h2, .user-content .content-block--testimonials h2 {
    color: #FFFFFF;
    margin-bottom: 0;
    text-align: center; }
  .content-block--testimonials .title--h3,
  .content-block--testimonials .user-content h3, .user-content .content-block--testimonials h3,
  .content-block--testimonials .text {
    font-size: fluid(17px, 19px);
    font-size: fluid(1.0625rem, 1.1875rem); }
  .content-block--testimonials .title--h3,
  .content-block--testimonials .user-content h3, .user-content .content-block--testimonials h3 {
    color: #FFFFFF;
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    margin-top: 0 !important; }
  .content-block--testimonials .text {
    font-style: italic; }
  .content-block--testimonials .swiper-container--weblinx-swiper .swiper-caption {
    align-items: start;
    background-color: #626262;
    background-image: none;
    display: flex;
    height: 100%;
    padding: 20px 100px 0px;
    padding: 1.25rem 6.25rem 0rem;
    position: relative; }
  .content-block--testimonials .swiper-container--weblinx-swiper .swiper-button {
    align-items: center;
    background: none;
    color: #FFFFFF;
    display: flex;
    font-size: 55px;
    font-size: 3.4375rem;
    height: 55px;
    height: 3.4375rem;
    justify-content: center;
    top: 30%;
    width: 45px;
    width: 2.8125rem; }
  @media (max-width: 47.9375em) {
    .content-block--testimonials .swiper-container--weblinx-swiper .swiper-caption {
      padding: 1.25rem 1.5625rem 0rem; }
    .content-block--testimonials .swiper-container--weblinx-swiper .swiper-button {
      height: 2.1875rem;
      width: 2.1875rem; }
    .content-block--testimonials .swiper-container--weblinx-swiper .swiper-button-prev {
      left: -0.625rem; }
    .content-block--testimonials .swiper-container--weblinx-swiper .swiper-button-next {
      right: -0.625rem; } }

/* ------------------------------------------------------------------------ *\
 * Footer
\* ------------------------------------------------------------------------ */
.footer-block {
  position: relative;
  z-index: 1; }

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

.footer__inner {
  background: linear-gradient(to bottom, #060043 50%, #060041 65%, #05040D 85%);
  margin: 0 auto;
  max-width: 1400px;
  max-width: 87.5rem;
  padding: 60px 25px;
  padding: 3.75rem 1.5625rem; }

.footer__button.button {
  border-radius: 0.5625em;
  font-size: 1em;
  margin-bottom: 1.4375em;
  padding: 0.875em 1.75em; }

.footer__text {
  color: #FFFFFF;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.4375em;
  margin-bottom: 1.375em; }

.footer__text .link, .footer__text .user-content a[href^="tel:"], .user-content .footer__text a[href^="tel:"] {
  font-weight: 500; }

.footer__text.text--alt {
  font-size: 0.9375em;
  line-height: 1.46667em;
  opacity: 0.2; }

.footer__text.text--address:not(:last-child) {
  margin-bottom: 0; }

.footer__text .text__link:not(.link--inherit) {
  color: #7CC8F9; }

.footer__text .text__link.link--inherit, .footer__text .title .text__link.link, .title .footer__text .text__link.link, .footer__text .user-content h1 .text__link.link, .user-content h1 .footer__text .text__link.link, .footer__text .user-content h2 .text__link.link, .user-content h2 .footer__text .text__link.link, .footer__text .user-content h3 .text__link.link, .user-content h3 .footer__text .text__link.link, .footer__text .user-content h4 .text__link.link, .user-content h4 .footer__text .text__link.link, .footer__text .user-content h5 .text__link.link, .user-content h5 .footer__text .text__link.link, .footer__text .title .user-content a.text__link[href^="tel:"], .title .user-content .footer__text a.text__link[href^="tel:"], .footer__text .user-content .title a.text__link[href^="tel:"], .user-content .title .footer__text a.text__link[href^="tel:"], .footer__text .user-content h1 a.text__link[href^="tel:"], .user-content h1 .footer__text a.text__link[href^="tel:"], .footer__text .user-content h2 a.text__link[href^="tel:"], .user-content h2 .footer__text a.text__link[href^="tel:"], .footer__text .user-content h3 a.text__link[href^="tel:"], .user-content h3 .footer__text a.text__link[href^="tel:"], .footer__text .user-content h4 a.text__link[href^="tel:"], .user-content h4 .footer__text a.text__link[href^="tel:"], .footer__text .user-content h5 a.text__link[href^="tel:"], .user-content h5 .footer__text a.text__link[href^="tel:"] {
  color: #FFFFFF; }

.footer__text .button {
  font-size: 0.875em; }

@media (max-width: 63.9375em) {
  .footer__text .text,
  .footer__text .footer__text,
  .footer__text .title,
  .footer__text .user-content h1,
  .user-content .footer__text h1,
  .footer__text .user-content h2,
  .user-content .footer__text h2,
  .footer__text .user-content h3,
  .user-content .footer__text h3,
  .footer__text .user-content h4,
  .user-content .footer__text h4,
  .footer__text .user-content h5,
  .user-content .footer__text h5,
  .footer__text .footer__title {
    text-align: center; } }

.footer__logo {
  margin: 0em auto 2em;
  max-width: 100%;
  opacity: 1;
  transition: opacity 0.15s;
  width: 17.5em; }

.footer__image {
  margin-bottom: 1.375em;
  max-width: 100%;
  width: 24.3125em; }

/* fullbleed variant */
.footer-block--fullbleed {
  background-color: #2A2375;
  padding: 60px 25px;
  padding: 3.75rem 1.5625rem; }

.footer-block--fullbleed > .footer__inner {
  background: none;
  padding: 0; }

.footer-block--fullbleed > .footer__inner--fullbleed {
  max-width: none; }

.footer__menu-list__container {
  max-width: 100%;
  width: 100%; }

@media (min-width: 64em) {
  .footer__menu-list__container {
    width: 29.375rem; } }

@media (min-width: 30em) {
  /* ------------------------------------------------------------------------ *\
 * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Layout
\* ------------------------------------------------------------------------ */ }

@media (min-width: 40em) {
  /* ------------------------------------------------------------------------ *\
 * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Layout
\* ------------------------------------------------------------------------ */ }

@media (min-width: 48em) {
  /* ------------------------------------------------------------------------ *\
 * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Article
\* ------------------------------------------------------------------------ */
  .article__figure__caption {
    align-items: flex-start;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 66.66667%, rgba(0, 0, 0, 0.6) 85%);
    justify-content: flex-end;
    padding: 1.5625rem 2.5rem; }
  /* product-excerpt variant */
  .article--product-excerpt {
    max-width: none; }
  /* ------------------------------------------------------------------------ *\
 * Callout
\* ------------------------------------------------------------------------ */ }

@media (min-width: 48em) and (max-width: 85.3125em) {
  .callout {
    font-size: 1.125vw; } }

@media (min-width: 48em) {
  /* ------------------------------------------------------------------------ *\
 * Columns
\* ------------------------------------------------------------------------ */
  .columns--2 {
    columns: 2; }
  .columns--3 {
    columns: 3; }
  .columns--4 {
    columns: 4; }
  .columns--5 {
    columns: 5; }
  .columns--6 {
    columns: 6; }
  .columns--7 {
    columns: 7; }
  .columns--8 {
    columns: 8; }
  .columns--9 {
    columns: 9; }
  .columns--10 {
    columns: 10; }
  .columns--11 {
    columns: 11; }
  .columns--12 {
    columns: 12; }
  .columns {
    break-inside: avoid;
    margin-bottom: 1.875rem; }
  .columns .text__list-item {
    break-inside: avoid; }
  /* ------------------------------------------------------------------------ *\
 * Layout
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Header
\* ------------------------------------------------------------------------ */
  .header__inner {
    padding-bottom: 1.5625rem; }
  .header__inner .header__title {
    font-weight: 500; }
  .header__inner .header__button {
    background-color: #E11A1A;
    border-radius: 0em 0em 0.64286em 0.64286em;
    box-shadow: 0rem 0.125rem 0rem 0rem rgba(0, 0, 0, 0.23);
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 500;
    margin: 0rem 0rem -0.625rem 0rem;
    padding: 0.9375rem 1.125rem; }
  .header__inner .header__button:hover {
    background-color: #F08F8F;
    color: #FFFFFF; }
  .header__row.header__row--first::before {
    right: 1.5625rem; }
  /* ------------------------------------------------------------------------ *\
 * Content
\* ------------------------------------------------------------------------ */
  .hero-block + .content-block:not(.content-block--fullbleed) > .content__inner {
    padding-top: 3.4375rem; }
  .content__sidebar {
    width: 25.75em; }
  .content__sidebar.content__sidebar--alt {
    position: relative;
    width: 25.75em; }
  .content__sidebar.content__sidebar--alt::after {
    background-color: #2A2A2A;
    bottom: -5.625rem;
    content: "";
    left: 0;
    position: absolute;
    top: -6.875rem;
    width: 100vw;
    z-index: -1; }
  /* fullbleed variant */
  .content-block--fullbleed {
    padding: 6.875rem 1.5625rem 5.625rem; } }

@media (min-width: 53.3125em) {
  /* ------------------------------------------------------------------------ *\
 * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Layout
\* ------------------------------------------------------------------------ */ }

@media (min-width: 60em) {
  /* ------------------------------------------------------------------------ *\
 * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Layout
\* ------------------------------------------------------------------------ */ }

@media (min-width: 64em) {
  /* ------------------------------------------------------------------------ *\
 * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Tabby (https://github.com/cferdinandi/tabby#readme)
\* ------------------------------------------------------------------------ */
  .tabby__tab__content {
    padding: 2.5rem; }
  /* ------------------------------------------------------------------------ *\
 * Layout
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Header
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Hero
\* ------------------------------------------------------------------------ */
  .hero__product-filter > * {
    position: relative;
    z-index: 1; }
  .hero__product-filter .product-filter__button {
    box-shadow: 0rem 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
    margin-bottom: 0; }
  .hero__product-filter .product-filter__input {
    margin-bottom: 0; }
  .hero__product-filter .product-filter__title,
  .hero__product-filter .product-filter__text {
    color: #FFFFFF; }
  /* ------------------------------------------------------------------------ *\
 * Content
\* ------------------------------------------------------------------------ */
  .content__sidebar {
    width: 25.75em; }
  /* alt variant */
  .content-block--alt .content__article .article__user-content > :last-child {
    margin-bottom: 0 !important; }
  .content__sidebar.content__sidebar--alt {
    margin-right: -3.125rem; }
  /* ------------------------------------------------------------------------ *\
 * Footer
\* ------------------------------------------------------------------------ */
  .footer-block {
    text-align: left; }
  .footer__button {
    margin-bottom: 0; }
  .footer__button.button--offset {
    margin-top: 2em; }
  .footer__text.text--offset {
    margin-top: 1.77778em; }
  .footer__logo {
    margin: 0em 0em 0.75em;
    width: 18.25em; }
  /* fullbleed variant */ }

@media (min-width: 80em) {
  /* ------------------------------------------------------------------------ *\
 * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Layout
\* ------------------------------------------------------------------------ */ }

@media (min-width: 85.375em) {
  /* ------------------------------------------------------------------------ *\
 * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Layout
\* ------------------------------------------------------------------------ */ }

@media (min-width: 90em) {
  /* ------------------------------------------------------------------------ *\
 * Module
\* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
 * Layout
\* ------------------------------------------------------------------------ */ }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vZGVybi5jc3MiLCJoZWxwZXJzL19oZWxwZXJzLnNjc3MiLCJoZWxwZXJzL19taXhpbnMuc2NzcyIsImhlbHBlcnMvX2Z1bmN0aW9ucy5zY3NzIiwiaGVscGVycy9fdmFyaWFibGVzLnNjc3MiLCJ2aWV3cy9fc2NyZWVuLnNjc3MiLCJiYXNlL25vcm1hbGl6ZS9fbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCJiYXNlL2ZvbnRzL19naWxyb3kuc2NzcyIsImJhc2UvZ3JpZC9fZ3JpZC5zY3NzIiwiYmFzZS9hbGlnbi9fYWxpZ24uc2NzcyIsImJhc2UvYnV0dG9uL19idXR0b24uc2NzcyIsImJhc2UvZGl2aWRlci9fZGl2aWRlci5zY3NzIiwiYmFzZS9pbnB1dC9faW5wdXQuc2NzcyIsImJhc2UvbGluay9fbGluay5zY3NzIiwiYmFzZS90aXRsZS9fdGl0bGUuc2NzcyIsIjxubyBzb3VyY2U+IiwiYmFzZS90ZXh0L190ZXh0LnNjc3MiLCJiYXNlL2Jsb2NrcXVvdGUvX2Jsb2NrcXVvdGUuc2NzcyIsImJhc2UvdXNlci1jb250ZW50L191c2VyLWNvbnRlbnQuc2NzcyIsIm1vZHVsZS9hY2NvcmRpb24vX2FjY29yZGlvbi5zY3NzIiwibW9kdWxlL2FydGljbGUvX2FydGljbGUuc2NzcyIsIm1vZHVsZS9jYWxsb3V0L19jYWxsb3V0LnNjc3MiLCJtb2R1bGUvZXdkLW90cC1mb3JtL19ld2Qtb3RwLWZvcm0uc2NzcyIsIm1vZHVsZS9pZnJhbWUvX2lmcmFtZS5zY3NzIiwibW9kdWxlL2xvZ28vX2xvZ28uc2NzcyIsIm1vZHVsZS9tZW51LWxpc3QvX21lbnUtbGlzdC5zY3NzIiwibW9kdWxlL25pbmphLWZvcm1zL19uaW5qYS1mb3Jtcy5zY3NzIiwibW9kdWxlL25vdHkvX25vdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3R5L3NyYy9ub3R5LnNjc3MiLCJtb2R1bGUvbm91aXNsaWRlci9fbm91aXNsaWRlci5zY3NzIiwiLi4vLi4vLi4vbm91aXNsaWRlci9kaXN0cmlidXRlL25vdWlzbGlkZXIiLCJtb2R1bGUvcGFuZWwtdG9nZ2xlL19wYW5lbC10b2dnbGUuc2NzcyIsIm1vZHVsZS9waG90b3N3aXBlL19waG90b3N3aXBlLnNjc3MiLCIuLi8uLi8uLi9waG90b3N3aXBlL2Rpc3QvcGhvdG9zd2lwZSIsIi4uLy4uLy4uL3Bob3Rvc3dpcGUvZGlzdC9kZWZhdWx0LXNraW4vZGVmYXVsdC1za2luIiwibW9kdWxlL3Byb2R1Y3QtZmlsdGVyL19wcm9kdWN0LWZpbHRlci5zY3NzIiwibW9kdWxlL3B3YS1pbnN0YWxsLXByb21wdC9fcHdhLWluc3RhbGwtcHJvbXB0LnNjc3MiLCIuLi8uLi8uLi9wd2EtaW5zdGFsbC1wcm9tcHQvc3R5bGUiLCJtb2R1bGUvc2Nyb2xsLWhpbnQvX3Njcm9sbC1oaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Nyb2xsLWhpbnQvc2Nzcy9zY3JvbGwtaGludC5zY3NzIiwibW9kdWxlL3NlYXJjaC1mb3JtL19zZWFyY2gtZm9ybS5zY3NzIiwibW9kdWxlL3NraXAtbGlua3MvX3NraXAtbGlua3Muc2NzcyIsIm1vZHVsZS9zaGFyZS1hcGktcG9seWZpbGwvX3NoYXJlLWFwaS1wb2x5ZmlsbC5zY3NzIiwibW9kdWxlL3NsaWRlb3V0L19zbGlkZW91dC5zY3NzIiwiLi4vLi4vLi4vc2xpZGVvdXQvaW5kZXgiLCJtb2R1bGUvc3dpcGVyL19zd2lwZXIuc2NzcyIsIi4uLy4uLy4uL3N3aXBlci9kaXN0L2Nzcy9zd2lwZXIiLCJtb2R1bGUvdGFiYnkvX3RhYmJ5LnNjc3MiLCJtb2R1bGUvdGVzdGltb25pYWwvX3Rlc3RpbW9uaWFsLnNjc3MiLCJtb2R1bGUvdGlsZWQtZ2FsbGVyeS9fdGlsZWQtZ2FsbGVyeS5zY3NzIiwibW9kdWxlL3Rvb2x0aXAvX3Rvb2x0aXAuc2NzcyIsIm1vZHVsZS93cC1jYXB0aW9uL193cC1jYXB0aW9uLnNjc3MiLCJsYXlvdXQvcGFnZS9fcGFnZS5zY3NzIiwibGF5b3V0L2hlYWRlci9faGVhZGVyLnNjc3MiLCJsYXlvdXQvbmF2aWdhdGlvbi9fbmF2aWdhdGlvbi5zY3NzIiwibGF5b3V0L2hlcm8vX2hlcm8uc2NzcyIsImxheW91dC9jb250ZW50L19jb250ZW50LnNjc3MiLCJsYXlvdXQvZm9vdGVyL19mb290ZXIuc2NzcyIsInZpZXdzL19zY3JlZW5feHh4cy5zY3NzIiwidmlld3MvX3NjcmVlbl94eHMuc2NzcyIsInZpZXdzL19zY3JlZW5feHMuc2NzcyIsIm1vZHVsZS9hcnRpY2xlL19hcnRpY2xlX3hzLnNjc3MiLCJtb2R1bGUvY2FsbG91dC9fY2FsbG91dF94cy5zY3NzIiwibW9kdWxlL2NvbHVtbnMvX2NvbHVtbnNfeHMuc2NzcyIsImxheW91dC9oZWFkZXIvX2hlYWRlcl94cy5zY3NzIiwibGF5b3V0L2NvbnRlbnQvX2NvbnRlbnRfeHMuc2NzcyIsInZpZXdzL19zY3JlZW5fcy5zY3NzIiwidmlld3MvX3NjcmVlbl9tLnNjc3MiLCJ2aWV3cy9fc2NyZWVuX2wuc2NzcyIsIm1vZHVsZS90YWJieS9fdGFiYnlfbC5zY3NzIiwibGF5b3V0L2hlYWRlci9faGVhZGVyX2wuc2NzcyIsImxheW91dC9oZXJvL19oZXJvX2wuc2NzcyIsImxheW91dC9jb250ZW50L19jb250ZW50X2wuc2NzcyIsImxheW91dC9mb290ZXIvX2Zvb3Rlcl9sLnNjc3MiLCJ2aWV3cy9fc2NyZWVuX3hsLnNjc3MiLCJ2aWV3cy9fc2NyZWVuX3h4bC5zY3NzIiwidmlld3MvX3NjcmVlbl94eHhsLnNjc3MiXSwibmFtZXMiOltdLCJtYXBw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cEQvQixjVmtDcUQ7RVVqQ3JELGdCQUFnQjtFQUNoQixTVmdDcUQ7RVVoQ3JELGFWZ0NxRDtFVS9CckQsc0JWK0JxRDtFVTlCckQsbUNWOEJxRDtFVTdCckQsVUFBVTtFQUNWLDRCVjRCcUQ7RVUzQnJELGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsaUNBQWlDLEVBQUE7O0FYOEZyQztFV3BISjs7O0lBMEJRLG1CVnFCcUQ7SVVwQnJELG9CVm9CcUQsRUFBQSxFVWI1RDs7QUFsQ0Q7OztFQStCUSx5QlRiYztFU2NkLGlDQUFpQyxFQUFBOztBQUl6QyxrQkFBQTtBQUVBO0VBRVEsZVZPcUQ7RVVQckQsb0JWT3FELEVBQUE7O0FVSDdELGdCQUFBO0FBRUE7OztFQUlRLG1CVHpDYyxFQUFBOztBU3FDdEI7OztFQVFRLHlCVDlDYyxFQUFBOztBU2tEdEIscUJBQUE7QUFFQTs7O0VBSVEsbUJUbERjLEVBQUE7O0FTOEN0Qjs7O0VBUVEseUJUdkRjLEVBQUE7O0FTMkR0QixvQkFBQTtBQUVBOztFQUdRLG1CVHpFYyxFQUFBOztBU3NFdEI7O0VBT1EseUJUOUVjLEVBQUE7O0FTa0Z0QixxQkFBQTtBQUVBO0VBRVEsbUJBQW1CO0VBQ25CLFlBQVksRUFBQTs7QUM5RnBCOzs2RWRncUM2RTtBYzVwQzdFO0VBRVEsbUJWc0NjO0VVckNkLFNBQVM7RUFDVCx5QlgyQ3FEO0VXMUNyRCxXQUFXO0VBQ1gsV1h5Q3FEO0VXekNyRCxpQlh5Q3FEO0VXeENyRCxrQlh3Q3FEO0VXdkNyRCxXQUFXLEVBQUE7O0FDWm5COzs2RWY0cUM2RTtBZWhxQzdFO0VBRVEsbUJYNkJjO0VXNUJkLHlCQUE0RDtFQUE1RCwrQkFBNEQ7RUFDNUQsa0JabUNxRDtFWWxDckQsY1hxQmM7RVdwQmQsY0FBYztFQUNkLHFDWG1ENEI7RVdsRDVCLGNaK0JxRDtFWTlCckQsZ0JBQWdCO0VBQ2hCLHFCWjZCcUQ7RVk1QnJELHdCWjRCcUQ7RVkzQnJELFVBQVU7RUFDVix5Q1owQnFEO0VZekJyRCx1QkFBdUI7RUFDdkIsMEZBQTBGO0VBQzFGLFdBQVcs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QUNqTSxjQUFjO0VBQ2QsaUJ6RGlDcUQ7RXlEakNyRCxrQnpEaUNxRDtFeURoQ3JELGtCekRnQ3FEO0V5RGhDckQsMEJ6RGdDcUQsRUFBQTs7QXlENUI3RDtFQUVRLHVCekQwQnFEO0V5RHpCckQsY3pEeUJxRDtFeUR4QnJELHVCekR3QnFEO0V5RHZCckQsdUJ6RHVCcUQsRUFBQTs7QXlEbkI3RDtFQUVRLGN4RG1CYztFd0RsQmQsY3pEZ0JxRDtFeURmckQsZ0JBQWdCO0VBQ2hCLHFCekRjcUQ7RXlEYnJELHNCekRhcUQsRUFBQTs7QXlEbkI3RDtFQVVRLGdCQUFnQixFQUFBOztBQVZ4QjtFQWNRLG1CekRLcUQ7RXlESnJELHNCekRJcUQ7RXlESHJELFlBQVksRUFBQTs7QUFoQnBCO0VBb0JRLGdCQUFnQixFQUFBOztBQXBCeEI7RUF3QlEsY3hEakRjLEVBQUE7O0F3RHlCdEI7RUE0QlEsY3hEUGMsRUFBQTs7QXdEckJ0QjtFQWdDUSxrQnpEYnFELEVBQUE7O0FEdUR6RDtFMEQxRUo7Ozs7Ozs7Ozs7Ozs7O0lBd0NZLGtCQUFrQixFQUFBLEVBQ3JCOztBQUlUO0VBRVEsb0J6RDVCcUQ7RXlENkJyRCxlQUFlO0VBQ2YsVUFBVTtFQUNWLHlCQUF5QjtFQUN6QixhekRoQ3FELEVBQUE7O0F5RG9DN0Q7RUFFUSxzQnpEdENxRDtFeUR1Q3JELGVBQWU7RUFDZixnQnpEeENxRCxFQUFBOztBeUQ0QzdELHNCQUFBO0FBRUE7RUFFUSx5QnhEMUZjO0V3RDJGZCxrQnpEakRxRDtFeURpRHJELDBCekRqRHFELEVBQUE7O0F5RDhDN0Q7RUFPUSxnQkFBZ0I7RUFDaEIsVUFBVSxFQUFBOztBQVJsQjtFQVlRLGVBQWUsRUFBQTs7QUFJdkI7RUFFUSxlQUFlO0VBQ2YsV0FBVyxFQUFBOztBMURJZjtFMERQSjtJQVFZLGdCekR0RWlELEVBQUEsRXlEdUVwRDs7QTFERkw7RTJEeEhKOzs2RTdEMGxNNkU7RTZEdGxNN0U7OzZFN0R5bE02RSxFNkR2bE1DOztBM0RrSDFFO0U0RHhISjs7NkU5RGttTTZFO0U4RDlsTTdFOzs2RTlEaW1NNkUsRThEL2xNQzs7QTVEa0gxRTtFNkR4SEo7OzZFL0QwbU02RTtFZ0UxbU03RTs7NkVoRTZtTTZFO0V1QjNsTTdFO0l5Q1pRLHVCQUF1QjtJQUN2QiwwRkFBaUk7SUFDakkseUJBQXlCO0lBQ3pCLHlCN0QwQ3FELEVBQUE7RTZEdEM3RCw0QkFBQTtFekMrREE7SXlDM0RRLGVBQWUsRUFBQTtFQ2pCdkI7OzZFakV3bk02RSxFaUV0bk1DOztBL0R3RzFFO0VzQnZFSjtJeUM3QlEsa0JBQWtCLEVBQUEsRUFFekI7O0EvRGdIRztFZ0V4SEo7OzZFbEVpb002RTtFa0U1bk16RTtJQUVRLFVBSEUsRUFBQTtFQUNWO0lBRVEsVUFIRSxFQUFBO0VBQ1Y7SUFFUSxVQUhFLEVBQUE7RUFDVjtJQUVRLFVBSEUsRUFBQTtFQUNWO0lBRVEsVUFIRSxFQUFBO0VBQ1Y7SUFFUSxVQUhFLEVBQUE7RUFDVjtJQUVRLFVBSEUsRUFBQTtFQUNWO0lBRVEsVUFIRSxFQUFBO0VBQ1Y7SUFFUSxXQUhFLEVBQUE7RUFDVjtJQUVRLFdBSEUsRUFBQTtFQUNWO0lBRVEsV0FIRSxFQUFBO0VBUWQ7SUFFUSxtQkFBbUI7SUFDbkIsdUIvRG9DcUQsRUFBQTtFK0R2QzdEO0lBT1EsbUJBQW1CLEVBQUE7RUhYM0I7OzZFL0R1cE02RTtFbUUvcE03RTs7NkVuRWtxTTZFO0V3RGhvTTdFO0lXNUJRLHlCaEU2Q3FELEVBQUE7RWdFL0M3RDtJQU1RLGdCQUFnQixFQUFBO0VYd0J4QjtJV3BCUSx5Qi9EU2M7SStEUmQsMENoRW9DcUQ7SWdFbkNyRCx1REFBK0M7SUFDL0MsYy9Eb0NjO0krRG5DZCxtQmhFaUNxRDtJZ0VoQ3JELGdCQUFnQjtJQUNoQixnQ2hFK0JxRDtJZ0U5QnJELDJCaEU4QnFELEVBQUE7RXFEakI3RDtJV1RRLHlCL0RIYztJK0RJZCxjL0QyQmMsRUFBQTtFb0RnQ3RCO0lXckRRLGdCaEVtQnFELEVBQUE7RWlFbkQ3RDs7NkVwRXVyTTZFO0VvRWxyTXpFO0lBQ0ksc0JqRTZDcUQsRUFBQTtFd0QxQjdEO0lTYlEsY2pFdUNxRCxFQUFBO0V3RDFCN0Q7SVNUUSxrQkFBa0I7SUFDbEIsY2pFa0NxRCxFQUFBO0VpRXpDN0Q7SUFXUSx5QmhFc0NjO0lnRXJDZCxpQmpFNkJxRDtJaUU1QnJELFdBQVc7SUFDWCxPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLGNqRXlCcUQ7SWlFeEJyRCxZQUFZO0lBQ1osV0FBVyxFQUFBO0VBSW5CLHNCQUFBO0VUbUNBO0lTL0JRLG9DakVlcUQsRUFBQSxFaUVkeEQ7O0FsRW1GRDtFbUV4SEo7OzZFckUrc002RTtFcUUzc003RTs7NkVyRThzTTZFLEVxRTVzTUM7O0FuRWtIMUU7RW9FeEhKOzs2RXRFdXRNNkU7RXNFbnRNN0U7OzZFdEVzdE02RSxFc0VwdE1DOztBcEVrSDFFO0VxRXhISjs7NkV2RSt0TTZFO0V3RS90TTdFOzs2RXhFa3VNNkU7RWtEaHNNekU7SXNCNUJJLGVyRTZDcUQsRUFBQTtFb0U3QzdEOzs2RXZFaXVNNkU7RXlFdnVNN0U7OzZFekUwdU02RTtFMEUxdU03RTs7NkUxRTZ1TTZFO0UwRXp1TTdFO0lBRVEsa0JBQWtCO0lBQ2xCLFVBQVUsRUFBQTtFQUhsQjtJQU9RLG9EQUE0RDtJQUM1RCxnQkFBZ0IsRUFBQTtFQVJ4QjtJQVlRLGdCQUFnQixFQUFBO0VBWnhCOztJQWlCUSxjdEVnQ2MsRUFBQTtFdUVyRHRCOzs2RTNFMnZNNkU7RTJEbHVNN0U7SWdCbkJRLGN4RTZDcUQsRUFBQTtFd0V6QzdELGdCQUFBO0VBRUE7SUFHWSwyQkFBMkIsRUFBQTtFaEJVdkM7SWdCSFEsdUJ4RTZCcUQsRUFBQTtFeUVuRDdEOzs2RTVFcXdNNkU7RTREandNN0U7SWdCRVEsZ0JBQWdCLEVBQUE7RUFJeEI7SUFFUSxnQkFBZ0IsRUFBQTtFQUZ4QjtJQU1RLGV6RW1DcUQsRUFBQTtFeUUvQjdEO0lBRVEscUJ6RTZCcUQsRUFBQTtFeUQwQjdEO0lnQmpEUSxzQnpFdUJxRDtJeUV0QnJELGN6RXNCcUQsRUFBQTtFeUVsQjdELHNCQUFBLEVBQXVCOztBMUV1Rm5CO0UyRXhISjs7NkU3RXN4TTZFO0U2RWx4TTdFOzs2RTdFcXhNNkUsRTZFbnhNQzs7QTNFa0gxRTtFNEV4SEo7OzZFOUU4eE02RTtFOEUxeE03RTs7NkU5RTZ4TTZFLEU4RTN4TUM7O0E1RWtIMUU7RTZFeEhKOzs2RS9Fc3lNNkU7RStFbHlNN0U7OzZFL0VxeU02RSxFK0VueU1DIiwiZmlsZSI6Im1vZGVybi40NWQ1M2M5Yy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZWxwZXJzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNaXhpbnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZ1bmN0aW9uc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcbiAqIFJldHJpZXZlIGEgY29sb3IgdmFyaWFibGVcbiAqXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICAkY29sb3IgLSBUaGUgbmFtZSBvZiB0aGUgY29sb3IgYXMgZGVmaW5lZCBpbiBfdmFyaWFibGVzXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICAkdG9uZSAgLSBUaGUgdmFyaWFudCBvZiB0aGUgY29sb3IgKHNoYWRlfGJhc2V8dGludClcbiAqL1xuLypcbiAqIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRudW1iZXJcbiAqL1xuLypcbiAqIENvbnZlcnQgUFggdW5pdHMgaW4gdG8gRU0gb3IgUkVNLCByZWxhdGl2ZSB0byBhIHNwZWNpZmllZCBiYXNlIHNpemVzXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgJHNpemUgLSBBcnJheSBvZiB1cCB0byBmb3VyIHNpemVzIGluIFBYIHVuaXRzXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIEZvbnQgc2l6ZSB0byBiYXNlIGNhbGN1bGF0aW9ucyBvZmYgb2ZcbiAqIEBwYXJhbSAge1N0cmluZ30gICR1bml0IC0gRWl0aGVyIFwiZW1cIiBvciBcInJlbVwiXG4gKi9cbi8qXG4gKiBDb252ZXJ0IFBob3Rvc2hvcCBsZWFkaW5nIHRvIENTUyBsaW5lLWhlaWdodFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gVmFsdWUgb2YgTGVhZGluZyBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqIEBwYXJhbSAge051bWJlcn0gICRiYXNlIC0gVmFsdWUgb2YgRm9udCBTaXplIGluIFBob3Rvc29ocCdzIENoYXJhY3RlciBQYW5lbFxuICovXG4vKlxuICogQ29udmVydCBQaG90b3Nob3AgdHJhY2tpbmcgdG8gQ1NTIGxldHRlci1zcGFjaW5nXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgJHNpemUgLSBWYWx1ZSBvZiBUcmFja2luZyBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqIEBwYXJhbSAge051bWJlcn0gICRiYXNlIC0gVmFsdWUgb2YgRm9udCBTaXplIGluIFBob3Rvc29ocCdzIENoYXJhY3RlciBQYW5lbFxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb2xvcnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGb250cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogV2lkdGhzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEJyZWFrIFBvaW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXllcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLl9fZGFyayB7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cblxuLl9fbGlnaHQge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG5cbi5fX2JpZyB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtICFpbXBvcnRhbnQ7IH1cblxuLl9fc21hbGwge1xuICBmb250LXNpemU6IDAuNzVlbSAhaW1wb3J0YW50OyB9XG5cbi5fX2JvbGQge1xuICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7IH1cblxuLl9faXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLl9fbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi5fX3VwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4uX190ZXh0Y2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLl9fdGV4dGxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLl9fdGV4dHJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uX19ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLl9fY2VudGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLl9fbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLl9fcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uX19ub21hcmdpbiB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi5fX25vcGFkZGluZyB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4uX19ub3RyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5fX25vdHJhbnNpdGlvbiB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uX19ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLl9fZmxleCB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuXG4uX192aXN1YWxseWhpZGRlbiB7XG4gIGxlZnQ6IC05OTllbSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAtOTk5ZW0gIWltcG9ydGFudDsgfVxuXG4uX19wcmltYXJ5IHtcbiAgY29sb3I6ICMxNTc4QjkgIWltcG9ydGFudDsgfVxuXG4uX19hY2NlbnQge1xuICBjb2xvcjogI0UxMUExQSAhaW1wb3J0YW50OyB9XG5cbi5fX2Vycm9yIHtcbiAgY29sb3I6ICNFMTFBMUEgIWltcG9ydGFudDsgfVxuXG4uX193MTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4vKiB2aXNpYmlsaXR5IGNsYXNzZXMgKi9cbkBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAuX190b3VjaCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQHN1cHBvcnRzIG5vdCAocG9pbnRlcjogZmluZSkge1xuICAuX190b3VjaCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgLl9fbW91c2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5fX25vcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIFwidmlzaWJsZVwiIGNsYXNzZXMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLl9fdmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUzLjI1ZW0pIHtcbiAgLl9fdmlzaWJsZS1zIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTkuOTM3NWVtKSB7XG4gIC5fX3Zpc2libGUtbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuX192aXNpYmxlLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLl9fdmlzaWJsZS14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAuX192aXNpYmxlLXh4bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogXCJoaWRkZW5cIiBjbGFzc2VzIC0tIE5PVEU6IEl0IGlzIGltcG9ydGFudCB0aGF0IF9oaWRkZW4gY2xhc3NlcyBjb21lIGFmdGVyIF92aXNpYmxlIGZvciBvdmVycmlkZSBwdXJwb3NlcyAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLl9faGlkZGVuLXhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTMuMzEyNWVtKSB7XG4gIC5fX2hpZGRlbi1zIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuX19oaWRkZW4tbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLl9faGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5fX2hpZGRlbi14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gIC5fX2hpZGRlbi14eGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEJhc2VcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE5vcm1hbGl6ZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCwgc2VsZWN0b3ItbWF4LXR5cGUsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSAqL1xuLyogVGhlc2Ugc3R5bGVzIGFyZSBpbnRlbmRlZCB0byBiZSBnbG9iYWwgKi9cbi8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG4vKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbnN2ZyB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiBSZW1vdmUgb3V0bGluZSBmb3Igbm9uLWtleWJvYXJkIDpmb2N1cyAqL1xuKjpmb2N1czpub3QoLmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBHaWxyb3kgLS0gaHR0cHM6Ly93d3cuZm9udHNwcmluZy5jb20vZm9udHMvcmFkb21pci10aW5rb3YvZ2lscm95XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJHaWxyb3lcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xuICBzcmM6IHVybChcIi4uL21lZGlhL2ZvbnRzL2dpbHJveS84MDAvbm9ybWFsL3dlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL21lZGlhL2ZvbnRzL2dpbHJveS84MDAvbm9ybWFsL3dlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEdyaWQgKGJhc2VkIGxvb3NlbHkgb24gaHR0cHM6Ly92NC1hbHBoYS5nZXRib290c3RyYXAuY29tL2xheW91dC9ncmlkLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnJvdy5yb3ctLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTsgfVxuXG4ucm93LnJvdy0tZ3JpZC5yb3ctLWVxdWFsIHtcbiAgZ3JpZC1hdXRvLWNvbHVtbnM6IDFmcjtcbiAgZ3JpZC1hdXRvLXJvd3M6IDFmcjsgfVxuXG4ucm93ID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtc2hyaW5rOiAxO1xuICBtaW4td2lkdGg6IDA7IH1cblxuLnJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdLmNvbC0tbm9ncm93IHtcbiAgZmxleC1ncm93OiAwOyB9XG5cbi5yb3cgPiBbY2xhc3MqPVwiY29sLVwiXS5jb2wtLW5vc2hyaW5rIHtcbiAgZmxleC1zaHJpbms6IDA7IH1cblxuLnJvdy5yb3ctLXBhZGRlZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAyLjI1ZW0pOyB9XG5cbi5yb3cucm93LS1wYWRkZWQgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuMjVlbTsgfVxuXG4ucm93LnJvdy0tcGFkZGVkLnJvdy0tdGlnaHQge1xuICB3aWR0aDogY2FsYygxMDAlICsgMS4xMjVlbSk7IH1cblxuLnJvdy5yb3ctLXBhZGRlZC5yb3ctLXRpZ2h0ID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjEyNWVtOyB9XG5cbi5yb3cucm93LS1wYWRkZWQucm93LS1sb29zZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAzLjM3NWVtKTsgfVxuXG4ucm93LnJvdy0tcGFkZGVkLnJvdy0tbG9vc2UgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBhZGRpbmctcmlnaHQ6IDMuMzc1ZW07IH1cblxuLnJvdy5yb3ctLXBhZGRlZC5yb3ctLWxvb3NlLWV4dHJhIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDYuNzVlbSk7IH1cblxuLnJvdy5yb3ctLXBhZGRlZC5yb3ctLWxvb3NlLWV4dHJhID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwYWRkaW5nLXJpZ2h0OiA2Ljc1ZW07IH1cblxuLnJvdy5yb3ctLW5vd3JhcCB7XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbi5yb3cucm93LS13cmFwcmV2ZXJzZSB7XG4gIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOyB9XG5cbi5yb3cucm93LS1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucm93Om5vdCgucm93LS1jb2x1bW4pLnJvdy0taGNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5yb3c6bm90KC5yb3ctLWNvbHVtbikucm93LS12Y2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4ucm93Om5vdCgucm93LS1jb2x1bW4pLnJvdy0tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLnJvdzpub3QoLnJvdy0tY29sdW1uKS5yb3ctLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4ucm93Om5vdCgucm93LS1jb2x1bW4pLnJvdy0tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5yb3c6bm90KC5yb3ctLWNvbHVtbikucm93LS1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5yb3cucm93LS1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLnJvdy5yb3ctLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5yb3cucm93LS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5yb3c6bm90KC5yb3ctLWNvbHVtbikucm93LS1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5yb3cucm93LS1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5yb3cucm93LS1jb2x1bW4ucm93LS12Y2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnJvdy5yb3ctLWNvbHVtbi5yb3ctLXRvcCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ucm93LnJvdy0tY29sdW1uLnJvdy0tcmlnaHQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLnJvdy5yb3ctLWNvbHVtbi5yb3ctLWJvdHRvbSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLnJvdy5yb3ctLWNvbHVtbi5yb3ctLWxlZnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4ucm93LnJvdy0tY29sdW1uLnJvdy0taGNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnJvdy5yb3ctLWNvbHVtbi5yb3ctLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuLmNvbC1hdXRvIHtcbiAgZmxleC1iYXNpczogYXV0bzsgfVxuXG4uY29sLTAge1xuICBmbGV4LWJhc2lzOiAwJTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMDsgfVxuXG4uY29sLTEge1xuICBmbGV4LWJhc2lzOiA4LjMzMzMzJTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfVxuXG4uY29sLTIge1xuICBmbGV4LWJhc2lzOiAxNi42NjY2NyU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDI7IH1cblxuLmNvbC0zIHtcbiAgZmxleC1iYXNpczogMjUlO1xuICBncmlkLWNvbHVtbjogc3BhbiAzOyB9XG5cbi5jb2wtNCB7XG4gIGZsZXgtYmFzaXM6IDMzLjMzMzMzJTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gNDsgfVxuXG4uY29sLTUge1xuICBmbGV4LWJhc2lzOiA0MS42NjY2NyU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDU7IH1cblxuLmNvbC02IHtcbiAgZmxleC1iYXNpczogNTAlO1xuICBncmlkLWNvbHVtbjogc3BhbiA2OyB9XG5cbi5jb2wtNyB7XG4gIGZsZXgtYmFzaXM6IDU4LjMzMzMzJTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gNzsgfVxuXG4uY29sLTgge1xuICBmbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDg7IH1cblxuLmNvbC05IHtcbiAgZmxleC1iYXNpczogNzUlO1xuICBncmlkLWNvbHVtbjogc3BhbiA5OyB9XG5cbi5jb2wtMTAge1xuICBmbGV4LWJhc2lzOiA4My4zMzMzMyU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDEwOyB9XG5cbi5jb2wtMTEge1xuICBmbGV4LWJhc2lzOiA5MS42NjY2NyU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDExOyB9XG5cbi5jb2wtMTIge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBncmlkLWNvbHVtbjogc3BhbiAxMjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY29sLXhzLWF1dG8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgLmNvbC14cy0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAwOyB9XG4gIC5jb2wteHMtMSB7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfVxuICAuY29sLXhzLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyOyB9XG4gIC5jb2wteHMtMyB7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7IH1cbiAgLmNvbC14cy00IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNDsgfVxuICAuY29sLXhzLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA1OyB9XG4gIC5jb2wteHMtNiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7IH1cbiAgLmNvbC14cy03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNzsgfVxuICAuY29sLXhzLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA4OyB9XG4gIC5jb2wteHMtOSB7XG4gICAgZmxleC1iYXNpczogNzUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7IH1cbiAgLmNvbC14cy0xMCB7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEwOyB9XG4gIC5jb2wteHMtMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMTsgfVxuICAuY29sLXhzLTEyIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEyOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjMxMjVlbSkge1xuICAuY29sLXMtYXV0byB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICAuY29sLXMtMCB7XG4gICAgZmxleC1iYXNpczogMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMDsgfVxuICAuY29sLXMtMSB7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfVxuICAuY29sLXMtMiB7XG4gICAgZmxleC1iYXNpczogMTYuNjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7IH1cbiAgLmNvbC1zLTMge1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAzOyB9XG4gIC5jb2wtcy00IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNDsgfVxuICAuY29sLXMtNSB7XG4gICAgZmxleC1iYXNpczogNDEuNjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDU7IH1cbiAgLmNvbC1zLTYge1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA2OyB9XG4gIC5jb2wtcy03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNzsgfVxuICAuY29sLXMtOCB7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDg7IH1cbiAgLmNvbC1zLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA5OyB9XG4gIC5jb2wtcy0xMCB7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEwOyB9XG4gIC5jb2wtcy0xMSB7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDExOyB9XG4gIC5jb2wtcy0xMiB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5jb2wtbS1hdXRvIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIC5jb2wtbS0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAwOyB9XG4gIC5jb2wtbS0xIHtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxOyB9XG4gIC5jb2wtbS0yIHtcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjsgfVxuICAuY29sLW0tMyB7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7IH1cbiAgLmNvbC1tLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA0OyB9XG4gIC5jb2wtbS01IHtcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNTsgfVxuICAuY29sLW0tNiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7IH1cbiAgLmNvbC1tLTcge1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA3OyB9XG4gIC5jb2wtbS04IHtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gODsgfVxuICAuY29sLW0tOSB7XG4gICAgZmxleC1iYXNpczogNzUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7IH1cbiAgLmNvbC1tLTEwIHtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTA7IH1cbiAgLmNvbC1tLTExIHtcbiAgICBmbGV4LWJhc2lzOiA5MS42NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTE7IH1cbiAgLmNvbC1tLTEyIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEyOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNvbC1sLWF1dG8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgLmNvbC1sLTAge1xuICAgIGZsZXgtYmFzaXM6IDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDA7IH1cbiAgLmNvbC1sLTEge1xuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7IH1cbiAgLmNvbC1sLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyOyB9XG4gIC5jb2wtbC0zIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMzsgfVxuICAuY29sLWwtNCB7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7IH1cbiAgLmNvbC1sLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA1OyB9XG4gIC5jb2wtbC02IHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNjsgfVxuICAuY29sLWwtNyB7XG4gICAgZmxleC1iYXNpczogNTguMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7IH1cbiAgLmNvbC1sLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA4OyB9XG4gIC5jb2wtbC05IHtcbiAgICBmbGV4LWJhc2lzOiA3NSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gOTsgfVxuICAuY29sLWwtMTAge1xuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMDsgfVxuICAuY29sLWwtMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMTsgfVxuICAuY29sLWwtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTI7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuY29sLXhsLWF1dG8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgLmNvbC14bC0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAwOyB9XG4gIC5jb2wteGwtMSB7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTsgfVxuICAuY29sLXhsLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyOyB9XG4gIC5jb2wteGwtMyB7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7IH1cbiAgLmNvbC14bC00IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNDsgfVxuICAuY29sLXhsLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA1OyB9XG4gIC5jb2wteGwtNiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7IH1cbiAgLmNvbC14bC03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNzsgfVxuICAuY29sLXhsLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA4OyB9XG4gIC5jb2wteGwtOSB7XG4gICAgZmxleC1iYXNpczogNzUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7IH1cbiAgLmNvbC14bC0xMCB7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEwOyB9XG4gIC5jb2wteGwtMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMTsgfVxuICAuY29sLXhsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEyOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmNvbC14eHhsLWF1dG8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgLmNvbC14eHhsLTAge1xuICAgIGZsZXgtYmFzaXM6IDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDA7IH1cbiAgLmNvbC14eHhsLTEge1xuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7IH1cbiAgLmNvbC14eHhsLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyOyB9XG4gIC5jb2wteHh4bC0zIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMzsgfVxuICAuY29sLXh4eGwtNCB7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7IH1cbiAgLmNvbC14eHhsLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA1OyB9XG4gIC5jb2wteHh4bC02IHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNjsgfVxuICAuY29sLXh4eGwtNyB7XG4gICAgZmxleC1iYXNpczogNTguMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7IH1cbiAgLmNvbC14eHhsLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA4OyB9XG4gIC5jb2wteHh4bC05IHtcbiAgICBmbGV4LWJhc2lzOiA3NSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gOTsgfVxuICAuY29sLXh4eGwtMTAge1xuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMDsgfVxuICAuY29sLXh4eGwtMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMTsgfVxuICAuY29sLXh4eGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTI7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBBbGlnbm1lbnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hbGlnbnJpZ2h0LFxuLmFsaWdubGVmdCxcbi5hbGlnbmNlbnRlcixcbi5hbGlnbm5vbmUge1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVlbTsgfVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMS41NjI1ZW07XG4gIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMS41NjI1ZW07XG4gIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEJ1dHRvblxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmJ1dHRvbixcbi5idXR0b24tLWFjY2VudCxcbi5idXR0b24tLXJlZCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNFMTFBMUE7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC42MTExMWVtO1xuICBib3gtc2hhZG93OiAwZW0gMC4xMTExMWVtIDBlbSAwZW0gcmdiYSgwLCAwLCAwLCAwLjIzKTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGdhcDogMC42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIyMjIyZW07XG4gIG1hcmdpbjogMGVtIDEuMTExMTFlbSAxLjExMTExZW0gMGVtO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwLjk0NDQ0ZW0gMS4zODg4OWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5idXR0b24sXG4gIC5idXR0b24tLWFjY2VudCxcbiAgLmJ1dHRvbi0tcmVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuOWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuOWVtOyB9IH1cblxuLmJ1dHRvbjphY3RpdmUsXG4uYnV0dG9uLS1hY2NlbnQ6YWN0aXZlLFxuLmJ1dHRvbi0tcmVkOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMDhGOEY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsgfVxuXG4vKiBzbWFsbCB2YXJpYW50ICovXG4uYnV0dG9uLS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbi8qIGFsdCB2YXJpYW50ICovXG4uYnV0dG9uLS1hbHQsXG4uYnV0dG9uLS1zZWNvbmRhcnksXG4uYnV0dG9uLS1wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiAjMkEyMzc1OyB9XG5cbi5idXR0b24tLWFsdDphY3RpdmUsXG4uYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZlLFxuLmJ1dHRvbi0tcHVycGxlOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzkzQkI7IH1cblxuLyogdGVydGlhcnkgdmFyaWFudCAqL1xuLmJ1dHRvbi0tZGFyayxcbi5idXR0b24tLXRlcnRpYXJ5LFxuLmJ1dHRvbi1wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiAjMkEyMzc1OyB9XG5cbi5idXR0b24tLWRhcms6YWN0aXZlLFxuLmJ1dHRvbi0tdGVydGlhcnk6YWN0aXZlLFxuLmJ1dHRvbi1wdXJwbGU6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3NTA5RTsgfVxuXG4vKiBwcmltYXJ5IHZhcmlhbnQgKi9cbi5idXR0b24tLXByaW1hcnksIC5jb250ZW50LWJsb2NrLS1hbHQgLmJ1dHRvbixcbi5idXR0b24tLWJsdWUge1xuICBiYWNrZ3JvdW5kOiAjMTU3OEI5OyB9XG5cbi5idXR0b24tLXByaW1hcnk6YWN0aXZlLCAuY29udGVudC1ibG9jay0tYWx0IC5idXR0b246YWN0aXZlLFxuLmJ1dHRvbi0tYmx1ZTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0NDOEY5OyB9XG5cbi8qIGRpc2FibGVkIHZhcmlhbnQgKi9cbi5idXR0b24tLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC42OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIERpdmlkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5kaXZpZGVyIHtcbiAgYmFja2dyb3VuZDogI0Q4RDhEODtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjE1NjI1cmVtO1xuICBjbGVhcjogYm90aDtcbiAgaGVpZ2h0OiAwLjMxMjVyZW07XG4gIG1hcmdpbjogMS4yNWVtIDBlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogSW5wdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5pbnB1dCB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICM5Nzk3OTc7XG4gIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4xODc1ZW07XG4gIG1hcmdpbjogMGVtIDBlbSAxLjQzNzVlbTtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMWVtIDEuMjE4NzVlbSAwLjY4NzVlbSAxLjIxODc1ZW07XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzLCBiYWNrZ3JvdW5kLXNpemUgMC4xNXMsIGJvcmRlci1jb2xvciAwLjE1cywgY29sb3IgMC4xNXM7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pbnB1dDpub3QoLmlucHV0LS1kaXNhYmxlZCk6YWN0aXZlLCAuaW5wdXQ6bm90KC5pbnB1dC0tZGlzYWJsZWQpOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTU3OEI5OyB9XG5cbi5pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzNCM0IzQjtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBkaXNhYmxlZCB2YXJpYW50ICovXG4uaW5wdXQtLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC42OyB9XG5cbi8qIGVycm9yIHZhcmlhbnQgKi9cbi5pbnB1dC0tZXJyb3IsIC5uZi1lcnJvciAuaW5wdXQge1xuICBib3JkZXItY29sb3I6ICNFMTFBMUE7IH1cblxuLyogc3VjY2VzcyB2YXJpYW50ICovXG4uaW5wdXQtLXN1Y2Nlc3MsIC5uZi1wYXNzIC5pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogIzBBQzQwQTsgfVxuXG4vKiBzZWxlY3QgdmFyaWFudCAqL1xuLmlucHV0LS1zZWxlY3Qge1xuICBjb2xvcjogIzE1NzhCOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHRleHQtaW5kZW50OiAwLjAxcHg7IH1cbiAgLmlucHV0LS1zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmlucHV0LS1hcnJvdyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL2Zhcy1hbmdsZS1kb3duLnN2Z1wiLCBmaWxsPSMxNTc4QjkpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMS4yMTg3NWVtO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygxZW0gKyAyLjQzNzVlbSk7IH1cblxuLyogY2hlY2tib3ggJiByYWRpbyB2YXJpYW50cyAqL1xuLmlucHV0LS1jaGVja2JveCxcbi5pbnB1dC0tcmFkaW8ge1xuICBib3JkZXItd2lkdGg6IDAuMDYyNXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMS42MjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEuNjI1cmVtOyB9XG5cbi5pbnB1dC0tY2hlY2tib3g6OmFmdGVyLFxuLmlucHV0LS1yYWRpbzo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogLTk5OWVtO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cywgbGVmdCAwcyAwLjE1cywgb3BhY2l0eSAwLjE1cztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmlucHV0LS1jaGVja2JveDpjaGVja2VkOjphZnRlcixcbi5pbnB1dC0tcmFkaW86Y2hlY2tlZDo6YWZ0ZXIge1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzOyB9XG5cbi5pbnB1dC0tY2hlY2tib3ggKyAudGV4dC0tbGFiZWwsXG4uaW5wdXQtLXJhZGlvICsgLnRleHQtLWxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5pbnB1dC0tY2hlY2tib3gge1xuICBib3JkZXItcmFkaXVzOiAwLjEyNWVtO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uaW5wdXQtLWNoZWNrYm94OmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhkOGQ4OyB9XG5cbi5pbnB1dC0tY2hlY2tib3g6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvZmFyLWNoZWNrLnN2Z1wiLCBmaWxsPSMwMDAwMDApO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuMTg3NWVtIDEuMTg3NWVtO1xuICBoZWlnaHQ6IDEuMTg3NWVtO1xuICB0b3A6IC0wLjA2MjVlbTtcbiAgd2lkdGg6IDEuMTg3NWVtOyB9XG5cbi5pbnB1dC0tcmFkaW8ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLmlucHV0LS1yYWRpbzo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBzdmctbG9hZChcIi4uL21lZGlhL3ZlbmRvci9mYXMtY2lyY2xlLnN2Z1wiLCBmaWxsPSMxNTc4QjkpOyB9XG5cbi8qIHJhbmdlIHZhcmlhbnQgKi9cbi5pbnB1dF9fY29udGFpbmVyLS1yYW5nZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5pbnB1dF9fY29udGFpbmVyLS1yYW5nZS5pbnB1dF9fY29udGFpbmVyLS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNjsgfVxuXG4uaW5wdXRfX2NvbnRhaW5lci0tcmFuZ2UuaW5wdXRfX2NvbnRhaW5lci0tZGlzYWJsZWQgKiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5pbnB1dF9fY29udGFpbmVyLS1yYW5nZSAuaW5wdXRfX2NvbnRhaW5lcl9fdGV4dCB7XG4gIGNvbG9yOiAjNjI2MjYyO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZm9udC1zaXplOiAxLjE4NzVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtOyB9XG5cbi5pbnB1dF9fY29udGFpbmVyLS1yYW5nZSAuaW5wdXQsXG4uaW5wdXRfX2NvbnRhaW5lci0tcmFuZ2UgLm5vdWlzbGlkZXIge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuXG4uaW5wdXQtLXJhbmdlIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmlucHV0LS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjRDhEOEQ4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1ZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAwLjI1ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pbnB1dC0tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjOTc5Nzk3O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNTMxMjVlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDEuMDYyNWVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNDM3NWVtKTtcbiAgd2lkdGg6IDEuMDYyNWVtOyB9XG5cbi5pbnB1dC0tcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI0Q4RDhEODsgfVxuXG4uaW5wdXQtLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI0Q4RDhEODtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNWVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMC4yNWVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaW5wdXQtLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYmFja2dyb3VuZDogIzk3OTc5NztcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjUzMTI1ZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAxLjA2MjVlbTtcbiAgd2lkdGg6IDEuMDYyNWVtOyB9XG5cbi5pbnB1dC0tcmFuZ2U6Oi1tcy10cmFjayB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjEyNWVtO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAwLjI1ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pbnB1dC0tcmFuZ2U6Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZDogI0Q4RDhEODtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5pbnB1dC0tcmFuZ2U6Oi1tcy1maWxsLXVwcGVyIHtcbiAgYmFja2dyb3VuZDogI0Q4RDhEODtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5pbnB1dC0tcmFuZ2U6Oi1tcy10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICM5Nzk3OTc7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC41MzEyNWVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMS4wNjI1ZW07XG4gIHdpZHRoOiAxLjA2MjVlbTsgfVxuXG4uaW5wdXQtLXJhbmdlOmZvY3VzOjotbXMtZmlsbC1sb3dlciB7XG4gIGJhY2tncm91bmQ6ICNEOEQ4RDg7IH1cblxuLmlucHV0LS1yYW5nZTpmb2N1czo6LW1zLWZpbGwtdXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjRDhEOEQ4OyB9XG5cbi8qIHNlbGVjdCBicm93c2VyIHZhcmlhbnRzICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZSwgc2VsZWN0b3Itbm8tdmVuZG9yLXByZWZpeCwgc2VsZWN0b3ItdHlwZS1uby11bmtub3duICovXG4vKiBJRSAqL1xuXzotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG46cm9vdCAuaW5wdXQtLXNlbGVjdCB7XG4gIHBhZGRpbmc6IDAuNjg3NWVtIGNhbGMoMS4yMTg3NWVtIC0gM3B4KSBjYWxjKDAuNjg3NWVtIC0gMnB4KTsgfVxuXG5fOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbjpyb290IC5pbnB1dC0tYXJyb3cge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDFlbSArIDIuNDM3NWVtIC0gM3B4KTsgfVxuXG4vKiBDaHJvbWUgICovXG5Ac3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSkgYW5kIChmb250LXN0cmV0Y2g6IG5vcm1hbCkgYW5kIChub3QgKC1tcy1hY2NlbGVyYXRvcjogdHJ1ZSkpIHtcbiAgLmlucHV0LS1zZWxlY3Qge1xuICAgIHBhZGRpbmc6IDFlbSAxLjIxODc1ZW0gMC42ODc1ZW0gMS4yMTg3NWVtOyB9XG4gIC5pbnB1dC0tYXJyb3cge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMWVtICsgMi40Mzc1ZW0pOyB9IH1cblxuLyogU2FmYXJpICovXG5fOjotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYSxcbl86ZnV0dXJlLFxuOnJvb3QgLmlucHV0LS1zZWxlY3Qge1xuICBwYWRkaW5nOiAxZW0gMS4yMTg3NWVtIDAuNjg3NWVtIDEuMjE4NzVlbTsgfVxuXG5fOjotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYSxcbl86ZnV0dXJlLFxuOnJvb3QgLmlucHV0LS1hcnJvdyB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMWVtICsgMi40Mzc1ZW0pOyB9XG5cbi8qIEVkZ2UgKi9cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAuaW5wdXQtLXNlbGVjdCB7XG4gICAgcGFkZGluZzogY2FsYygxZW0gLSAxcHgpIGNhbGMoMS4yMTg3NWVtIC0gMnB4KSBjYWxjKDAuNjg3NWVtIC0gMXB4KSBjYWxjKDEuMjE4NzVlbSAtIDJweCk7IH1cbiAgLmlucHV0LS1hcnJvdyB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygxZW0gKyAyLjQzNzVlbSAtIDJweCk7IH0gfVxuXG4vKiBGaXJlZm94ICovXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KFwiXCIpIHtcbiAgLmlucHV0LS1zZWxlY3Qge1xuICAgIHBhZGRpbmc6IDFlbSBjYWxjKDEuMjE4NzVlbSAtIDRweCkgMC42ODc1ZW0gY2FsYygxLjIxODc1ZW0gLSA0cHgpOyB9XG4gIC5pbnB1dC0tYXJyb3cge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMWVtICsgMi40Mzc1ZW0gLSA0cHgpOyB9IH1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGlua1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmxpbmssIC51c2VyLWNvbnRlbnQgYVtocmVmXj1cInRlbDpcIl0ge1xuICBjb2xvcjogI0UxMUExQTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogODAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzOyB9XG5cbi5saW5rOmZvY3VzLCAudXNlci1jb250ZW50IGE6Zm9jdXNbaHJlZl49XCJ0ZWw6XCJdLCAubGluazpob3ZlciwgLnVzZXItY29udGVudCBhOmhvdmVyW2hyZWZePVwidGVsOlwiXSB7XG4gIGNvbG9yOiAjNjI2MjYyOyB9XG5cbi8qIGluaGVyaXQgdmFyaWFudCAqL1xuLmxpbmstLWluaGVyaXQsIC50aXRsZSAubGluaywgLnVzZXItY29udGVudCBoMSAubGluaywgLnVzZXItY29udGVudCBoMiAubGluaywgLnVzZXItY29udGVudCBoMyAubGluaywgLnVzZXItY29udGVudCBoNCAubGluaywgLnVzZXItY29udGVudCBoNSAubGluaywgLnRpdGxlIC51c2VyLWNvbnRlbnQgYVtocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgLnRpdGxlIGFbaHJlZl49XCJ0ZWw6XCJdLCAudXNlci1jb250ZW50IGgxIGFbaHJlZl49XCJ0ZWw6XCJdLCAudXNlci1jb250ZW50IGgyIGFbaHJlZl49XCJ0ZWw6XCJdLCAudXNlci1jb250ZW50IGgzIGFbaHJlZl49XCJ0ZWw6XCJdLCAudXNlci1jb250ZW50IGg0IGFbaHJlZl49XCJ0ZWw6XCJdLCAudXNlci1jb250ZW50IGg1IGFbaHJlZl49XCJ0ZWw6XCJdIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmxpbmstLWluaGVyaXQ6Zm9jdXMsIC50aXRsZSAubGluazpmb2N1cywgLnVzZXItY29udGVudCBoMSAubGluazpmb2N1cywgLnVzZXItY29udGVudCBoMiAubGluazpmb2N1cywgLnVzZXItY29udGVudCBoMyAubGluazpmb2N1cywgLnVzZXItY29udGVudCBoNCAubGluazpmb2N1cywgLnVzZXItY29udGVudCBoNSAubGluazpmb2N1cywgLnRpdGxlIC51c2VyLWNvbnRlbnQgYTpmb2N1c1tocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgLnRpdGxlIGE6Zm9jdXNbaHJlZl49XCJ0ZWw6XCJdLCAudXNlci1jb250ZW50IGgxIGE6Zm9jdXNbaHJlZl49XCJ0ZWw6XCJdLCAudXNlci1jb250ZW50IGgyIGE6Zm9jdXNbaHJlZl49XCJ0ZWw6XCJdLCAudXNlci1jb250ZW50IGgzIGE6Zm9jdXNbaHJlZl49XCJ0ZWw6XCJdLCAudXNlci1jb250ZW50IGg0IGE6Zm9jdXNbaHJlZl49XCJ0ZWw6XCJdLCAudXNlci1jb250ZW50IGg1IGE6Zm9jdXNbaHJlZl49XCJ0ZWw6XCJdLCAubGluay0taW5oZXJpdDpob3ZlciwgLnRpdGxlIC5saW5rOmhvdmVyLCAudXNlci1jb250ZW50IGgxIC5saW5rOmhvdmVyLCAudXNlci1jb250ZW50IGgyIC5saW5rOmhvdmVyLCAudXNlci1jb250ZW50IGgzIC5saW5rOmhvdmVyLCAudXNlci1jb250ZW50IGg0IC5saW5rOmhvdmVyLCAudXNlci1jb250ZW50IGg1IC5saW5rOmhvdmVyLCAudGl0bGUgLnVzZXItY29udGVudCBhOmhvdmVyW2hyZWZePVwidGVsOlwiXSwgLnVzZXItY29udGVudCAudGl0bGUgYTpob3ZlcltocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgaDEgYTpob3ZlcltocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgaDIgYTpob3ZlcltocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgaDMgYTpob3ZlcltocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgaDQgYTpob3ZlcltocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgaDUgYTpob3ZlcltocmVmXj1cInRlbDpcIl0ge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogVGl0bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi50aXRsZSwgLnVzZXItY29udGVudCBoMSxcbi51c2VyLWNvbnRlbnQgaDIsXG4udXNlci1jb250ZW50IGgzLFxuLnVzZXItY29udGVudCBoNCxcbi51c2VyLWNvbnRlbnQgaDUge1xuICBjb2xvcjogIzJBMjM3NTtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAxLjVlbSAyLjEyNWVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBsaW5lLWhlaWdodDogMS4yMzUyOWVtO1xuICBtYXJnaW46IDByZW0gMHJlbSAzLjEyNXJlbTsgfVxuXG4udGl0bGUtLWgyLFxuLnVzZXItY29udGVudCBoMiB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAxLjI1ZW0gMS42ODc1ZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMzcwNGVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjI5NjNlbTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC50aXRsZS0taDIsXG4gIC51c2VyLWNvbnRlbnQgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMWVtOyB9IH1cblxuLnRpdGxlLS1oMyxcbi51c2VyLWNvbnRlbnQgaDMge1xuICBjb2xvcjogIzJBMjM3NTtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAxLjEyNWVtIDEuNTYyNWVtO1xuICBmb250LXdlaWdodDogOTAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjkyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnRpdGxlLS1oMyxcbiAgLnVzZXItY29udGVudCBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9IH1cblxuLnRpdGxlLS1oNCxcbi51c2VyLWNvbnRlbnQgaDQge1xuICBjb2xvcjogIzJBMjM3NTtcbiAgZm9udC1yYW5nZTogNDhlbSA4MGVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMC44NzVlbSAxLjM3NWVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjA5MDkxZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAudGl0bGUtLWg0LFxuICAudXNlci1jb250ZW50IGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjA3MTQzZW07IH0gfVxuXG4udGl0bGUtLWg1LFxuLnVzZXItY29udGVudCBoNSxcbi50aXRsZS0taDYge1xuICBjb2xvcjogIzJBMkEyQTtcbiAgZm9udC1yYW5nZTogNDhlbSA4MGVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMC43NWVtIDEuMjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44NWVtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnRpdGxlLS1oNSxcbiAgLnVzZXItY29udGVudCBoNSxcbiAgLnRpdGxlLS1oNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ODMzM2VtOyB9IH1cblxuLyogZGl2aWRlciB2YXJpYW50ICovXG4udGl0bGUtLWRpdmlkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi50aXRsZS0tZGl2aWRlcjo6YmVmb3JlLCAudGl0bGUtLWRpdmlkZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI0Q4RDhEODtcbiAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDEgMSAwJTtcbiAgaGVpZ2h0OiAwLjA2MjVyZW07IH1cblxuLnRpdGxlLS1kaXZpZGVyOjpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IDFlbTsgfVxuXG4udGl0bGUtLWRpdmlkZXI6OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBUZXh0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udGV4dCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAwLjg3NWVtIDEuMTI1ZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjIyMjIyZW07XG4gIG1hcmdpbjogMGVtIDBlbSAxLjY2NjY3ZW07IH1cblxuLnRleHQgPiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQgKyAudGl0bGUsIC51c2VyLWNvbnRlbnQgLnRleHQgKyBoMSxcbi51c2VyLWNvbnRlbnQgLnRleHQgKyBoMixcbi51c2VyLWNvbnRlbnQgLnRleHQgKyBoMyxcbi51c2VyLWNvbnRlbnQgLnRleHQgKyBoNCxcbi51c2VyLWNvbnRlbnQgLnRleHQgKyBoNSxcbi50ZXh0ICsgLnRleHQtLXRhYmxlIHtcbiAgbWFyZ2luLXRvcDogNC4xMjVyZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAudGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43ODU3MWVtOyB9XG4gIC50ZXh0ICsgLnRpdGxlLCAudXNlci1jb250ZW50IC50ZXh0ICsgaDEsXG4gIC51c2VyLWNvbnRlbnQgLnRleHQgKyBoMixcbiAgLnVzZXItY29udGVudCAudGV4dCArIGgzLFxuICAudXNlci1jb250ZW50IC50ZXh0ICsgaDQsXG4gIC51c2VyLWNvbnRlbnQgLnRleHQgKyBoNSxcbiAgLnRleHQgKyAudGV4dC0tdGFibGUge1xuICAgIG1hcmdpbi10b3A6IDIuMzc1cmVtOyB9IH1cblxuLyogc2VsZWN0aW9uIHN0eWxlcyAobm8gd2hlcmUgZWxzZSB0byBwdXQgdGhpcyAqL1xuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU3OEI5O1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4vKiBsYWJlbCB2YXJpYW50ICovXG4udGV4dC0tbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogMGVtIDBlbSAwLjM3NWVtOyB9XG5cbi8qIGxpc3QgdmFyaWFudCAqL1xuLnRleHQtLWxpc3Qge1xuICBwYWRkaW5nOiAwOyB9XG5cbi50ZXh0LS1saXN0IC50ZXh0X19saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLnRleHQtLWxpc3QgLnRleHRfX2xpc3QtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4xMTExMWVtOyB9XG5cbi50ZXh0LS1saXN0IC50ZXh0LS1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwLjgzMzMzZW07IH1cblxuLnRleHQtLWxpc3QgLnRleHRfX2xpc3QtaXRlbSAubGluazpmaXJzdC1jaGlsZCAuaWNvbiwgLnRleHQtLWxpc3QgLnRleHRfX2xpc3QtaXRlbSAudXNlci1jb250ZW50IGE6Zmlyc3QtY2hpbGRbaHJlZl49XCJ0ZWw6XCJdIC5pY29uLCAudXNlci1jb250ZW50IC50ZXh0LS1saXN0IC50ZXh0X19saXN0LWl0ZW0gYTpmaXJzdC1jaGlsZFtocmVmXj1cInRlbDpcIl0gLmljb24ge1xuICBtYXJnaW46IDBlbSAwLjQ0NDQ0ZW0gMGVtIDBlbTsgfVxuXG4vKiBsaXN0IG9yZGVyZWQgdmFyaWFudCAqL1xuLnRleHQtLW9yZGVyZWQge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjc3NzhlbTsgfVxuXG4udGV4dC0tb3JkZXJlZCA+IC50ZXh0X19saXN0LWl0ZW06Om1hcmtlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LS1vcmRlcmVkID4gLnRleHRfX2xpc3QtaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMC42NjY2N2VtOyB9XG5cbi8qIGxpc3QgdW5vcmRlcmVkIHZhcmlhbnQgKi9cbi50ZXh0LS11bm9yZGVyZWQge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi50ZXh0LS11bm9yZGVyZWQgPiAudGV4dF9fbGlzdC1pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjc3Nzc4ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udGV4dC0tdW5vcmRlcmVkID4gLnRleHRfX2xpc3QtaXRlbTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwLjI3Nzc4ZW07XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjVlbTtcbiAgd2lkdGg6IDAuMjc3NzhlbTsgfVxuXG4vKiBsaXN0IGNoZWNrbWFya2VkIHZhcmlhbnQgKi9cbi50ZXh0LS1jaGVja21hcmtlZCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMi4yMjIyMmVtOyB9XG5cbi50ZXh0LS1jaGVja21hcmtlZC50ZXh0LS1saXN0LWhhbmdpbmcge1xuICBwYWRkaW5nLWxlZnQ6IDYuMTExMTFlbTsgfVxuXG4udGV4dC0tY2hlY2ttYXJrZWQgPiAudGV4dF9fbGlzdC1pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjc3Nzc4ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udGV4dC0tY2hlY2ttYXJrZWQgPiAudGV4dF9fbGlzdC1pdGVtOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBzdmctbG9hZChcIi4uL21lZGlhL3ZlbmRvci9mYXItY2hlY2suc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFlbTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMzg4ODllbTtcbiAgd2lkdGg6IDAuNDQ0NDRlbTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC50ZXh0LS1jaGVja21hcmtlZCwgLnRleHQtLWNoZWNrbWFya2VkLnRleHQtLWxpc3QtaGFuZ2luZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLyogdGFibGUgdmFyaWFudCAqL1xuLnRleHRfX3RhYmxlX19jb250YWluZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnRleHQtLXRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi50ZXh0LS10YWJsZSAudGV4dF9faGVhZGVyIHtcbiAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbi50ZXh0LS10YWJsZSAudGV4dF9fYm9keSB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxuXG4udGV4dC0tdGFibGUgLnRleHRfX2Zvb3RlciB7XG4gIGNvbG9yOiAjM0IzQjNCO1xuICBkaXNwbGF5OiB0YWJsZS1mb290ZXItZ3JvdXA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4udGV4dC0tdGFibGUgLnRleHRfX3JvdyB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuXG4udGV4dC0tdGFibGUgLnRleHRfX2NlbGwge1xuICBib3JkZXI6IDA7XG4gIG1pbi13aWR0aDogMTRlbTtcbiAgcGFkZGluZzogMWVtIDEuOTM3NWVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi50ZXh0LS10YWJsZSAudGV4dF9faGVhZGVyIC50ZXh0X19jZWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1NzhCOTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuLnRleHQtLXRhYmxlIC50ZXh0X19oZWFkZXIgLnRleHRfX2NlbGw6Zmlyc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuODEyNXJlbSAwcmVtIDByZW0gMHJlbTsgfVxuXG4udGV4dC0tdGFibGUgLnRleHRfX2hlYWRlciAudGV4dF9fY2VsbDpsYXN0LW9mLXR5cGUge1xuICBib3JkZXItcmFkaXVzOiAwcmVtIDAuODEyNXJlbSAwcmVtIDByZW07IH1cblxuLnRleHQtLXRhYmxlIC50ZXh0X19oZWFkZXIgLnRleHRfX2NlbGwsXG4udGV4dC0tdGFibGUgLnRleHRfX2JvZHkgLnRleHRfX2NlbGwtLWhlYWRlciB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLnRleHQtLXRhYmxlIC50ZXh0X19ib2R5IC50ZXh0X19jZWxsLS1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LS10YWJsZSA+IC50ZXh0X19yb3c6bnRoLWNoaWxkKGV2ZW4pIC50ZXh0X19jZWxsLFxuLnRleHQtLXRhYmxlIC50ZXh0X19ib2R5IC50ZXh0X19yb3c6bnRoLWNoaWxkKGV2ZW4pIC50ZXh0X19jZWxsIHtcbiAgYmFja2dyb3VuZDogI0Y1RjVGNTsgfVxuXG4udGV4dC0tdGFibGUgPiAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbDpmaXJzdC1jaGlsZCxcbi50ZXh0LS10YWJsZSAudGV4dF9fYm9keSAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMzc1cmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTsgfVxuXG4udGV4dC0tdGFibGUgPiAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbDpsYXN0LWNoaWxkLFxuLnRleHQtLXRhYmxlIC50ZXh0X19ib2R5IC50ZXh0X19yb3c6bnRoLWNoaWxkKGV2ZW4pIC50ZXh0X19jZWxsOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zNzVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjM3NXJlbTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBCbG9ja3F1b3RlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiAwLjEyNXJlbSBzb2xpZCAjRTExQTFBO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDBlbSAwZW0gMGVtIDAuOTM3NWVtOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFVzZXIgQ29udGVudFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnVzZXItY29udGVudCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgc2VsZWN0b3ItbWF4LXR5cGUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC51c2VyLWNvbnRlbnQgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLyogbGlnaHQgdmFyaWFudCAqL1xuLnVzZXItY29udGVudC0tbGlnaHQge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHNlbGVjdG9yLW1heC10eXBlICovXG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAudXNlci1jb250ZW50LS1saWdodCAubGluaywgLnVzZXItY29udGVudC0tbGlnaHQgLnVzZXItY29udGVudCBhW2hyZWZePVwidGVsOlwiXSwgLnVzZXItY29udGVudCAudXNlci1jb250ZW50LS1saWdodCBhW2hyZWZePVwidGVsOlwiXSxcbiAgLnVzZXItY29udGVudC0tbGlnaHQgLnRpdGxlLFxuICAudXNlci1jb250ZW50LS1saWdodCAudXNlci1jb250ZW50IGgxLFxuICAudXNlci1jb250ZW50IC51c2VyLWNvbnRlbnQtLWxpZ2h0IGgxLFxuICAudXNlci1jb250ZW50LS1saWdodCAudXNlci1jb250ZW50IGgyLFxuICAudXNlci1jb250ZW50IC51c2VyLWNvbnRlbnQtLWxpZ2h0IGgyLFxuICAudXNlci1jb250ZW50LS1saWdodCAudXNlci1jb250ZW50IGgzLFxuICAudXNlci1jb250ZW50IC51c2VyLWNvbnRlbnQtLWxpZ2h0IGgzLFxuICAudXNlci1jb250ZW50LS1saWdodCAudXNlci1jb250ZW50IGg0LFxuICAudXNlci1jb250ZW50IC51c2VyLWNvbnRlbnQtLWxpZ2h0IGg0LFxuICAudXNlci1jb250ZW50LS1saWdodCAudXNlci1jb250ZW50IGg1LFxuICAudXNlci1jb250ZW50IC51c2VyLWNvbnRlbnQtLWxpZ2h0IGg1LFxuICAudXNlci1jb250ZW50LS1saWdodCAudGV4dCxcbiAgLnVzZXItY29udGVudC0tbGlnaHQgLndwLWNhcHRpb24tdGV4dCB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBBY2NvcmRpb25cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hY2NvcmRpb24ge1xuICBiYWNrZ3JvdW5kOiAjMkEyQTJBO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG4gIGJveC1zaGFkb3c6IDByZW0gMC4xMjVyZW0gMC4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIG1hcmdpbjogMGVtIDBlbSAyLjVlbTsgfVxuXG4uYWNjb3JkaW9uX19zdW1tYXJ5IHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjM1MjllbTtcbiAgcGFkZGluZzogMC43MDU4OGVtIDEuMTc2NDdlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uYWNjb3JkaW9uX19zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNjb3JkaW9uX19zdW1tYXJ5IC5hY2NvcmRpb25fX3N1bW1hcnlfX2ljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNTg4MjRlbTsgfVxuXG4uYWNjb3JkaW9uW29wZW5dIC5hY2NvcmRpb25fX3N1bW1hcnkgLmFjY29yZGlvbl9fc3VtbWFyeV9faWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLmFjY29yZGlvbl9fY29udGVudCB7XG4gIHBhZGRpbmc6IDAuNzVlbSAxLjI1ZW07IH1cblxuLmFjY29yZGlvbl9fcHJvZHVjdC1maWx0ZXIgLnByb2R1Y3QtZmlsdGVyX190aXRsZSxcbi5hY2NvcmRpb25fX3Byb2R1Y3QtZmlsdGVyIC5wcm9kdWN0LWZpbHRlcl9fdGV4dCxcbi5hY2NvcmRpb25fX3Byb2R1Y3QtZmlsdGVyIC5wcm9kdWN0LWZpbHRlcl9faW5wdXRfX2NvbnRhaW5lciAuaW5wdXRfX2NvbnRhaW5lcl9fdGV4dCB7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEFydGljbGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hcnRpY2xlX19maWd1cmUge1xuICBtYXJnaW46IDBlbSAwZW0gMS44NzVlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5hcnRpY2xlX19maWd1cmVfX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hcnRpY2xlX19maWd1cmVfX2NhcHRpb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuNjY2NjY3KSA1MCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDAuNzgxMjVyZW0gMS4yNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hcnRpY2xlX19maWd1cmVfX3RpdGxlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuXG4uYXJ0aWNsZV9fZmlndXJlX190aXRsZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYXJ0aWNsZV9fZmlndXJlX19tZW51LWxpc3RfX2NvbnRhaW5lciAubWVudS1saXN0LS1tZXRhIHtcbiAgY29sb3I6ICNmMmYyZjI7IH1cblxuLyogZXhjZXJwdCB2YXJpYW50ICovXG4uYXJ0aWNsZS0tZXhjZXJwdCArIC5hcnRpY2xlLS1leGNlcnB0IHtcbiAgYm9yZGVyLXRvcDogMC4wNjI1cmVtIHNvbGlkICNEOEQ4RDg7XG4gIHBhZGRpbmctdG9wOiAxZW07IH1cblxuLmFydGljbGUtLWV4Y2VycHQgLmFydGljbGVfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG5cbi5hcnRpY2xlLS1leGNlcnB0IC5hcnRpY2xlX19oZWFkZXIgPiAuYXJ0aWNsZV9fdGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmFydGljbGUtLWV4Y2VycHQgLmFydGljbGVfX2hlYWRlciA+IC5hcnRpY2xlX190aXRsZTpub3QoOmxhc3QtY2hpbGQpICsgKiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1ZW07IH1cblxuLyogcHJvZHVjdC1leGNlcnB0IHZhcmlhbnQgKi9cbi5hcnRpY2xlLS1wcm9kdWN0LWV4Y2VycHQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjRDhEOEQ4O1xuICBtYXJnaW46IDByZW0gYXV0byAyLjVyZW07XG4gIG1heC13aWR0aDogMTUuMzEyNWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAyLjYyNWVtOyB9XG5cbi5hcnRpY2xlLS1wcm9kdWN0LWV4Y2VycHQgPiAuYXJ0aWNsZV9fbGluayB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hcnRpY2xlLS1wcm9kdWN0LWV4Y2VycHQuYXJ0aWNsZS0taGFzLWltYWdlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLmFydGljbGUtLXByb2R1Y3QtZXhjZXJwdCAuYXJ0aWNsZV9fZmlndXJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMS4yNWVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDBlbSAwZW0gMC45Mzc1ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hcnRpY2xlLS1wcm9kdWN0LWV4Y2VycHQgLmFydGljbGVfX2ZpZ3VyZV9faW1hZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hcnRpY2xlLS1wcm9kdWN0LWV4Y2VycHQgLmFydGljbGVfX3RpdGxlIHtcbiAgY29sb3I6ICMyQTIzNzU7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5hcnRpY2xlLS1wcm9kdWN0LWV4Y2VycHQgLmFydGljbGVfX2NvbnRlbnQge1xuICBtYXJnaW46IDEuMjVlbSAxLjU2MjVlbTsgfVxuXG4vKiBwcm9kdWN0LW1pbmkgdmFyaWFudCAqL1xuLmFydGljbGUtLXByb2R1Y3QtbWluaSB7XG4gIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNEOEQ4RDg7XG4gIG1hcmdpbjogMHJlbSAwcmVtIDAuOTM3NXJlbTtcbiAgcGFkZGluZzogMHJlbSAwcmVtIDAuOTM3NXJlbTsgfVxuXG4uYXJ0aWNsZS0tcHJvZHVjdC1taW5pIC5hcnRpY2xlX19maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiA2LjI1cmVtOyB9XG5cbi5hcnRpY2xlLS1wcm9kdWN0LW1pbmkgLmFydGljbGVfX3RpdGxlIHtcbiAgY29sb3I6ICMxNTc4Qjk7XG4gIGZvbnQtc2l6ZTogMS4zNzVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ2FsbG91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvbnRlbnQtYmxvY2stLWNhbGxvdXRzIHtcbiAgcGFkZGluZy1ib3R0b206IDQuODc1cmVtOyB9XG5cbi5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyAudGl0bGUsIC5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyAudXNlci1jb250ZW50IGgxLCAudXNlci1jb250ZW50IC5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyBoMSxcbi5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyAudXNlci1jb250ZW50IGgyLCAudXNlci1jb250ZW50IC5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyBoMixcbi5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyAudXNlci1jb250ZW50IGgzLCAudXNlci1jb250ZW50IC5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyBoMyxcbi5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyAudXNlci1jb250ZW50IGg0LCAudXNlci1jb250ZW50IC5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyBoNCxcbi5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyAudXNlci1jb250ZW50IGg1LCAudXNlci1jb250ZW50IC5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyBoNSB7XG4gIGZvbnQtcmFuZ2U6IDQ4ZW0gODBlbTtcbiAgZm9udC1zaXplOiByZXNwb25zaXZlIDEuNWVtIDIuMTI1ZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjIzNTI5ZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyAuY2FsbG91dC0tbW9yZSxcbi5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyAuY29udGVudF9fcG9zdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNvbnRlbnQtYmxvY2stLWNhbGxvdXRzIC50aXRsZSwgLmNvbnRlbnQtYmxvY2stLWNhbGxvdXRzIC51c2VyLWNvbnRlbnQgaDEsIC51c2VyLWNvbnRlbnQgLmNvbnRlbnQtYmxvY2stLWNhbGxvdXRzIGgxLFxuICAuY29udGVudC1ibG9jay0tY2FsbG91dHMgLnVzZXItY29udGVudCBoMiwgLnVzZXItY29udGVudCAuY29udGVudC1ibG9jay0tY2FsbG91dHMgaDIsXG4gIC5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyAudXNlci1jb250ZW50IGgzLCAudXNlci1jb250ZW50IC5jb250ZW50LWJsb2NrLS1jYWxsb3V0cyBoMyxcbiAgLmNvbnRlbnQtYmxvY2stLWNhbGxvdXRzIC51c2VyLWNvbnRlbnQgaDQsIC51c2VyLWNvbnRlbnQgLmNvbnRlbnQtYmxvY2stLWNhbGxvdXRzIGg0LFxuICAuY29udGVudC1ibG9jay0tY2FsbG91dHMgLnVzZXItY29udGVudCBoNSwgLnVzZXItY29udGVudCAuY29udGVudC1ibG9jay0tY2FsbG91dHMgaDUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNvbnRlbnQtYmxvY2stLWNhbGxvdXRzIC50aXRsZS0tY2FsbG91dC1saWdodCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMS45Mzc1cmVtOyB9IH1cblxuLmNhbGxvdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwcmVtIDByZW0gMC42MjVyZW07XG4gIG1heC13aWR0aDogMTEuNTYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jYWxsb3V0X190ZXh0IHtcbiAgY29sb3I6ICMyQTIzNzU7XG4gIGZvbnQtcmFuZ2U6IDQ4ZW0gODBlbTtcbiAgZm9udC1zaXplOiByZXNwb25zaXZlIDAuODc1ZW0gMS4xMjVlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjE4NzVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jYWxsb3V0LS1tb3JlIC5jYWxsb3V0X190ZXh0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMxNTc4Qjk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgZ2FwOiAwLjM4ODg5ZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5jYWxsb3V0LS1tb3JlIC5jYWxsb3V0X190ZXh0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuLmNhbGxvdXRfX2ljb24ge1xuICBjb2xvcjogIzE1NzhCOTtcbiAgZm9udC1yYW5nZTogNDhlbSA4MGVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMS4yODU3MWVtIDNlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDAuMTI5NjNlbTsgfVxuXG4uY2FsbG91dF9faW1hZ2Uge1xuICBhc3BlY3QtcmF0aW86IDIwOC8xNTI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjgxMjVyZW07XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2FsbG91dF9fc2l6ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTU3OEI5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNzAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2FsbG91dC0tbW9yZSB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS41NjI1cmVtOyB9XG5cbi5jYWxsb3V0LS1vdmVybGF5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jYWxsb3V0LS1vdmVybGF5OjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjMDAwMDAwIDAlLCByZ2JhKDAsIDAsIDAsIDApIDYwJSk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGluc2V0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7IH1cblxuLmNhbGxvdXQtLW92ZXJsYXkgLmNhbGxvdXRfX2ltYWdlIHtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7IH1cblxuLmNhbGxvdXQtLW92ZXJsYXkgLmNhbGxvdXRfX3RleHQge1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBsZWZ0OiAwO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDEuMTg3NXJlbSAwLjgxMjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAzOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE9yZGVyIFRyYWNraW5nIC0gV29yZFByZXNzIFN0YXR1cyBUcmFja2luZyBQbHVnaW5cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC1pZCAqL1xuI2V3ZC1vdHAtZW5kaW5nLXN0YXR1cyB7XG4gIHRvcDogMDsgfVxuXG4uZXdkLW90cC1zdGF0dXNlcyAuZXdkLW90cC1mb3JtX190ZXh0LFxuLmV3ZC1vdHAtdHJhY2tpbmctcmVzdWx0cy1maWVsZCAuZXdkLW90cC1mb3JtX190ZXh0LFxuLmV3ZC1vdHAtdHJhY2tpbmctcmVzdWx0cy1jdXN0b20tZmllbGRzIC5ld2Qtb3RwLWZvcm1fX3RleHQsXG4uZXdkLW90cC1zdGF0dXMtbGFiZWwgLmV3ZC1vdHAtZm9ybV9fdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmV3ZC1vdHAtc3RhdHVzLWxhYmVsOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgYmFja2dyb3VuZDogI0Q4RDhEODsgfVxuXG4uZXdkLW90cC1zdGF0dXMtbGFiZWwgLmV3ZC1vdHAtc3RhdHVzZXM6Zmlyc3QtY2hpbGQgLmV3ZC1vdHAtZm9ybV9fdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuI2V3ZC1vdHAtcHJvZ3Jlc3NiYXItcm91bmQgLnJvdW5kIHtcbiAgYmFja2dyb3VuZDogI0UxMUExQTsgfVxuXG4uZXdkLW90cC1zdGF0dXNlcyB7XG4gIGZvbnQtc2l6ZTogMC43NWVtOyB9XG5cbi5ld2Qtb3RwLXRyYWNraW5nLXJlc3VsdHMtY3VzdG9tLWZpZWxkcyxcbi5ld2Qtb3RwLWZyb250LWVuZC11cGRhdGUtZm9ybSB7XG4gIG1hcmdpbi10b3A6IDJlbTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBpZnJhbWVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5pZnJhbWVfX2NvbnRhaW5lciB7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaWZyYW1lX19jb250YWluZXIgPiAuaWZyYW1lIHtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTG9nb1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubG9nbzpob3ZlciB7XG4gIG9wYWNpdHk6IDAuOTsgfVxuXG4ubG9nb19faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTWVudSBMaXN0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09IEdMT0JBTCBWQVJJQU5UUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tZW51LWxpc3RfX2NvbnRhaW5lciB7XG4gIGNsZWFyOiBmaXg7IH1cblxuLm1lbnUtbGlzdCB7XG4gIGNsZWFyOiBmaXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubWVudS1saXN0X19pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubWVudS1saXN0X19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMDsgfVxuXG4ubWVudS1saXN0X190b2dnbGUgPiAudG9nZ2xlX19pY29uIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzOyB9XG5cbi5tZW51LWxpc3RfX2l0ZW0uaXMtYWN0aXZlID4gLm1lbnUtbGlzdF9fdG9nZ2xlID4gLnRvZ2dsZV9faWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG5cbi8qIGFjY29yZGlvbiB2YXJpYW50ICovXG4ubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0X19pdGVtLS1wYXJlbnQgPiAubWVudS1saXN0X19saW5rIHtcbiAgZmxleDogMSAxIDAlOyB9XG5cbi8qIGNoaWxkIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QtLWNoaWxkIHtcbiAgbWluLXdpZHRoOiAxMDAlOyB9XG5cbi5tZW51LWxpc3QtLWNoaWxkIC5tZW51LWxpc3RfX2l0ZW0ge1xuICBmbG9hdDogbm9uZTsgfVxuXG4vKiBjaGlsZCBhY2NvcmRpb24gdmFyaWFudCAqL1xuLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1hY2NvcmRpb24ge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1cyAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50LmlzLWFjdGl2ZSA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tYWNjb3JkaW9uIHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMTVzICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLyogY2hpbGQgb3ZlcmxheSB2YXJpYW50ICovXG4ubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkge1xuICBsZWZ0OiAtOTk5ZW07XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5ZW07XG4gIHRyYW5zaXRpb246IGxlZnQgMHMgMC4xNXMsIG9wYWNpdHkgMC4xNXMsIHRvcCAwcyAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1cztcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheSxcbi5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudC5pcy1hY3RpdmUgPiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkge1xuICBsZWZ0OiA1MCU7XG4gIG9wYWNpdHk6IDE7XG4gIHRvcDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5uby1qYXZhc2NyaXB0IC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpmb2N1cy13aXRoaW4gPiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkge1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAxO1xuICB0b3A6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLyogY2hpbGQgb3ZlcmxheSBkZXB0aCAyIHZhcmlhbnQgKi9cbi5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLWRlcHRoLTIsXG4ubWVudS1saXN0X19pdGVtLS1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1vdmVybGF5Lm1lbnUtbGlzdC0tZGVwdGgtMiB7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogMDsgfVxuXG4ubm8tamF2YXNjcmlwdCAubWVudS1saXN0X19pdGVtLS1wYXJlbnQ6Zm9jdXMtd2l0aGluID4gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1vdmVybGF5Lm1lbnUtbGlzdC0tZGVwdGgtMiB7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogMDsgfVxuXG4vKiBjaGlsZCBvdmVybGF5IHJldmVyc2UgdmFyaWFudCAqL1xuLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1vdmVybGF5Lm1lbnUtbGlzdC0tcmV2ZXJzZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiA5OTllbTtcbiAgdHJhbnNpdGlvbjogcmlnaHQgMHMgMC4xNXMsIG9wYWNpdHkgMC4xNXMsIHRvcCAwcyAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1czsgfVxuXG4ubWVudS1saXN0X19pdGVtLS1wYXJlbnQ6aG92ZXIgPiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkubWVudS1saXN0LS1yZXZlcnNlLFxuLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50LmlzLWFjdGl2ZSA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLXJldmVyc2Uge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1czsgfVxuXG4ubm8tamF2YXNjcmlwdCAubWVudS1saXN0X19pdGVtLS1wYXJlbnQ6Zm9jdXMtd2l0aGluID4gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1vdmVybGF5Lm1lbnUtbGlzdC0tcmV2ZXJzZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzOyB9XG5cbi8qIGNoaWxkIG92ZXJsYXkgcmV2ZXJzZSBkZXB0aCAyIHZhcmlhbnQgKi9cbi5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLXJldmVyc2UubWVudS1saXN0LS1kZXB0aC0yLFxuLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50LmlzLWFjdGl2ZSA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLXJldmVyc2UubWVudS1saXN0LS1kZXB0aC0yIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIHRvcDogMDsgfVxuXG4ubm8tamF2YXNjcmlwdCAubWVudS1saXN0X19pdGVtLS1wYXJlbnQ6Zm9jdXMtd2l0aGluID4gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1vdmVybGF5Lm1lbnUtbGlzdC0tcmV2ZXJzZS5tZW51LWxpc3QtLWRlcHRoLTIge1xuICByaWdodDogMTAwJTtcbiAgdG9wOiAwOyB9XG5cbi8qIGZsZXggdmFyaWFudCAqL1xuLm1lbnUtbGlzdC0tZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLm1lbnUtbGlzdC0tZmxleDpub3QoLm1lbnUtbGlzdC0tYmV0d2Vlbikge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm1lbnUtbGlzdC0tZmxleDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWxpc3QtLWZsZXggPiAubWVudS1saXN0X19pdGVtIHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLm1lbnUtbGlzdC0tZmxleDpub3QoLm1lbnUtbGlzdC0tYmV0d2Vlbik6bm90KC5tZW51LWxpc3QtLWNlbnRlcikgPiAubWVudS1saXN0X19pdGVtIHtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi8qIGZsZXggYmV0d2VlbiB2YXJpYW50ICovXG4ubWVudS1saXN0LS1mbGV4Lm1lbnUtbGlzdC0tYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4ubWVudS1saXN0LS1mbGV4Lm1lbnUtbGlzdC0tYmV0d2VlbiA+IC5tZW51LWxpc3RfX2l0ZW0ge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4vKiBmbGV4IGNlbnRlciB2YXJpYW50ICovXG4ubWVudS1saXN0LS1mbGV4Lm1lbnUtbGlzdC0tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLm1lbnUtbGlzdC0tZmxleC5tZW51LWxpc3QtLWNlbnRlciA+IC5tZW51LWxpc3RfX2l0ZW0ge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4vKiBmbGV4IGVuZCB2YXJpYW50ICovXG4ubWVudS1saXN0LS1mbGV4Lm1lbnUtbGlzdC0tZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4ubWVudS1saXN0LS1mbGV4Lm1lbnUtbGlzdC0tZW5kID4gLm1lbnUtbGlzdF9faXRlbSB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi8qIGZsZXggc3RhcnQgdmFyaWFudCAqL1xuLm1lbnUtbGlzdC0tZmxleC5tZW51LWxpc3QtLXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5tZW51LWxpc3QtLWZsZXgubWVudS1saXN0LS1zdGFydCA+IC5tZW51LWxpc3RfX2l0ZW0ge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4vKiB2ZXJ0aWNhbCB2YXJpYW50ICovXG4ubWVudS1saXN0LS12ZXJ0aWNhbCA+IC5tZW51LWxpc3RfX2l0ZW0ge1xuICBmbG9hdDogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09IENVU1RPTSBWQVJJQU5UUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIG1ldGEgdmFyaWFudCAqL1xuLm1lbnUtbGlzdC0tbWV0YSB7XG4gIGNvbG9yOiAjM0IzQjNCO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubWVudS1saXN0LS1tZXRhIC5tZW51LWxpc3RfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogMS40Mjg1N2VtOyB9XG5cbi5tZW51LWxpc3QtLW1ldGEgLm1lbnUtbGlzdF9fbGluayB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1lbnUtbGlzdC0tbWV0YSAubWVudS1saXN0X19saW5rOmhvdmVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIG5hdmlnYXRpb24gdmFyaWFudCAqL1xuLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiB7XG4gIC8qIGNoaWxkICovXG4gIC8qIGNoaWxkIGRlcHRoIDIgKi9cbiAgLyogYWNjb3JkaW9ucyAqLyB9XG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3ODEzZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LWxpc3QtLW5hdmlnYXRpb24ge1xuICAgICAgbWFyZ2luOiAwcmVtIC0wLjgxMjVyZW07IH0gfVxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfX2xpbmssXG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIGNvbG9yOiAjMTU3OEI5O1xuICAgIHBhZGRpbmc6IDAuNDIxODhlbSAwLjg0Mzc1ZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjE1czsgfVxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfX2xpbms6YWN0aXZlLFxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfX3RvZ2dsZTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEsIDEyMCwgMTg1LCAwLjIpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4xNXM7IH1cbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0X19pdGVtLmlzLWFjdGl2ZSA+IC5tZW51LWxpc3RfX2xpbmssXG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9faXRlbS5pcy1hY3RpdmUgPiAubWVudS1saXN0X190b2dnbGUsXG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9faXRlbTpmb2N1cy13aXRoaW4gPiAubWVudS1saXN0X19saW5rLFxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfX2l0ZW06Zm9jdXMtd2l0aGluID4gLm1lbnUtbGlzdF9fdG9nZ2xlLFxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfX2l0ZW06aG92ZXIgPiAubWVudS1saXN0X19saW5rLFxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfX2l0ZW06aG92ZXIgPiAubWVudS1saXN0X190b2dnbGUge1xuICAgIGNvbG9yOiAjMTU3OEI5OyB9XG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9fYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAuNDIxODhlbSAwLjg0Mzc1ZW07IH1cbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0LS1jaGlsZCB7XG4gICAgYmFja2dyb3VuZDogIzJBMjM3NTtcbiAgICBmb250LXNpemU6IDFlbTsgfVxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheSB7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBtaW4td2lkdGg6IDE1LjYyNWVtOyB9XG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9fbGluayxcbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X190b2dnbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgcGFkZGluZzogMC4yNWVtIDFlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3QtLWNoaWxkIC5tZW51LWxpc3RfX2l0ZW0uaXMtYWN0aXZlID4gLm1lbnUtbGlzdF9fbGluayxcbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X19pdGVtLmlzLWFjdGl2ZSA+IC5tZW51LWxpc3RfX3RvZ2dsZSxcbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X19pdGVtOmZvY3VzLXdpdGhpbiA+IC5tZW51LWxpc3RfX2xpbmssXG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9faXRlbTpmb2N1cy13aXRoaW4gPiAubWVudS1saXN0X190b2dnbGUsXG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9faXRlbTpob3ZlciA+IC5tZW51LWxpc3RfX2xpbmssXG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9faXRlbTpob3ZlciA+IC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQgPiAubWVudS1saXN0X19pdGVtOmZpcnN0LWNoaWxkID4gLm1lbnUtbGlzdF9fbGluayxcbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0LS1jaGlsZCA+IC5tZW51LWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgPiAubWVudS1saXN0X190b2dnbGUge1xuICAgIHBhZGRpbmctdG9wOiAwLjVlbTsgfVxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3QtLWNoaWxkOm5vdCgubWVudS1saXN0LS1tZWdhKSA+IC5tZW51LWxpc3RfX2l0ZW06bGFzdC1jaGlsZCA+IC5tZW51LWxpc3RfX2xpbmssXG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQ6bm90KC5tZW51LWxpc3QtLW1lZ2EpID4gLm1lbnUtbGlzdF9faXRlbTpsYXN0LWNoaWxkID4gLm1lbnUtbGlzdF9fdG9nZ2xlLFxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tbWVnYSA+IC5tZW51LWxpc3RfX2l0ZW06bm90KC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudCk6bGFzdC1jaGlsZCA+IC5tZW51LWxpc3RfX2xpbmssXG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1tZWdhID4gLm1lbnUtbGlzdF9faXRlbTpub3QoLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50KTpsYXN0LWNoaWxkID4gLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07IH1cbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLWRlcHRoLTIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgMTAwJSk7XG4gICAgZm9udC1zaXplOiAxZW07IH1cbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLWRlcHRoLTI6bm90KC5tZW51LWxpc3QtLXJldmVyc2UpIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcmVtOyB9XG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1kZXB0aC0yLm1lbnUtbGlzdC0tcmV2ZXJzZSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDByZW07IH1cbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0X19pdGVtLS1wYXJlbnQ6bm90KDpmaXJzdC1jaGlsZCkgPiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLWRlcHRoLTIubWVudS1saXN0LS1vdmVybGF5IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMmVtKTsgfVxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3RfX2l0ZW0tLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMC40MjE4OGVtIDAuODQzNzVlbTsgfVxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3RfX2J1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZCB7XG4gICAgZm9udC1zaXplOiAxZW07IH1cbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyQTIzNzU7XG4gICAgYm90dG9tOiAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X19saW5rLFxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkIC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtOyB9XG4gIC5tZW51LWxpc3QtLW5hdmlnYXRpb24ubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQgPiAubWVudS1saXN0X19pdGVtOmZpcnN0LWNoaWxkID4gLm1lbnUtbGlzdF9fbGluayxcbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZCA+IC5tZW51LWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgPiAubWVudS1saXN0X190b2dnbGUge1xuICAgIHBhZGRpbmctdG9wOiAxZW07IH1cbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZDpub3QoLm1lbnUtbGlzdC0tbWVnYSkgPiAubWVudS1saXN0X19pdGVtOmxhc3QtY2hpbGQgPiAubWVudS1saXN0X19saW5rLFxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkOm5vdCgubWVudS1saXN0LS1tZWdhKSA+IC5tZW51LWxpc3RfX2l0ZW06bGFzdC1jaGlsZCA+IC5tZW51LWxpc3RfX3RvZ2dsZSxcbiAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW1lZ2EgPiAubWVudS1saXN0X19pdGVtOm5vdCgubWVudS1saXN0X19pdGVtLS1wYXJlbnQpOmxhc3QtY2hpbGQgPiAubWVudS1saXN0X19saW5rLFxuICAubWVudS1saXN0LS1uYXZpZ2F0aW9uLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tbWVnYSA+IC5tZW51LWxpc3RfX2l0ZW06bm90KC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudCk6bGFzdC1jaGlsZCA+IC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTsgfVxuXG4vKiBwYWdpbmF0aW9uIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QtLXBhZ2luYXRpb24ge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4ubWVudS1saXN0LS1wYWdpbmF0aW9uIC5tZW51LWxpc3RfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogMC41NzE0M2VtOyB9XG5cbi5tZW51LWxpc3QtLXBhZ2luYXRpb24gLm1lbnUtbGlzdF9faXRlbS5jdXJyZW50ID4gLm1lbnUtbGlzdF9fbGluayB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLyogc2l0ZW1hcCB2YXJpYW50ICovXG4ubWVudS1saXN0LS1zaXRlbWFwIHtcbiAgY29sb3I6ICM3Q0M4Rjk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1ZW07XG4gIG1hcmdpbjogMGVtIGF1dG8gMS4zNzVlbTsgfVxuXG4ubWVudS1saXN0LS1zaXRlbWFwIC5tZW51LWxpc3RfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMCAwIDEwMCU7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tZW51LWxpc3QtLXNpdGVtYXAgLm1lbnUtbGlzdF9fbGluayB7XG4gIGNvbG9yOiAjN0NDOEY5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMC4zNzVlbSAxLjMxMjVlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm1lbnUtbGlzdC0tc2l0ZW1hcCAubWVudS1saXN0X19saW5rOmZvY3VzLFxuLm1lbnUtbGlzdC0tc2l0ZW1hcCAubWVudS1saXN0X19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZW51LWxpc3QtLXNpdGVtYXAgLm1lbnUtbGlzdF9faXRlbSB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLm1lbnUtbGlzdC0tc2l0ZW1hcCAubWVudS1saXN0X19saW5rIHtcbiAgICBwYWRkaW5nOiAwLjYyNWVtIDEuMzEyNWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lbnUtbGlzdC0tc2l0ZW1hcCAubWVudS1saXN0X19saW5rOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL2Zhcy1hbmdsZS1yaWdodC5zdmdcIiwgZmlsbD0jRkZGRkZGKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuODc1ZW07XG4gICAgd2lkdGg6IDAuNWVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gIC5tZW51LWxpc3QtLXNpdGVtYXAgLm1lbnUtbGlzdF9fbGluayB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9XG5cbi8qIHNvY2lhbCB2YXJpYW50ICovXG4ubWVudS1saXN0LS1zb2NpYWwge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzM2VtOyB9XG5cbi5tZW51LWxpc3QtLXNvY2lhbCAubWVudS1saXN0X19pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogbm9uZTsgfVxuXG4ubWVudS1saXN0LS1zb2NpYWwgLm1lbnUtbGlzdF9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luOiAwZW0gMC4zMzMzM2VtIDBlbSAwZW07IH1cblxuLm1lbnUtbGlzdC0tc29jaWFsIC5tZW51LWxpc3RfX2xpbmsge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5tZW51LWxpc3QtLXNvY2lhbCAubWVudS1saXN0X19saW5rOmZvY3VzLFxuLm1lbnUtbGlzdC0tc29jaWFsIC5tZW51LWxpc3RfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogdGFicyB2YXJpYW50ICovXG4ubWVudS1saXN0LS10YWJzIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXJhbmdlOiA2NGVtIDg1LjM3NWVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMWVtIDEuMjVlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBwYWRkaW5nOiAwZW0gMS41ZW07IH1cblxuLm1lbnUtbGlzdC0tdGFiczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzYyNjI2MjtcbiAgYm9yZGVyLXJhZGl1czogMC4xNTYyNXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC4zMTI1cmVtO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1lbnUtbGlzdC0tdGFicyAubWVudS1saXN0X19saW5rIHtcbiAgY29sb3I6ICM2MjYyNjI7XG4gIHBhZGRpbmc6IDAuNzVlbSAxLjI1ZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGNvbG9yIDAuMTVzOyB9XG5cbi5tZW51LWxpc3QtLXRhYnMgLm1lbnUtbGlzdF9fbGlua1thcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gIGJhY2tncm91bmQ6ICM2MjYyNjI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi8qIHRodW1ibmFpbHMgdmFyaWFudCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAubWVudS1saXN0LS10aHVtYm5haWxzIHtcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLm1lbnUtbGlzdC0tdGh1bWJuYWlscyAubWVudS1saXN0X19pdGVtIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAubWVudS1saXN0LS10aHVtYm5haWxzIC5tZW51LWxpc3RfX2xpbmsge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogIzNCM0IzQjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjhlbTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMGVtIDBlbSAxZW07XG4gICAgcGFkZGluZzogMC41ZW0gMWVtOyB9XG4gIC5tZW51LWxpc3QtLXRodW1ibmFpbHMgLm1lbnUtbGlzdF9faWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICBtYXJnaW46IDBlbSAwLjU1NTU2ZW0gMGVtIDBlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZW51LWxpc3QtLXRodW1ibmFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMS4yNWVtIDBlbSAwZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEuMjVlbSk7IH1cbiAgLm1lbnUtbGlzdC0tdGh1bWJuYWlscyAubWVudS1saXN0X19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgcGFkZGluZzogMGVtIDEuMjVlbSAxLjI1ZW0gMGVtOyB9XG4gIC5tZW51LWxpc3QtLXRodW1ibmFpbHMgLm1lbnUtbGlzdF9fbGluayB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVudS1saXN0LS10aHVtYm5haWxzIC5tZW51LWxpc3RfX2xpbmsuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tZW51LWxpc3QtLXRodW1ibmFpbHMgLm1lbnUtbGlzdF9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51LWxpc3QtLXRodW1ibmFpbHMgLm1lbnUtbGlzdF9faWNvbl9fY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzAwMDAwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVudS1saXN0LS10aHVtYm5haWxzIC5tZW51LWxpc3RfX2ljb24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDRlbTtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE5pbmphIEZvcm1zXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuICovXG4ubmYtZm9ybS1ocCB7XG4gIGxlZnQ6IC05OTllbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTllbTsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyIC5waWthZGF5X19jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyIC5saXN0LWNoZWNrYm94LFxuLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1yYWRpbyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1hYm92ZSAuZmllbGQtd3JhcCxcbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtcmlnaHQgLmZpZWxkLXdyYXAsXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5maWVsZC13cmFwLFxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1sZWZ0IC5maWVsZC13cmFwIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1yaWdodCAuZmllbGQtd3JhcCAubmYtZmllbGQtbGFiZWwsXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWxlZnQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcbiAgZmxleDogbm9uZTsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWFib3ZlIC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50LFxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtcmlnaHQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWxlZnQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLXJpZ2h0IC5jaGVja2JveC13cmFwIC5uZi1maWVsZC1lbGVtZW50LFxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1sZWZ0IC5jaGVja2JveC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgZmxleDogbm9uZTsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWFib3ZlIC5maWVsZC13cmFwIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5maWVsZC13cmFwIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCB7XG4gIG9yZGVyOiAyOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICBvcmRlcjogMTsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCB7XG4gIG9yZGVyOiAyOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtcmlnaHQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICBvcmRlcjogMTsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWhpZGRlbiAuZmllbGQtd3JhcCAubmYtZmllbGQtbGFiZWwge1xuICBsZWZ0OiAtOTk5ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5ZW07IH1cblxuLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICB6LWluZGV4OiA5OTk7IH1cblxuLm5mLWhhcy1jb2x1bW5zIC5uZi1yb3cge1xuICBtYXJnaW46IDAgLTVweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBPcGluaW9uYXRlZCBUd2Vha3NcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5pcy1vZmZsaW5lIC5uZi1mb3JtLWNvbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmlzLW9mZmxpbmUgLm5mLWZvcm0tY29udDo6YmVmb3JlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgY29udGVudDogXCJTb3JyeSwgaXQgbG9va3MgbGlrZSB5b3VcXCdyZSBvZmZsaW5lLiBQbGVhc2UgcmVjb25uZWN0IHRvIHRoZSBpbnRlcm5ldCB0byB1c2UgdGhpcyBmb3JtLlwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxLjI1ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5uaW5qYS1mb3Jtcy1yZXEtc3ltYm9sIHtcbiAgY29sb3I6ICNFMTFBMUE7IH1cblxuLm5pbmphLWZvcm1zLWhlbHAtc3ltYm9sIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm5pbmphLWZvcm1zLWhlbHAtdG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6ICM2MjYyNjI7XG4gIGJvcmRlci1yYWRpdXM6IDAuNDI4NTdlbTtcbiAgYm90dG9tOiAxMzAlO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGxlZnQ6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMC43MTQyOWVtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDUwJSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cztcbiAgd2lkdGg6IDE0LjI4NTcxZW07IH1cblxuLm5pbmphLWZvcm1zLWhlbHAtc3ltYm9sLmlzLWFjdGl2ZSAubmluamEtZm9ybXMtaGVscC10b29sdGlwIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5uaW5qYS1mb3Jtcy1oZWxwLXRvb2x0aXA6OmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDAuMzc1ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMC4zNzVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMC4zNzVlbSBzb2xpZCAjNjI2MjYyO1xuICBjb250ZW50OiBcIlwiO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLm5pbmphLWZvcm1zLWhlbHAtdG9vbHRpcCAubmluamEtZm9ybXMtdXNlci1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveCxcbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW8ge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3ggLmlucHV0LS1jaGVja2JveCxcbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW8gLmlucHV0LS1yYWRpbyB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVlbTsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyIC5saXN0LWNoZWNrYm94IC50ZXh0LS1sYWJlbCxcbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW8gLnRleHQtLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIgLnN0YXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cblxuLm5mLWVycm9yLW1zZyB7XG4gIGNvbG9yOiAjRjA4RjhGOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIgLmctcmVjYXB0Y2hhOm5vdChbZGF0YS1zaXplPVwiaW52aXNpYmxlXCJdKSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIgLnRleHQtLWxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYWJvdmUgLm5mLWZpZWxkLWxhYmVsID4gLnRleHQtLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWxhYmVsID4gLnRleHQtLWxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMC4yNWVtOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWVsZW1lbnQgLmlucHV0LFxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtZWxlbWVudCAuc3RhcnMsXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5saXN0LWNoZWNrYm94LFxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubGlzdC1yYWRpbyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtbGVmdCAubmYtZmllbGQtbGFiZWwgPiAudGV4dC0tbGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1ZW07IH1cblxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1yaWdodCAubmYtZmllbGQtbGFiZWwgPiAudGV4dC0tbGFiZWwge1xuICBtYXJnaW4tbGVmdDogMC42MjVlbTsgfVxuXG4ubmYtZmllbGQtY29udGFpbmVyLmxpc3RjaGVja2JveC1jb250YWluZXIgLmlucHV0LS1jaGVja2JveCxcbi5uZi1maWVsZC1jb250YWluZXIubGlzdHJhZGlvLWNvbnRhaW5lciAuaW5wdXQtLXJhZGlvIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjM3NWVtOyB9XG5cbi5uZi1pbnB1dC1saW1pdDpub3QoOmVtcHR5KSB7XG4gIG1hcmdpbi10b3A6IC0xLjVlbTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBOb3R5IChodHRwczovL25lZC5pbS9ub3R5LyMvKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAqL1xuLm5vdHlfbGF5b3V0X21peGluLCAjbm90eV9sYXlvdXRfX3RvcCwgI25vdHlfbGF5b3V0X190b3BMZWZ0LCAjbm90eV9sYXlvdXRfX3RvcENlbnRlciwgI25vdHlfbGF5b3V0X190b3BSaWdodCwgI25vdHlfbGF5b3V0X19ib3R0b20sICNub3R5X2xheW91dF9fYm90dG9tTGVmdCwgI25vdHlfbGF5b3V0X19ib3R0b21DZW50ZXIsICNub3R5X2xheW91dF9fYm90dG9tUmlnaHQsICNub3R5X2xheW91dF9fY2VudGVyLCAjbm90eV9sYXlvdXRfX2NlbnRlckxlZnQsICNub3R5X2xheW91dF9fY2VudGVyUmlnaHQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogOTk5OTk5OTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICBmaWx0ZXI6IGJsdXIoMCk7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDApO1xuICBtYXgtd2lkdGg6IDkwJTsgfVxuXG4jbm90eV9sYXlvdXRfX3RvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogNSU7XG4gIHdpZHRoOiA5MCU7IH1cblxuI25vdHlfbGF5b3V0X190b3BMZWZ0IHtcbiAgdG9wOiAyMHB4O1xuICBsZWZ0OiAyMHB4O1xuICB3aWR0aDogMzI1cHg7IH1cblxuI25vdHlfbGF5b3V0X190b3BDZW50ZXIge1xuICB0b3A6IDUlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAzMjVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtNTAlIC0gLjVweCkpIHRyYW5zbGF0ZVooMCkgc2NhbGUoMSwgMSk7IH1cblxuI25vdHlfbGF5b3V0X190b3BSaWdodCB7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAzMjVweDsgfVxuXG4jbm90eV9sYXlvdXRfX2JvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNSU7XG4gIHdpZHRoOiA5MCU7IH1cblxuI25vdHlfbGF5b3V0X19ib3R0b21MZWZ0IHtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAyMHB4O1xuICB3aWR0aDogMzI1cHg7IH1cblxuI25vdHlfbGF5b3V0X19ib3R0b21DZW50ZXIge1xuICBib3R0b206IDUlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAzMjVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtNTAlIC0gLjVweCkpIHRyYW5zbGF0ZVooMCkgc2NhbGUoMSwgMSk7IH1cblxuI25vdHlfbGF5b3V0X19ib3R0b21SaWdodCB7XG4gIGJvdHRvbTogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAzMjVweDsgfVxuXG4jbm90eV9sYXlvdXRfX2NlbnRlciB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAzMjVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtNTAlIC0gLjVweCksIGNhbGMoLTUwJSAtIC41cHgpKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpOyB9XG5cbiNub3R5X2xheW91dF9fY2VudGVyTGVmdCB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAyMHB4O1xuICB3aWR0aDogMzI1cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIGNhbGMoLTUwJSAtIC41cHgpKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpOyB9XG5cbiNub3R5X2xheW91dF9fY2VudGVyUmlnaHQge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAzMjVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgY2FsYygtNTAlIC0gLjVweCkpIHRyYW5zbGF0ZVooMCkgc2NhbGUoMSwgMSk7IH1cblxuLm5vdHlfcHJvZ3Jlc3NiYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ub3R5X2hhc190aW1lb3V0Lm5vdHlfaGFzX3Byb2dyZXNzYmFyIC5ub3R5X3Byb2dyZXNzYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDY0NjQ7XG4gIG9wYWNpdHk6IDAuMjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwKTsgfVxuXG4ubm90eV9iYXIge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxLCAxKTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm5vdHlfZWZmZWN0c19vcGVuIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlKTtcbiAgYW5pbWF0aW9uOiBub3R5X2FuaW1faW4gMC41cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7IH1cblxuLm5vdHlfZWZmZWN0c19jbG9zZSB7XG4gIGFuaW1hdGlvbjogbm90eV9hbmltX291dCAwLjVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuXG4ubm90eV9maXhfZWZmZWN0c19oZWlnaHQge1xuICBhbmltYXRpb246IG5vdHlfYW5pbV9oZWlnaHQgNzVtcyBlYXNlLW91dDsgfVxuXG4ubm90eV9jbG9zZV93aXRoX2NsaWNrIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5ub3R5X2Nsb3NlX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIHJpZ2h0OiAycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLW91dDsgfVxuXG4ubm90eV9jbG9zZV9idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLm5vdHlfbW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBvcGFjaXR5OiAuMztcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5ub3R5X21vZGFsLm5vdHlfbW9kYWxfb3BlbiB7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogbm90eV9tb2RhbF9pbiAuM3MgZWFzZS1vdXQ7IH1cblxuLm5vdHlfbW9kYWwubm90eV9tb2RhbF9jbG9zZSB7XG4gIGFuaW1hdGlvbjogbm90eV9tb2RhbF9vdXQgLjNzIGVhc2Utb3V0O1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgfVxuXG5Aa2V5ZnJhbWVzIG5vdHlfbW9kYWxfaW4ge1xuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAuMzsgfSB9XG5cbkBrZXlmcmFtZXMgbm90eV9tb2RhbF9vdXQge1xuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBub3R5X2FuaW1faW4ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBub3R5X2FuaW1fb3V0IHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBub3R5X2FuaW1faGVpZ2h0IHtcbiAgMTAwJSB7XG4gICAgaGVpZ2h0OiAwOyB9IH1cblxuLm5vdHlfYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UxMUExQTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVlbTtcbiAgYm94LXNoYWRvdzogMGVtIDAuMTI1ZW0gMC4zMTI1ZW0gMGVtIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIG1hcmdpbjogMC4zMTI1ZW0gMGVtOyB9XG5cbi5ub3R5X2JhciAubm90eV9ib2R5IHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgcGFkZGluZzogMWVtIDEuNWVtOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIG5vVWlTbGlkZXIgKGh0dHBzOi8vcmVmcmVzaGxlc3MuY29tL25vdWlzbGlkZXIvKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAqL1xuLyohIG5vdWlzbGlkZXIgLSAxNC43LjAgLSA0LzYvMjAyMSAqL1xuLyogRnVuY3Rpb25hbCBzdHlsaW5nO1xuICogVGhlc2Ugc3R5bGVzIGFyZSByZXF1aXJlZCBmb3Igbm9VaVNsaWRlciB0byBmdW5jdGlvbi5cbiAqIFlvdSBkb24ndCBuZWVkIHRvIGNoYW5nZSB0aGVzZSBydWxlcyB0byBhcHBseSB5b3VyIGRlc2lnbi5cbiAqL1xuLm5vVWktdGFyZ2V0LFxuLm5vVWktdGFyZ2V0ICoge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm5vVWktdGFyZ2V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5ub1VpLWJhc2UsXG4ubm9VaS1jb25uZWN0cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4vKiBXcmFwcGVyIGZvciBhbGwgY29ubmVjdCBlbGVtZW50cy5cbiAqL1xuLm5vVWktY29ubmVjdHMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwOyB9XG5cbi5ub1VpLWNvbm5lY3QsXG4ubm9VaS1vcmlnaW4ge1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBmbGF0OyB9XG5cbi5ub1VpLWNvbm5lY3Qge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5ub1VpLW9yaWdpbiB7XG4gIGhlaWdodDogMTAlO1xuICB3aWR0aDogMTAlOyB9XG5cbi8qIE9mZnNldCBkaXJlY3Rpb25cbiAqL1xuLm5vVWktdHh0LWRpci1ydGwubm9VaS1ob3Jpem9udGFsIC5ub1VpLW9yaWdpbiB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi8qIEdpdmUgb3JpZ2lucyAwIGhlaWdodC93aWR0aCBzbyB0aGV5IGRvbid0IGludGVyZmVyZSB3aXRoIGNsaWNraW5nIHRoZVxuICogY29ubmVjdCBlbGVtZW50cy5cbiAqL1xuLm5vVWktdmVydGljYWwgLm5vVWktb3JpZ2luIHtcbiAgd2lkdGg6IDA7IH1cblxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1vcmlnaW4ge1xuICBoZWlnaHQ6IDA7IH1cblxuLm5vVWktaGFuZGxlIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5ub1VpLXRvdWNoLWFyZWEge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5ub1VpLXN0YXRlLXRhcCAubm9VaS1jb25uZWN0LFxuLm5vVWktc3RhdGUtdGFwIC5ub1VpLW9yaWdpbiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzOyB9XG5cbi5ub1VpLXN0YXRlLWRyYWcgKiB7XG4gIGN1cnNvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbi8qIFNsaWRlciBzaXplIGFuZCBoYW5kbGUgcGxhY2VtZW50O1xuICovXG4ubm9VaS1ob3Jpem9udGFsIHtcbiAgaGVpZ2h0OiAxOHB4OyB9XG5cbi5ub1VpLWhvcml6b250YWwgLm5vVWktaGFuZGxlIHtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMjhweDtcbiAgcmlnaHQ6IC0xN3B4O1xuICB0b3A6IC02cHg7IH1cblxuLm5vVWktdmVydGljYWwge1xuICB3aWR0aDogMThweDsgfVxuXG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGUge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICByaWdodDogLTZweDtcbiAgdG9wOiAtMTdweDsgfVxuXG4ubm9VaS10eHQtZGlyLXJ0bC5ub1VpLWhvcml6b250YWwgLm5vVWktaGFuZGxlIHtcbiAgbGVmdDogLTE3cHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi8qIFN0eWxpbmc7XG4gKiBHaXZpbmcgdGhlIGNvbm5lY3QgZWxlbWVudCBhIGJvcmRlciByYWRpdXMgY2F1c2VzIGlzc3VlcyB3aXRoIHVzaW5nIHRyYW5zZm9ybTogc2NhbGVcbiAqL1xuLm5vVWktdGFyZ2V0IHtcbiAgYmFja2dyb3VuZDogI0ZBRkFGQTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDNEM0QzO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggI0YwRjBGMCwgMCAzcHggNnB4IC01cHggI0JCQjsgfVxuXG4ubm9VaS1jb25uZWN0cyB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4ubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZDogIzNGQjhBRjsgfVxuXG4vKiBIYW5kbGVzIGFuZCBjdXJzb3JzO1xuICovXG4ubm9VaS1kcmFnZ2FibGUge1xuICBjdXJzb3I6IGV3LXJlc2l6ZTsgfVxuXG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1kcmFnZ2FibGUge1xuICBjdXJzb3I6IG5zLXJlc2l6ZTsgfVxuXG4ubm9VaS1oYW5kbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDlEOUQ5O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAjRkZGLCBpbnNldCAwIDFweCA3cHggI0VCRUJFQiwgMCAzcHggNnB4IC0zcHggI0JCQjsgfVxuXG4ubm9VaS1hY3RpdmUge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4ICNGRkYsIGluc2V0IDAgMXB4IDdweCAjRERELCAwIDNweCA2cHggLTNweCAjQkJCOyB9XG5cbi8qIEhhbmRsZSBzdHJpcGVzO1xuICovXG4ubm9VaS1oYW5kbGU6YmVmb3JlLFxuLm5vVWktaGFuZGxlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjRThFN0U2O1xuICBsZWZ0OiAxNHB4O1xuICB0b3A6IDZweDsgfVxuXG4ubm9VaS1oYW5kbGU6YWZ0ZXIge1xuICBsZWZ0OiAxN3B4OyB9XG5cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZTpiZWZvcmUsXG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGU6YWZ0ZXIge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGxlZnQ6IDZweDtcbiAgdG9wOiAxNHB4OyB9XG5cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZTphZnRlciB7XG4gIHRvcDogMTdweDsgfVxuXG4vKiBEaXNhYmxlZCBzdGF0ZTtcbiAqL1xuW2Rpc2FibGVkXSAubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZDogI0I4QjhCODsgfVxuXG5bZGlzYWJsZWRdLm5vVWktdGFyZ2V0LFxuW2Rpc2FibGVkXS5ub1VpLWhhbmRsZSxcbltkaXNhYmxlZF0gLm5vVWktaGFuZGxlIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4vKiBCYXNlO1xuICpcbiAqL1xuLm5vVWktcGlwcyxcbi5ub1VpLXBpcHMgKiB7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ubm9VaS1waXBzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBWYWx1ZXM7XG4gKlxuICovXG4ubm9VaS12YWx1ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ub1VpLXZhbHVlLXN1YiB7XG4gIGNvbG9yOiAjY2NjO1xuICBmb250LXNpemU6IDEwcHg7IH1cblxuLyogTWFya2luZ3M7XG4gKlxuICovXG4ubm9VaS1tYXJrZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNDQ0M7IH1cblxuLm5vVWktbWFya2VyLXN1YiB7XG4gIGJhY2tncm91bmQ6ICNBQUE7IH1cblxuLm5vVWktbWFya2VyLWxhcmdlIHtcbiAgYmFja2dyb3VuZDogI0FBQTsgfVxuXG4vKiBIb3Jpem9udGFsIGxheW91dDtcbiAqXG4gKi9cbi5ub1VpLXBpcHMtaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgaGVpZ2h0OiA4MHB4O1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5ub1VpLXZhbHVlLWhvcml6b250YWwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7IH1cblxuLm5vVWktcnRsIC5ub1VpLXZhbHVlLWhvcml6b250YWwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA1MCUpOyB9XG5cbi5ub1VpLW1hcmtlci1ob3Jpem9udGFsLm5vVWktbWFya2VyIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIHdpZHRoOiAycHg7XG4gIGhlaWdodDogNXB4OyB9XG5cbi5ub1VpLW1hcmtlci1ob3Jpem9udGFsLm5vVWktbWFya2VyLXN1YiB7XG4gIGhlaWdodDogMTBweDsgfVxuXG4ubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlci1sYXJnZSB7XG4gIGhlaWdodDogMTVweDsgfVxuXG4vKiBWZXJ0aWNhbCBsYXlvdXQ7XG4gKlxuICovXG4ubm9VaS1waXBzLXZlcnRpY2FsIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTsgfVxuXG4ubm9VaS12YWx1ZS12ZXJ0aWNhbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cblxuLm5vVWktcnRsIC5ub1VpLXZhbHVlLXZlcnRpY2FsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCA1MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCA1MCUpOyB9XG5cbi5ub1VpLW1hcmtlci12ZXJ0aWNhbC5ub1VpLW1hcmtlciB7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogMnB4O1xuICBtYXJnaW4tdG9wOiAtMXB4OyB9XG5cbi5ub1VpLW1hcmtlci12ZXJ0aWNhbC5ub1VpLW1hcmtlci1zdWIge1xuICB3aWR0aDogMTBweDsgfVxuXG4ubm9VaS1tYXJrZXItdmVydGljYWwubm9VaS1tYXJrZXItbGFyZ2Uge1xuICB3aWR0aDogMTVweDsgfVxuXG4ubm9VaS10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0Q5RDlEOTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS10b29sdGlwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAxMjAlOyB9XG5cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLXRvb2x0aXAge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxMjAlOyB9XG5cbi5ub1VpLWhvcml6b250YWwgLm5vVWktb3JpZ2luID4gLm5vVWktdG9vbHRpcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiAxMHB4OyB9XG5cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLW9yaWdpbiA+IC5ub1VpLXRvb2x0aXAge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xOHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTE4cHgpO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiAyOHB4OyB9XG5cbi5ub1VpLXRhcmdldCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQTJBMkE7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ubm9VaS1ob3Jpem9udGFsIHtcbiAgaGVpZ2h0OiAwLjI1ZW07XG4gIG1hcmdpbjogMi42MjVlbSAwZW0gMC4zNzVlbTsgfVxuXG4ubm9VaS1jb25uZWN0cyB7XG4gIGJhY2tncm91bmQ6ICMyQTJBMkE7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm5vVWktYmFzZSB7XG4gIG1hcmdpbjogMGVtIDAuNWVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMWVtKTsgfVxuXG4ubm9VaS1jb25uZWN0LFxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1jb25uZWN0LFxuLm5vVWktb3JpZ2luLFxuLm5vVWktaG9yaXpvbnRhbFxuLm5vVWktb3JpZ2luIHtcbiAgaGVpZ2h0OiAwLjI1ZW07XG4gIHRvcDogY2FsYyg1MCUgLSAwLjEyNWVtKTsgfVxuXG4ubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuXG4ubm9VaS1oYW5kbGUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDFlbTtcbiAgd2lkdGg6IDFlbTsgfVxuXG4ubm9VaS1oYW5kbGU6OmJlZm9yZSwgLm5vVWktaGFuZGxlOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUge1xuICBoZWlnaHQ6IDEuNjI1ZW07XG4gIHJpZ2h0OiAtMC41ZW07XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAxLjYyNWVtOyB9XG5cbi5ub1VpLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC43NWVtOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFBhbmVsIFRvZ2dsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnBhbmVsLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICMxNTc4Qjk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxLjQzNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjI1ZW0gMGVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogUGhvdG9Td2lwZSAoaHR0cDovL3Bob3Rvc3dpcGUuY29tLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cbi8qISBQaG90b1N3aXBlIG1haW4gQ1NTIGJ5IERtaXRyeSBTZW1lbm92IHwgcGhvdG9zd2lwZS5jb20gfCBNSVQgbGljZW5zZSAqL1xuLypcblx0U3R5bGVzIGZvciBiYXNpYyBQaG90b1N3aXBlIGZ1bmN0aW9uYWxpdHkgKHNsaWRpbmcgYXJlYSwgb3Blbi9jbG9zZSB0cmFuc2l0aW9ucylcbiovXG4vKiBwc3dwID0gcGhvdG9zd2lwZSAqL1xuLnBzd3Age1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICB6LWluZGV4OiAxNTAwO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIGNyZWF0ZSBzZXBhcmF0ZSBsYXllciwgdG8gYXZvaWQgcGFpbnQgb24gd2luZG93Lm9uc2Nyb2xsIGluIHdlYmtpdC9ibGluayAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4ucHN3cCAqIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5wc3dwIGltZyB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4vKiBzdHlsZSBpcyBhZGRlZCB3aGVuIEpTIG9wdGlvbiBzaG93SGlkZU9wYWNpdHkgaXMgc2V0IHRvIHRydWUgKi9cbi5wc3dwLS1hbmltYXRlX29wYWNpdHkge1xuICAvKiAwLjAwMSwgYmVjYXVzZSBvcGFjaXR5OjAgZG9lc24ndCB0cmlnZ2VyIFBhaW50IGFjdGlvbiwgd2hpY2ggY2F1c2VzIGxhZyBhdCBzdGFydCBvZiB0cmFuc2l0aW9uICovXG4gIG9wYWNpdHk6IDAuMDAxO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7IH1cblxuLnBzd3AtLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHN3cC0tem9vbS1hbGxvd2VkIC5wc3dwX19pbWcge1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4ucHN3cC0tem9vbWVkLWluIC5wc3dwX19pbWcge1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiAtbW96LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4ucHN3cC0tZHJhZ2dpbmcgLnBzd3BfX2ltZyB7XG4gIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiAtbW96LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi8qXG5cdEJhY2tncm91bmQgaXMgYWRkZWQgYXMgYSBzZXBhcmF0ZSBlbGVtZW50LlxuXHRBcyBhbmltYXRpbmcgb3BhY2l0eSBpcyBtdWNoIGZhc3RlciB0aGFuIGFuaW1hdGluZyByZ2JhKCkgYmFja2dyb3VuZC1jb2xvci5cbiovXG4ucHN3cF9fYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5OyB9XG5cbi5wc3dwX19zY3JvbGwtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4vKiBQcmV2ZW50IHNlbGVjdGlvbiBhbmQgdGFwIGhpZ2hsaWdodHMgKi9cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9faW1nIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG5cbi5wc3dwX196b29tLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cF9fYmcge1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7IH1cblxuLnBzd3AtLWFuaW1hdGVkLWluIC5wc3dwX19iZyxcbi5wc3dwLS1hbmltYXRlZC1pbiAucHN3cF9fem9vbS13cmFwIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lOyB9XG5cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnBzd3BfX2l0ZW0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucHN3cF9faW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLypcblx0c3RyZXRjaGVkIHRodW1ibmFpbCBvciBkaXYgcGxhY2Vob2xkZXIgZWxlbWVudCAoc2VlIGJlbG93KVxuXHRzdHlsZSBpcyBhZGRlZCB0byBhdm9pZCBmbGlja2VyaW5nIGluIHdlYmtpdC9ibGluayB3aGVuIGxheWVycyBvdmVybGFwXG4qL1xuLnBzd3BfX2ltZy0tcGxhY2Vob2xkZXIge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKlxuXHRkaXYgZWxlbWVudCB0aGF0IG1hdGNoZXMgc2l6ZSBvZiBsYXJnZSBpbWFnZVxuXHRsYXJnZSBpbWFnZSBsb2FkcyBvbiB0b3Agb2YgaXRcbiovXG4ucHN3cF9faW1nLS1wbGFjZWhvbGRlci0tYmxhbmsge1xuICBiYWNrZ3JvdW5kOiAjMjIyOyB9XG5cbi5wc3dwLS1pZSAucHN3cF9faW1nIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4vKlxuXHRFcnJvciBtZXNzYWdlIGFwcGVhcnMgd2hlbiBpbWFnZSBpcyBub3QgbG9hZGVkXG5cdChKUyBvcHRpb24gZXJyb3JNc2cgY29udHJvbHMgbWFya3VwKVxuKi9cbi5wc3dwX19lcnJvci1tc2cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tdG9wOiAtOHB4O1xuICBjb2xvcjogI0NDQzsgfVxuXG4ucHN3cF9fZXJyb3ItbXNnIGEge1xuICBjb2xvcjogI0NDQztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyohIFBob3RvU3dpcGUgRGVmYXVsdCBVSSBDU1MgYnkgRG1pdHJ5IFNlbWVub3YgfCBwaG90b3N3aXBlLmNvbSB8IE1JVCBsaWNlbnNlICovXG4vKlxuXG5cdENvbnRlbnRzOlxuXG5cdDEuIEJ1dHRvbnNcblx0Mi4gU2hhcmUgbW9kYWwgYW5kIGxpbmtzXG5cdDMuIEluZGV4IGluZGljYXRvciAoXCIxIG9mIFhcIiBjb3VudGVyKVxuXHQ0LiBDYXB0aW9uXG5cdDUuIExvYWRpbmcgaW5kaWNhdG9yXG5cdDYuIEFkZGl0aW9uYWwgc3R5bGVzIChyb290IGVsZW1lbnQsIHRvcCBiYXIsIGlkbGUgc3RhdGUsIGhpZGRlbiBzdGF0ZSwgZXRjLilcblxuKi9cbi8qXG5cdFxuXHQxLiBCdXR0b25zXG5cbiAqL1xuLyogPGJ1dHRvbj4gY3NzIHJlc2V0ICovXG4ucHN3cF9fYnV0dG9uIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBvcGFjaXR5OiAwLjc1O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnBzd3BfX2J1dHRvbjpmb2N1cywgLnBzd3BfX2J1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnBzd3BfX2J1dHRvbjphY3RpdmUge1xuICBvdXRsaW5lOiBub25lO1xuICBvcGFjaXR5OiAwLjk7IH1cblxuLnBzd3BfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG4vKiBwc3dwX191aS0tb3Zlci1jbG9zZSBjbGFzcyBpdCBhZGRlZCB3aGVuIG1vdXNlIGlzIG92ZXIgZWxlbWVudCB0aGF0IHNob3VsZCBjbG9zZSBnYWxsZXJ5ICovXG4ucHN3cF9fdWktLW92ZXItY2xvc2UgLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5wc3dwX19idXR0b24sXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdXJsKGRlZmF1bHQtc2tpbi5wbmcpIDAgMCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjY0cHggODhweDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDsgfVxuXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4xKSwgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4wOTM3NSksIChtaW4tcmVzb2x1dGlvbjogMTA1ZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAxLjFkcHB4KSB7XG4gIC8qIFNlcnZlIFNWRyBzcHJpdGUgaWYgYnJvd3NlciBzdXBwb3J0cyBTVkcgYW5kIHJlc29sdXRpb24gaXMgbW9yZSB0aGFuIDEwNWRwaSAqL1xuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24sXG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkZWZhdWx0LXNraW4uc3ZnKTsgfVxuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG5cbi5wc3dwX19idXR0b24tLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDRweDsgfVxuXG4ucHN3cF9fYnV0dG9uLS1zaGFyZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IC00NHB4OyB9XG5cbi5wc3dwX19idXR0b24tLWZzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHN3cC0tc3VwcG9ydHMtZnMgLnBzd3BfX2J1dHRvbi0tZnMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHN3cC0tZnMgLnBzd3BfX2J1dHRvbi0tZnMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDRweCAwOyB9XG5cbi5wc3dwX19idXR0b24tLXpvb20ge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODhweCAwOyB9XG5cbi5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wc3dwLS16b29tZWQtaW4gLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzJweCAwOyB9XG5cbi8qIG5vIGFycm93cyBvbiB0b3VjaCBzY3JlZW5zICovXG4ucHN3cC0tdG91Y2ggLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0tdG91Y2ggLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG5cdEFycm93IGJ1dHRvbnMgaGl0IGFyZWFcblx0KGljb24gaXMgYWRkZWQgdG8gOmJlZm9yZSBwc2V1ZG8tZWxlbWVudClcbiovXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCB7XG4gIGxlZnQ6IDA7IH1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDM1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzJweDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSB7XG4gIGxlZnQ6IDZweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzOHB4IC00NHB4OyB9XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICByaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTRweCAtNDRweDsgfVxuXG4vKlxuXG5cdDIuIFNoYXJlIG1vZGFsL3BvcHVwIGFuZCBsaW5rc1xuXG4gKi9cbi5wc3dwX19jb3VudGVyLFxuLnBzd3BfX3NoYXJlLW1vZGFsIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTYwMDtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7IH1cblxuLnBzd3BfX3NoYXJlLW1vZGFsLS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgei1pbmRleDogMTYyMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICB0b3A6IDU2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICByaWdodDogNDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IH1cblxuLnBzd3BfX3NoYXJlLXRvb2x0aXAgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMThweDsgfVxuXG4ucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwMDsgfVxuXG4ucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmZpcnN0LWNoaWxkIHtcbiAgLyogcm91bmQgY29ybmVycyBvbiB0aGUgZmlyc3QvbGFzdCBsaXN0IGl0ZW0gKi9cbiAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7IH1cblxuLnBzd3BfX3NoYXJlLXRvb2x0aXAgYTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDJweCAycHg7IH1cblxuLnBzd3BfX3NoYXJlLW1vZGFsLS1mYWRlLWluIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4gLnBzd3BfX3NoYXJlLXRvb2x0aXAge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi8qIGluY3JlYXNlIHNpemUgb2Ygc2hhcmUgbGlua3Mgb24gdG91Y2ggZGV2aWNlcyAqL1xuLnBzd3AtLXRvdWNoIC5wc3dwX19zaGFyZS10b29sdGlwIGEge1xuICBwYWRkaW5nOiAxNnB4IDEycHg7IH1cblxuYS5wc3dwX19zaGFyZS0tZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEycHg7XG4gIHJpZ2h0OiAxNXB4O1xuICBib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRjtcbiAgLXdlYmtpdC1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLW1vei1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuYS5wc3dwX19zaGFyZS0tZmFjZWJvb2s6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjM0U1QzlBO1xuICBjb2xvcjogI0ZGRjsgfVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpob3ZlcjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjM0U1QzlBOyB9XG5cbmEucHN3cF9fc2hhcmUtLXR3aXR0ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNTVBQ0VFO1xuICBjb2xvcjogI0ZGRjsgfVxuXG5hLnBzd3BfX3NoYXJlLS1waW50ZXJlc3Q6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjQ0NDO1xuICBjb2xvcjogI0NFMjcyRDsgfVxuXG5hLnBzd3BfX3NoYXJlLS1kb3dubG9hZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNEREQ7IH1cblxuLypcblxuXHQzLiBJbmRleCBpbmRpY2F0b3IgKFwiMSBvZiBYXCIgY291bnRlcilcblxuICovXG4ucHN3cF9fY291bnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIGNvbG9yOiAjRkZGO1xuICBvcGFjaXR5OiAwLjc1O1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLypcblx0XG5cdDQuIENhcHRpb25cblxuICovXG4ucHN3cF9fY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNDRweDsgfVxuXG4ucHN3cF9fY2FwdGlvbiBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICNCQkI7IH1cblxuLnBzd3BfX2NhcHRpb25fX2NlbnRlciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC13aWR0aDogNDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogI0NDQzsgfVxuXG4ucHN3cF9fY2FwdGlvbi0tZW1wdHkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEZha2UgY2FwdGlvbiBlbGVtZW50LCB1c2VkIHRvIGNhbGN1bGF0ZSBoZWlnaHQgb2YgbmV4dC9wcmV2IGltYWdlICovXG4ucHN3cF9fY2FwdGlvbi0tZmFrZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKlxuXG5cdDUuIExvYWRpbmcgaW5kaWNhdG9yIChwcmVsb2FkZXIpXG5cblx0WW91IGNhbiBwbGF5IHdpdGggaXQgaGVyZSAtIGh0dHA6Ly9jb2RlcGVuLmlvL2RpbXNlbWVub3YvcGVuL3l5QldvUlxuXG4gKi9cbi5wc3dwX19wcmVsb2FkZXIge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIycHg7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIGRpcmVjdGlvbjogbHRyOyB9XG5cbi5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMTJweDsgfVxuXG4ucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICAvKiBXZSB1c2UgLmdpZiBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgQ1NTIGFuaW1hdGlvbiAqL1xuICBiYWNrZ3JvdW5kOiB1cmwocHJlbG9hZGVyLmdpZikgMCAwIG5vLXJlcGVhdDsgfVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogY2xvY2t3aXNlIDUwMG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBjbG9ja3dpc2UgNTAwbXMgbGluZWFyIGluZmluaXRlOyB9XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19kb251dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBkb251dC1yb3RhdGUgMTAwMG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpIGluZmluaXRlO1xuICBhbmltYXRpb246IGRvbnV0LXJvdGF0ZSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSkgaW5maW5pdGU7IH1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgb3BhY2l0eTogMC43NTtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxNXB4O1xuICB0b3A6IDE1cHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyX19jdXQge1xuICAvKiBcblx0XHRcdFRoZSBpZGVhIG9mIGFuaW1hdGluZyBpbm5lciBjaXJjbGUgaXMgYmFzZWQgb24gUG9seW1lciAoXCJtYXRlcmlhbFwiKSBsb2FkaW5nIGluZGljYXRvciBcblx0XHRcdCBieSBLZWFudSBMZWUgaHR0cHM6Ly9ibG9nLmtlYW51bGVlLmNvbS8yMDE0LzEwLzIwL3RoZS10YWxlLW9mLXRocmVlLXNwaW5uZXJzLmh0bWxcblx0XHQqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA3cHg7XG4gIGhlaWdodDogMTRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyX19kb251dCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgYm9yZGVyOiAycHggc29saWQgI0ZGRjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAucHN3cF9fcHJlbG9hZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBjbG9ja3dpc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgY2xvY2t3aXNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZG9udXQtcm90YXRlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGRvbnV0LXJvdGF0ZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLypcblx0XG5cdDYuIEFkZGl0aW9uYWwgc3R5bGVzXG5cbiAqL1xuLyogcm9vdCBlbGVtZW50IG9mIFVJICovXG4ucHN3cF9fdWkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAxNTUwOyB9XG5cbi8qIHRvcCBibGFjayBiYXIgd2l0aCBidXR0b25zIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvciAqL1xuLnBzd3BfX3RvcC1iYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiA0NHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHN3cF9fY2FwdGlvbixcbi5wc3dwX190b3AtYmFyLFxuLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7IH1cblxuLyogcHN3cC0taGFzX21vdXNlIGNsYXNzIGlzIGFkZGVkIG9ubHkgd2hlbiB0d28gc3Vic2VxdWVudCBtb3VzZW1vdmUgZXZlbnRzIG9jY3VyICovXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5wc3dwX190b3AtYmFyLFxuLnBzd3BfX2NhcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLyogcHN3cF9fdWktLWZpdCBjbGFzcyBpcyBhZGRlZCB3aGVuIG1haW4gaW1hZ2UgXCJmaXRzXCIgYmV0d2VlbiB0b3AgYmFyIGFuZCBib3R0b20gYmFyIChjYXB0aW9uKSAqL1xuLnBzd3BfX3VpLS1maXQgLnBzd3BfX3RvcC1iYXIsXG4ucHN3cF9fdWktLWZpdCAucHN3cF9fY2FwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4vKiBwc3dwX191aS0taWRsZSBjbGFzcyBpcyBhZGRlZCB3aGVuIG1vdXNlIGlzbid0IG1vdmluZyBmb3Igc2V2ZXJhbCBzZWNvbmRzIChKUyBvcHRpb24gdGltZVRvSWRsZSkgKi9cbi5wc3dwX191aS0taWRsZSAucHN3cF9fdG9wLWJhciB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLypcblx0cHN3cF9fdWktLWhpZGRlbiBjbGFzcyBpcyBhZGRlZCB3aGVuIGNvbnRyb2xzIGFyZSBoaWRkZW5cblx0ZS5nLiB3aGVuIHVzZXIgdGFwcyB0byB0b2dnbGUgdmlzaWJpbGl0eSBvZiBjb250cm9sc1xuKi9cbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX190b3AtYmFyLFxuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX2NhcHRpb24sXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIC8qIEZvcmNlIHBhaW50ICYgY3JlYXRlIGNvbXBvc2l0aW9uIGxheWVyIGZvciBjb250cm9scy4gKi9cbiAgb3BhY2l0eTogMC4wMDE7IH1cblxuLyogcHN3cF9fdWktLW9uZS1zbGlkZSBjbGFzcyBpcyBhZGRlZCB3aGVuIHRoZXJlIGlzIGp1c3Qgb25lIGl0ZW0gaW4gZ2FsbGVyeSAqL1xuLnBzd3BfX3VpLS1vbmUtc2xpZGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQsXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fY291bnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBzd3BfX2VsZW1lbnQtLWRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5wc3dwLS1taW5pbWFsLS1kYXJrIC5wc3dwX190b3AtYmFyIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4ucHN3cCB7XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4ucHN3cF9fYnV0dG9uLFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6OmJlZm9yZSxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vbWVkaWEvdmVuZG9yL3Bob3Rvc3dpcGUtZGVmYXVsdC1za2luLnBuZ1wiKTsgfVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMSksICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMDkzNzUpLCAobWluLXJlc29sdXRpb246IDEwNWRwaSksIChtaW4tcmVzb2x1dGlvbjogMS4xZHBweCkge1xuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24sXG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6OmJlZm9yZSxcbiAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvcGhvdG9zd2lwZS1kZWZhdWx0LXNraW4uc3ZnXCIpOyB9XG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9IH1cblxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL21lZGlhL3ZlbmRvci9waG90b3N3aXBlLXByZWxvYWRlci5naWZcIik7IH1cblxuLnBzd3BfX2NvbnRlbnQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwX191c2VyLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBQcm9kdWN0IEZpbHRlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnByb2R1Y3QtZmlsdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaW5zZXQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7IH1cblxuLnByb2R1Y3QtZmlsdGVyX19maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1maWx0ZXJfX2lucHV0IHtcbiAgbWFyZ2luOiAwZW0gMGVtIDAuMzEyNWVtOyB9XG5cbi5wcm9kdWN0LWZpbHRlcl9faW5wdXQuaW5wdXQtLWNoZWNrYm94LCAucHJvZHVjdC1maWx0ZXJfX2lucHV0LmlucHV0LS1yYWRpbyB7XG4gIG1hcmdpbi1yaWdodDogMC4zNzVlbTsgfVxuXG4ucHJvZHVjdC1maWx0ZXJfX3RleHQge1xuICBjb2xvcjogIzYyNjI2MjtcbiAgZm9udC1zaXplOiAxLjE4NzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjEwNTNlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDAuNTc4OTVlbTsgfVxuXG4vKiBkYXJrIGJhY2tncm91bmQgc3R5bGVzICovXG4ucHJvZHVjdC1maWx0ZXItLXF1aWNrLFxuLnByb2R1Y3QtZmlsdGVyLS1kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wcm9kdWN0LWZpbHRlci0tcXVpY2s6OmJlZm9yZSxcbi5wcm9kdWN0LWZpbHRlci0tZGFyazo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICM5NzkzQkI7XG4gIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjOTc5M0JCOyB9XG5cbi5wcm9kdWN0LWZpbHRlci0tcXVpY2sgLnByb2R1Y3QtZmlsdGVyX190ZXh0LFxuLnByb2R1Y3QtZmlsdGVyLS1xdWljayAucHJvZHVjdC1maWx0ZXJfX3RpdGxlLFxuLnByb2R1Y3QtZmlsdGVyLS1kYXJrIC5wcm9kdWN0LWZpbHRlcl9fdGV4dCxcbi5wcm9kdWN0LWZpbHRlci0tZGFyayAucHJvZHVjdC1maWx0ZXJfX3RpdGxlIHtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuLyogcXVpY2sgdmFyaWFudCAqL1xuLnByb2R1Y3QtZmlsdGVyLS1xdWljayB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMS44NzVyZW0gMS41NjI1cmVtO1xuICB3aWR0aDogODcuNWVtOyB9XG5cbi5wcm9kdWN0LWZpbHRlci0tcXVpY2s6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQTIzNzU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCgjNTc1MDlFIDAlLCAjMkEyMzc1IDEwMCUpO1xuICB6LWluZGV4OiAxOyB9XG5cbi5wcm9kdWN0LWZpbHRlci0tcXVpY2sgLnByb2R1Y3QtZmlsdGVyX19yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7IH1cblxuLnByb2R1Y3QtZmlsdGVyLS1xdWljayAucHJvZHVjdC1maWx0ZXJfX2lucHV0IHtcbiAgYm9yZGVyOiAwO1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAwLjg3NWVtIDFlbTsgfVxuXG4ucHJvZHVjdC1maWx0ZXItLXF1aWNrIC5wcm9kdWN0LWZpbHRlcl9fdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnByb2R1Y3QtZmlsdGVyLS1xdWljayAucHJvZHVjdC1maWx0ZXJfX3RleHQge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1yYW5nZTogNDhlbSA4MGVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMC44NzVlbSAxLjEyNWVtO1xuICBsaW5lLWhlaWdodDogMS4yMjIyMmVtO1xuICBtYXJnaW46IDBlbSAxLjExMTExZW0gMGVtIDBlbTsgfVxuXG4ucHJvZHVjdC1maWx0ZXItLXF1aWNrIC5wcm9kdWN0LWZpbHRlcl9fdGV4dC50ZXh0LS1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnByb2R1Y3QtZmlsdGVyLS1kYXJrOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkEyQTJBO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5wcm9kdWN0LWZpbHRlci0tZGFyayAucHJvZHVjdC1maWx0ZXJfX2lucHV0IHtcbiAgYm9yZGVyOiAwOyB9XG5cbi5wcm9kdWN0LWZpbHRlci0tdmVydGljYWwge1xuICAvKiBjaGVja2JveCAmIHJhZGlvIHZhcmlhbnRzICovIH1cbiAgLnByb2R1Y3QtZmlsdGVyLS12ZXJ0aWNhbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDMuNDM3NXJlbSA0LjA2MjVyZW07IH1cbiAgLnByb2R1Y3QtZmlsdGVyLS12ZXJ0aWNhbCAucHJvZHVjdC1maWx0ZXJfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NWVtOyB9XG4gIC5wcm9kdWN0LWZpbHRlci0tdmVydGljYWwgLnRleHQtLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0NTA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNzc4ZW07IH1cbiAgLnByb2R1Y3QtZmlsdGVyLS12ZXJ0aWNhbCAuaW5wdXQtLWNoZWNrYm94LFxuICAucHJvZHVjdC1maWx0ZXItLXZlcnRpY2FsIC5pbnB1dC0tcmFkaW8ge1xuICAgIGJvcmRlci13aWR0aDogMC4wNjI1cmVtO1xuICAgIGhlaWdodDogMC45Mzc1cmVtO1xuICAgIHdpZHRoOiAwLjkzNzVyZW07IH1cbiAgLnByb2R1Y3QtZmlsdGVyLS12ZXJ0aWNhbCAuaW5wdXQtLWNoZWNrYm94OjphZnRlcixcbiAgLnByb2R1Y3QtZmlsdGVyLS12ZXJ0aWNhbCAuaW5wdXQtLXJhZGlvOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwLjY4NzVyZW0gMC42ODc1cmVtOyB9XG4gIC5wcm9kdWN0LWZpbHRlci0tdmVydGljYWwgLmlucHV0LS1jaGVja2JveDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMS4xMjVlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gICAgLnByb2R1Y3QtZmlsdGVyLS12ZXJ0aWNhbCB7XG4gICAgICBwYWRkaW5nOiAzLjQzNzVyZW0gMS41NjI1cmVtOyB9IH1cblxuLnByb2R1Y3QtZmlsdGVyX19yb3cge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnByb2R1Y3QtZmlsdGVyX19yb3cgLnByb2R1Y3QtZmlsdGVyX19pbnB1dF9fY29udGFpbmVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxLjI1cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucHJvZHVjdC1maWx0ZXJfX3JvdyAucHJvZHVjdC1maWx0ZXJfX2NvbCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTsgfVxuXG4ucHJvZHVjdC1maWx0ZXJfX3JvdyAucHJvZHVjdC1maWx0ZXJfX3RleHQudGV4dC0tbGFiZWwge1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4ucHJvZHVjdC1maWx0ZXJfX3JvdyAucHJvZHVjdC1maWx0ZXJfX2NvbC0tcmFkaW8ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5wcm9kdWN0LWZpbHRlcl9fcm93IC5pbnB1dF9fY29udGFpbmVyLS1yYWRpbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC42MjVyZW07IH1cblxuLnByb2R1Y3QtZmlsdGVyX19yb3cgLmlucHV0X19jb250YWluZXItLXJhZGlvIC5pbnB1dC0tcmFkaW8ge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ucHJvZHVjdC1maWx0ZXJfX3JvdyAucHJvZHVjdC1maWx0ZXJfX2NvbC0tcmFkaW8gLnByb2R1Y3QtZmlsdGVyX190ZXh0LnRleHQtLWxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAucHJvZHVjdC1maWx0ZXJfX3JvdyAucHJvZHVjdC1maWx0ZXJfX2NvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWZpbHRlcl9fcm93IC5wcm9kdWN0LWZpbHRlcl9faW5wdXRfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAucHJvZHVjdC1maWx0ZXJfX3JvdyAucHJvZHVjdC1maWx0ZXJfX3RleHQudGV4dC0tbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLnByb2R1Y3QtZmlsdGVyX19yb3cgLnByb2R1Y3QtZmlsdGVyX190ZXh0LnRleHQtLWxhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cblxuLnByb2R1Y3QtZmlsdGVyLS1ob21lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnByb2R1Y3QtZmlsdGVyLS1ob21lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWZpbHRlci0taG9tZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxLjA2MjVyZW07XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMzsgfVxuICAucHJvZHVjdC1maWx0ZXItLWhvbWUgLnByb2R1Y3QtZmlsdGVyX19jb2w6bGFzdC1jaGlsZCxcbiAgLnByb2R1Y3QtZmlsdGVyLS1ob21lIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3QtZmlsdGVyLS1ob21lIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW0gIWltcG9ydGFudDsgfVxuICAucHJvZHVjdC1maWx0ZXItLWhvbWUgLnByb2R1Y3QtZmlsdGVyX19jb2wtLXJhZGlvIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG5cbi5wcm9kdWN0LWZpbHRlci0tZnVsbGJsZWVkIHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnByb2R1Y3QtZmlsdGVyLS1mdWxsYmxlZWQ6OmJlZm9yZSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFBXQSBJbnN0YWxsIFByb21wdCAoaHR0cHM6Ly9naXRodWIuY29tL0phY29iREIvcHdhLWluc3RhbGwtcHJvbXB0KVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqXG4gKiBQV0EgSW5zdGFsbCBQcm9tcHQgMS4wLjJcbiAqIFByb21wdCB1c2VycyB0byBhZGQgeW91ciBQV0EgdG8gdGhlaXIgaG9tZSBzY3JlZW4sIHNpbmNlIEFwcGxlIHdvbuKAmXQuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vSmFjb2JEQi9wd2EtaW5zdGFsbC1wcm9tcHQvXG4gKlxuICogQ29weXJpZ2h0IDIwMTggSmFjb2IgQmVhcmNlXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IE5vdmVtYmVyIDYsIDIwMThcbiAqL1xuLnB3YS1pbnN0YWxsLXByb21wdF9fY29udGFpbmVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGVmdDogLTk5OWVtO1xuICBwYWRkaW5nOiAzMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTk5OWVtO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDBzIDAuMTVzLCB0b3AgMHMgMC4xNXMsIHZpc2liaWxpdHkgMHMgMC4xNXM7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDAwMDsgfVxuXG4ucHdhLWluc3RhbGwtcHJvbXB0X19jb250YWluZXIuaXMtYWN0aXZlIHtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5wd2EtaW5zdGFsbC1wcm9tcHRfX292ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7IH1cblxuLnB3YS1pbnN0YWxsLXByb21wdF9fY29udGFpbmVyLmlzLWFjdGl2ZSAucHdhLWluc3RhbGwtcHJvbXB0X19vdmVybGF5IHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ucHdhLWluc3RhbGwtcHJvbXB0IHtcbiAgYmFja2dyb3VuZDogI0ZGRjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3gtc2hhZG93OiAwcHggNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICM0MjQyNDI7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1JSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dDtcbiAgei1pbmRleDogMTsgfVxuXG4ucHdhLWluc3RhbGwtcHJvbXB0X19jb250YWluZXIuaXMtYWN0aXZlIC5wd2EtaW5zdGFsbC1wcm9tcHQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9XG5cbi5wd2EtaW5zdGFsbC1wcm9tcHQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0nMCAwIDEyOCAxMjgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGw9JyUyM0ZGRkZGRicgZD0nTTY0LjE5Nyw1MC40N0M3OS42OTYsMzQuOTUgOTUuMjU5LDE5LjUwMiAxMTAuNTk3LDMuODI0QzExNC40MTEsMC4xODIgMTE0LjU2NSwxLjAyMiAxMTcuNzA3LDEuMjRDMTI0LjI5OSwyLjE2NyAxMjcuNzIzLDEwLjY4NyAxMjMuNDM1LDE2LjA3OEMxMDguNDUzLDMyLjQ3IDkyLjk5Nyw0OC4zOTkgNzcuMzg3LDY0LjE3NEM5Mi41NzEsODAuMDEgMTA3LjY4NSw5NS45MTcgMTIzLjAyNCwxMTEuNTk1QzEyOS4xOTUsMTE4LjM0OSAxMjAuNDMyLDEzMi41MjcgMTExLjAzNSwxMjQuNzE2Qzk0Ljk5MiwxMDkuNDAzIDc5LjQwOCw5My42MTEgNjMuOTc5LDc3LjY1QzQ4LjQ4NSw5My4xNjkgMzIuOTE3LDEwOC42MTggMTcuNTg0LDEyNC4yOTZDMTAuODM3LDEzMC43MzQgLTIuNDExLDEyMS4wMzEgNC43NDcsMTEyLjA0MkMxOS43MjgsOTUuNjUgMzUuMTc5LDc5LjcxNiA1MC43OTUsNjMuOTQ1QzM1LjYwNSw0OC4xMSAyMC40OTEsMzIuMTk4IDUuMTU3LDE2LjUyNUMwLjA4NSwxMC45NzYgMi45MTIsMC41ODYgMTIuMjY3LDEuMjRDMTQuMDY5LDEuNDkxIDE1LjcyMywyLjIyNyAxNy4xNDEsMy40MDRDMzMuMTg0LDE4LjcxNyA0OC43NjgsMzQuNTA5IDY0LjE5Nyw1MC40N1onIC8lM0UlM0Mvc3ZnJTNFJTBBXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICBib3JkZXI6IDA7XG4gIGJvdHRvbTogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTZweDtcbiAgbWFyZ2luOiAwIDAgMTZweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxNnB4OyB9XG5cbi5wd2EtaW5zdGFsbC1wcm9tcHRfX2ljb25fX2NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0nMCAwIDcwIDcwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsPSclMjNGMEYwRjAnIGQ9J002NSwxN0M2NSwxMC4zNzcgNTkuNjIzLDUgNTMsNUwxNyw1QzEwLjM3Nyw1IDUsMTAuMzc3IDUsMTdMNSw1M0M1LDU5LjYyMyAxMC4zNzcsNjUgMTcsNjVMNTMsNjVDNTkuNjIzLDY1IDY1LDU5LjYyMyA2NSw1M0w2NSwxN1onIC8lM0UlM0Mvc3ZnJTNFJTBBXCIpIGNlbnRlciBjZW50ZXIvNzBweCA3MHB4IHJlcGVhdC14O1xuICBtYXJnaW46IDQwcHggMCAwOyB9XG5cbi5wd2EtaW5zdGFsbC1wcm9tcHRfX2ljb24ge1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiA2MHB4OyB9XG5cbi5wd2EtaW5zdGFsbC1wcm9tcHRfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAxMHB4IDM1cHg7IH1cblxuLnB3YS1pbnN0YWxsLXByb21wdF9fdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLnB3YS1pbnN0YWxsLXByb21wdF9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMCAwIDQ2cHg7IH1cblxuLnB3YS1pbnN0YWxsLXByb21wdF9fZ3VpZGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7IH1cblxuLnB3YS1pbnN0YWxsLXByb21wdF9fZ3VpZGVfX2ljb24ge1xuICBtYXJnaW46IDAgMnB4IDZweDtcbiAgd2lkdGg6IDIwcHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogU2Nyb2xsSGludCAoaHR0cHM6Ly9hcHBsZXBsZS5naXRodWIuaW8vc2Nyb2xsLWhpbnQvKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAqL1xuQGtleWZyYW1lcyBzY3JvbGwtaGludC1hcHBlYXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDUwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnNjcm9sbC1oaW50LmlzLXJpZ2h0LXNjcm9sbGFibGUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMTUpIDAsIHJnYmEoMCwgMCwgMCwgMCkgMTZweCwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnNjcm9sbC1oaW50LmlzLXJpZ2h0LXNjcm9sbGFibGUuaXMtbGVmdC1zY3JvbGxhYmxlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMTUpIDAsIHJnYmEoMCwgMCwgMCwgMCkgMTZweCwgcmdiYSgwLCAwLCAwLCAwKSksIGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoMCwgMCwgMCwgMC4xNSkgMCwgcmdiYSgwLCAwLCAwLCAwKSAxNnB4LCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc2Nyb2xsLWhpbnQuaXMtbGVmdC1zY3JvbGxhYmxlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMTUpIDAsIHJnYmEoMCwgMCwgMCwgMCkgMTZweCwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnNjcm9sbC1oaW50LWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgbGVmdDogY2FsYyg1MCUgLSA2MHB4KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gIG9wYWNpdHk6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDEwcHggMTBweCAxMHB4OyB9XG5cbi5zY3JvbGwtaGludC1pY29uLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnNjcm9sbC1oaW50LXRleHQge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGNvbG9yOiAjRkZGO1xuICBtYXJnaW4tdG9wOiA1cHg7IH1cblxuLnNjcm9sbC1oaW50LWljb24td3JhcC5pcy1hY3RpdmUgLnNjcm9sbC1oaW50LWljb24ge1xuICBvcGFjaXR5OiAuODsgfVxuXG4uc2Nyb2xsLWhpbnQtaWNvbjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGNvbG9yOiAjRkZGO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5TNDNOeUlnYUdWcFoyaDBQU0l6TUM0MU1pSWdkbWxsZDBKdmVEMGlNQ0F3SURJMUxqYzNJRE13TGpVeUlqNDhkR2wwYkdVKzQ0S2k0NEs3NDRPRDQ0T0lJRE04TDNScGRHeGxQanhuSUdsa1BTTGpnNnpqZ3FUamc2VGpnN3hmTWlJZ1pHRjBZUzF1WVcxbFBTTGpnNnpqZ3FUamc2VGpnN3dnTWlJK1BHY2dhV1E5SXVPRHJPT0NwT09EcE9PRHZGOHhMVElpSUdSaGRHRXRibUZ0WlQwaTQ0T3M0NEtrNDRPazQ0TzhJREVpUGp4d1lYUm9JR1E5SWsweU1TNHpNeXd6TUM0MU1rZzNMamcxUVRFdU5UVXNNUzQxTlN3d0xEQXNNU3cyTGpNc01qbGhNVEl1TkRZc01USXVORFlzTUN3d0xEQXRMall6TFRRdU5ESXNNalV1TVRZc01qVXVNVFlzTUN3d0xEQXROQzR5TlMwMWJDMHVNRFl0TGpBMlFUVXNOU3d3TERBc01Td3dMREUxTGpnMllUTXVOalFzTXk0Mk5Dd3dMREFzTVN3eExqRTNMVEl1TmpJc015NDJNeXd6TGpZekxEQXNNQ3d4TERVdU1UUXVNRGRXTXk0M04yRXpMamMzTERNdU56Y3NNQ3d4TERFc055NDFOQ3d3VmpndU16TmhNeTR6TlN3ekxqTTFMREFzTUN3eExERXVNallzTUN3ekxETXNNQ3d3TERFc01pd3hMakl5TERNdU5Td3pMalVzTUN3d0xERXNNaTB1TURZc015NHlNU3d6TGpJeExEQXNNQ3d4TERJc01TNDFOQ3d6TGpjMExETXVOelFzTUN3d0xERXNNeXd1TkRkQk5DNHlNU3cwTGpJeExEQXNNQ3d4TERJMUxqYzBMREUxWXpBc0xqRXhMREFzTGpJM0xEQXNMalEyWVRFNUxqSTJMREU1TGpJMkxEQXNNQ3d4TFM0NE5DdzNZeTB1TVRRdU16Z3RMak0yTGpneExTNDFOaXd4TGpJeWJDMHVNVEV1TWpKak1Dd3VNRGN0TGpBNUxqRTBMUzR4TkM0eU1XRTNMakV6TERjdU1UTXNNQ3d3TERBdE1TNHhOeXd5TGpFM1l5MHVNRFl1TlRZdExqQTJMREl1TVRVdExqQTFMREl1TnpGQk1TNDFOU3d4TGpVMUxEQXNNQ3d4TERJeExqTXpMRE13TGpVeVdrMDRMall4TERJNExqSXhhREV5WXpBdExqY3hMREF0TVM0M01TNHdOeTB5TGpJellUZ3VOelFzT0M0M05Dd3dMREFzTVN3eExqVTVMVE11TWpWc0xqQTJMUzR4TW1FeE1Dd3hNQ3d3TERBc01Dd3VORFl0TVN3eE5pNDRMREUyTGpnc01Dd3dMREFzTGpjdE5pNHhNbU13TFM0eU15d3dMUzQwTVN3d0xTNDFOR2d3WVRJc01pd3dMREFzTUMwdU5qUXRNUzQxTWl3eExqTXpMREV1TXpNc01Dd3dMREF0TVM0MU5TNHdPQ3d4TGpFekxERXVNVE1zTUN3d0xERXRNUzR4T0M0eU9Dd3hMakUxTERFdU1UVXNNQ3d3TERFdExqYzRMUzQ1TkN3eExqSTJMREV1TWpZc01Dd3dMREF0TGpjMUxURXVNVEVzTVN3eExEQXNNQ3d3TFRFdU1URXVNamhzTFM0eExqRmhNUzR4TlN3eExqRTFMREFzTUN3eExURXVNVGt1TWprc01TNHhOaXd4TGpFMkxEQXNNQ3d4TFM0M09DMHVPVFZqTFM0d09TMHVOamd0TGpJeExTNDNOeTB1TnkwdU9EZGhMamd5TGpneUxEQXNNQ3d3TFRFc0xqUTRMREV1TVRZc01TNHhOaXd3TERBc01TMHlMakUyTFM0MU9GWXpMamMzWVRFdU5EWXNNUzQwTml3d0xERXNNQzB5TGpreUxEQjJOeTQ0Tld3d0xEUXVNek5oTVM0eE55d3hMakUzTERBc01Dd3hMUzQ0TXl3eExqRXhMREV1TVRVc01TNHhOU3d3TERBc01TMHhMakl0TGpNMWJDMHhMUzQ1TVdNdExqUTNMUzQwTWkwdU56TXRMalkyTFM0NE5DMHVOemRoTVM0ek5Td3hMak0xTERBc01Dd3dMVEl0TGpFeVRESXVOeXd4TldFeExqTXlMREV1TXpJc01Dd3dMREF0TGpNNUxERkJNaTQxTnl3eUxqVTNMREFzTUN3d0xETXNNVGN1T0RWc01Dd3dZVEkzTGpJMExESTNMakkwTERBc01Dd3hMRFF1Tnl3MUxqWXlRVEV5TGpZekxERXlMall6TERBc01Dd3hMRGd1TmpFc01qZ3VNakZhVFRJekxqSXNNak11TXpWYVRUWXVOVEVzTVRZdU5UbGFJaUJtYVd4c1BTSWpabVptSWk4K1BDOW5Qand2Wno0OEwzTjJaejQ9KTsgfVxuXG4uc2Nyb2xsLWhpbnQtaWNvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpNeTR5T1NJZ2FHVnBaMmgwUFNJeE1pNHdNaUlnZG1sbGQwSnZlRDBpTUNBd0lETXpMakk1SURFeUxqQXlJajQ4ZEdsMGJHVSs0NEtpNDRLNzQ0T0Q0NE9JSURFOEwzUnBkR3hsUGp4bklHbGtQU0xqZzZ6amdxVGpnNlRqZzd4Zk1pSWdaR0YwWVMxdVlXMWxQU0xqZzZ6amdxVGpnNlRqZzd3Z01pSStQR2NnYVdROUl1T0RyT09DcE9PRHBPT0R2Rjh4TFRJaUlHUmhkR0V0Ym1GdFpUMGk0NE9zNDRLazQ0T2s0NE84SURFaVBqeHNhVzVsSUhneFBTSXhMamcxSWlCNU1UMGlOaTR3TVNJZ2VESTlJakV3TGpRaUlIa3lQU0kyTGpBeElpQm1hV3hzUFNJalptWm1JaTgrUEhCaGRHZ2daRDBpVFRFd0xqUXNOeTR4TjBneExqZzFZVEV1TVRZc01TNHhOaXd3TERFc01Td3dMVEl1TXpGSU1UQXVOR0V4TGpFMkxERXVNVFlzTUN3eExERXNNQ3d5TGpNeFdpSWdabWxzYkQwaUkyWm1aaUl2UGp4d1lYUm9JR1E5SWswM0xqUXNNVEpoTVM0eE5Td3hMakUxTERBc01Dd3hMUzQzTWkwdU1qVnNMVFl1TWpVdE5VRXhMaklzTVM0eUxEQXNNQ3d4TERBc05TNDROeXd4TGpFMExERXVNVFFzTUN3d0xERXNMalEyTERWTU5pNDNMakl6UVRFdU1UWXNNUzR4Tml3d0xEQXNNU3c0TGpFc01pNHdPRXd6TERVdU9URXNPQzR4TWl3eE1FRXhMakUyTERFdU1UWXNNQ3d3TERFc055NDBMREV5V2lJZ1ptbHNiRDBpSTJabVppSXZQanhzYVc1bElIZ3hQU0l6TVM0ME5TSWdlVEU5SWpZdU1ERWlJSGd5UFNJeU1pNDRPU0lnZVRJOUlqWXVNREVpSUdacGJHdzlJaU5tWm1ZaUx6NDhjR0YwYUNCa1BTSk5NekV1TkRVc055NHhOMGd5TWk0NE9XRXhMakUyTERFdU1UWXNNQ3d4TERFc01DMHlMak14YURndU5UWmhNUzR4Tml3eExqRTJMREFzTUN3eExEQXNNaTR6TVZvaUlHWnBiR3c5SWlObVptWWlMejQ4Y0dGMGFDQmtQU0pOTWpVdU9Td3hNbUV4TGpFNExERXVNVGdzTUN3d0xERXRMamt4TFM0ME0wRXhMakUzTERFdU1UY3NNQ3d3TERFc01qVXVNVGNzTVRCc05TNHdPUzAwTGpBMVRESTFMaklzTWk0d09FRXhMakUyTERFdU1UWXNNQ3d3TERFc01qWXVOVGt1TWpOTU16SXVPRFFzTldFeExqRTJMREV1TVRZc01Dd3dMREVzTGpRMUxqa3hMREV1TVRRc01TNHhOQ3d3TERBc01TMHVORE11T1RKc0xUWXVNalFzTlVFeExqRTNMREV1TVRjc01Dd3dMREVzTWpVdU9Td3hNbG9pSUdacGJHdzlJaU5tWm1ZaUx6NDhMMmMrUEM5blBqd3ZjM1puUGc9PSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIuNHM7IH1cblxuLnNjcm9sbC1oaW50LWljb24td3JhcC5pcy1hY3RpdmUgLnNjcm9sbC1oaW50LWljb246YWZ0ZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY3JvbGwtaGludC1pY29uLXdyYXAuaXMtYWN0aXZlIC5zY3JvbGwtaGludC1pY29uOmJlZm9yZSB7XG4gIGFuaW1hdGlvbjogc2Nyb2xsLWhpbnQtYXBwZWFyIDEuMnMgbGluZWFyO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAyOyB9XG5cbi5zY3JvbGwtaGludC1pY29uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG4uc2Nyb2xsLWhpbnQtaWNvbi13aGl0ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TlM0M055SWdhR1ZwWjJoMFBTSXpNQzQxTWlJZ2RtbGxkMEp2ZUQwaU1DQXdJREkxTGpjM0lETXdMalV5SWo0OGRHbDBiR1UrNDRLaTQ0Szc0NE9ENDRPSUlEUThMM1JwZEd4bFBqeG5JR2xrUFNMamc2empncVRqZzZUamc3eGZNaUlnWkdGMFlTMXVZVzFsUFNMamc2empncVRqZzZUamc3d2dNaUkrUEdjZ2FXUTlJdU9Eck9PQ3BPT0RwT09EdkY4eExUSWlJR1JoZEdFdGJtRnRaVDBpNDRPczQ0S2s0NE9rNDRPOElERWlQanh3WVhSb0lHUTlJazB5TVM0ek15d3pNQzQxTWtnM0xqZzFRVEV1TlRVc01TNDFOU3d3TERBc01TdzJMak1zTWpsaE1USXVORFlzTVRJdU5EWXNNQ3d3TERBdExqWXpMVFF1TkRJc01qVXVNVFlzTWpVdU1UWXNNQ3d3TERBdE5DNHlOUzAxYkMwdU1EWXRMakEyUVRVc05Td3dMREFzTVN3d0xERTFMamcyWVRNdU5qUXNNeTQyTkN3d0xEQXNNU3d4TGpFM0xUSXVOaklzTXk0Mk15d3pMall6TERBc01Dd3hMRFV1TVRRdU1EZFdNeTQzTjJFekxqYzNMRE11Tnpjc01Dd3hMREVzTnk0MU5Dd3dWamd1TXpOaE15NHpOU3d6TGpNMUxEQXNNQ3d4TERFdU1qWXNNQ3d6TERNc01Dd3dMREVzTWl3eExqSXlMRE11TlN3ekxqVXNNQ3d3TERFc01pMHVNRFlzTXk0eU1Td3pMakl4TERBc01Dd3hMRElzTVM0MU5Dd3pMamMwTERNdU56UXNNQ3d3TERFc015d3VORGRCTkM0eU1TdzBMakl4TERBc01Dd3hMREkxTGpjMExERTFZekFzTGpFeExEQXNMakkzTERBc0xqUTJZVEU1TGpJMkxERTVMakkyTERBc01Dd3hMUzQ0TkN3M1l5MHVNVFF1TXpndExqTTJMamd4TFM0MU5pd3hMakl5YkMwdU1URXVNakpqTUN3dU1EY3RMakE1TGpFMExTNHhOQzR5TVdFM0xqRXpMRGN1TVRNc01Dd3dMREF0TVM0eE55d3lMakUzWXkwdU1EWXVOVFl0TGpBMkxESXVNVFV0TGpBMUxESXVOekZCTVM0MU5Td3hMalUxTERBc01Dd3hMREl4TGpNekxETXdMalV5V2swNExqWXhMREk0TGpJeGFERXlZekF0TGpjeExEQXRNUzQzTVM0d055MHlMakl6WVRndU56UXNPQzQzTkN3d0xEQXNNU3d4TGpVNUxUTXVNalZzTGpBMkxTNHhNbUV4TUN3eE1Dd3dMREFzTUN3dU5EWXRNU3d4Tmk0NExERTJMamdzTUN3d0xEQXNMamN0Tmk0eE1tTXdMUzR5TXl3d0xTNDBNU3d3TFM0MU5HZ3dZVElzTWl3d0xEQXNNQzB1TmpRdE1TNDFNaXd4TGpNekxERXVNek1zTUN3d0xEQXRNUzQxTlM0d09Dd3hMakV6TERFdU1UTXNNQ3d3TERFdE1TNHhPQzR5T0N3eExqRTFMREV1TVRVc01Dd3dMREV0TGpjNExTNDVOQ3d4TGpJMkxERXVNallzTUN3d0xEQXRMamMxTFRFdU1URXNNU3d4TERBc01Dd3dMVEV1TVRFdU1qaHNMUzR4TGpGaE1TNHhOU3d4TGpFMUxEQXNNQ3d4TFRFdU1Ua3VNamtzTVM0eE5pd3hMakUyTERBc01Dd3hMUzQzT0MwdU9UVmpMUzR3T1MwdU5qZ3RMakl4TFM0M055MHVOeTB1T0RkaExqZ3lMamd5TERBc01Dd3dMVEVzTGpRNExERXVNVFlzTVM0eE5pd3dMREFzTVMweUxqRTJMUzQxT0ZZekxqYzNZVEV1TkRZc01TNDBOaXd3TERFc01DMHlMamt5TERCMk55NDROV3d3TERRdU16TmhNUzR4Tnl3eExqRTNMREFzTUN3eExTNDRNeXd4TGpFeExERXVNVFVzTVM0eE5Td3dMREFzTVMweExqSXRMak0xYkMweExTNDVNV010TGpRM0xTNDBNaTB1TnpNdExqWTJMUzQ0TkMwdU56ZGhNUzR6TlN3eExqTTFMREFzTUN3d0xUSXRMakV5VERJdU55d3hOV0V4TGpNeUxERXVNeklzTUN3d0xEQXRMak01TERGQk1pNDFOeXd5TGpVM0xEQXNNQ3d3TERNc01UY3VPRFZzTUN3d1lUSTNMakkwTERJM0xqSTBMREFzTUN3eExEUXVOeXcxTGpZeVFURXlMall6TERFeUxqWXpMREFzTUN3eExEZ3VOakVzTWpndU1qRmFUVEl6TGpJc01qTXVNelZhVFRZdU5URXNNVFl1TlRsYUlpOCtQQzluUGp3dlp6NDhMM04yWno0PSk7IH1cblxuLnNjcm9sbC1oaW50LWljb24td2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TXk0eU9TSWdhR1ZwWjJoMFBTSXhNaTR3TWlJZ2RtbGxkMEp2ZUQwaU1DQXdJRE16TGpJNUlERXlMakF5SWo0OGRHbDBiR1UrNDRLaTQ0Szc0NE9ENDRPSUlESThMM1JwZEd4bFBqeG5JR2xrUFNMamc2empncVRqZzZUamc3eGZNaUlnWkdGMFlTMXVZVzFsUFNMamc2empncVRqZzZUamc3d2dNaUkrUEdjZ2FXUTlJdU9Eck9PQ3BPT0RwT09EdkY4eExUSWlJR1JoZEdFdGJtRnRaVDBpNDRPczQ0S2s0NE9rNDRPOElERWlQanhzYVc1bElIZ3hQU0l4TGpnMUlpQjVNVDBpTmk0d01TSWdlREk5SWpFd0xqUWlJSGt5UFNJMkxqQXhJaTgrUEhCaGRHZ2daRDBpVFRFd0xqUXNOeTR4TjBneExqZzFZVEV1TVRZc01TNHhOaXd3TERFc01Td3dMVEl1TXpGSU1UQXVOR0V4TGpFMkxERXVNVFlzTUN3eExERXNNQ3d5TGpNeFdpSXZQanh3WVhSb0lHUTlJazAzTGpRc01USmhNUzR4TlN3eExqRTFMREFzTUN3eExTNDNNaTB1TWpWc0xUWXVNalV0TlVFeExqSXNNUzR5TERBc01Dd3hMREFzTlM0NE55d3hMakUwTERFdU1UUXNNQ3d3TERFc0xqUTJMRFZNTmk0M0xqSXpRVEV1TVRZc01TNHhOaXd3TERBc01TdzRMakVzTWk0d09Fd3pMRFV1T1RFc09DNHhNaXd4TUVFeExqRTJMREV1TVRZc01Dd3dMREVzTnk0MExERXlXaUl2UGp4c2FXNWxJSGd4UFNJek1TNDBOU0lnZVRFOUlqWXVNREVpSUhneVBTSXlNaTQ0T1NJZ2VUSTlJall1TURFaUx6NDhjR0YwYUNCa1BTSk5NekV1TkRVc055NHhOMGd5TWk0NE9XRXhMakUyTERFdU1UWXNNQ3d4TERFc01DMHlMak14YURndU5UWmhNUzR4Tml3eExqRTJMREFzTUN3eExEQXNNaTR6TVZvaUx6NDhjR0YwYUNCa1BTSk5NalV1T1N3eE1tRXhMakU0TERFdU1UZ3NNQ3d3TERFdExqa3hMUzQwTTBFeExqRTNMREV1TVRjc01Dd3dMREVzTWpVdU1UY3NNVEJzTlM0d09TMDBMakExVERJMUxqSXNNaTR3T0VFeExqRTJMREV1TVRZc01Dd3dMREVzTWpZdU5Ua3VNak5NTXpJdU9EUXNOV0V4TGpFMkxERXVNVFlzTUN3d0xERXNMalExTGpreExERXVNVFFzTVM0eE5Dd3dMREFzTVMwdU5ETXVPVEpzTFRZdU1qUXNOVUV4TGpFM0xERXVNVGNzTUN3d0xERXNNalV1T1N3eE1sb2lMejQ4TDJjK1BDOW5Qand2YzNablBnPT0pOyB9XG5cbi5zY3JvbGwtaGludC1pY29uLXdoaXRlIC5zY3JvbGwtaGludC10ZXh0IHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogU2VhcmNoIEZvcm1cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWFyY2gtZm9ybV9fY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwZW0gMGVtIDAuOTM3NWVtOyB9XG5cbi5zZWFyY2gtZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2VhcmNoLWZvcm1fX2lucHV0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAzLjJlbTsgfVxuXG4uc2VhcmNoLWZvcm1fX2J1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1ZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC42MjIyMmVtIDAuODMzMzNlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMC4xMjVyZW07XG4gIHRvcDogMC4xMjVyZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzOyB9XG5cbi5zZWFyY2gtZm9ybV9fYnV0dG9uOmZvY3VzLCAuc2VhcmNoLWZvcm1fX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjMTU3OEI5OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFNraXAgTGlua3NcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5za2lwLWxpbmtzIHtcbiAgYmFja2dyb3VuZDogI0UxMUExQTtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzQzMTkwMDtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxlZnQ6IC05OTllbTtcbiAgcGFkZGluZzogMC41ZW0gMC43NWVtO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiAtOTk5ZW07XG4gIHotaW5kZXg6IDk5OTsgfVxuXG4uc2tpcC1saW5rczpmb2N1cyB7XG4gIGxlZnQ6IDEuMjVlbTtcbiAgdG9wOiAxLjI1ZW07XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogU2hhcmUgQVBJIFBvbHlmaWxsIChodHRwczovL2dpdGh1Yi5jb20vTmFzY0hRL3NoYXJlLWFwaS1wb2x5ZmlsbCNyZWFkbWUpXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtaWQgKi9cbiNzaGFyZUFQSVBvbHlmaWxsLWJhY2tkcm9wLFxuI3NoYXJlQVBJUG9seWZpbGwtY29udGFpbmVyIHtcbiAgei1pbmRleDogOTk5OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFNsaWRlb3V0IChodHRwczovL3NsaWRlb3V0LmpzLm9yZy8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuICovXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwdmg7IH1cblxuLnNsaWRlb3V0LW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAwO1xuICB3aWR0aDogMjU2cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zbGlkZW91dC1tb3ZlLnNsaWRlb3V0LW1lbnUge1xuICB6LWluZGV4OiAzO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG5cbi5zbGlkZW91dC1tb3ZlLnNsaWRlb3V0LXBhbmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG5cbi5zbGlkZW91dC1tb3ZlLnNsaWRlb3V0LW1lbnUtbGVmdCB7XG4gIGxlZnQ6IC0yNTZweDsgfVxuXG4uc2xpZGVvdXQtbW92ZS5zbGlkZW91dC1tZW51LXJpZ2h0IHtcbiAgcmlnaHQ6IC0yNTZweDsgfVxuXG4uc2xpZGVvdXQtcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAvKiBBIGJhY2tncm91bmQtY29sb3IgaXMgcmVxdWlyZWQgKi9cbiAgbWluLWhlaWdodDogMTAwdmg7IH1cblxuLnNsaWRlb3V0LWRpbW1lciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5zbGlkZW91dC1vcGVuLFxuLnNsaWRlb3V0LW9wZW4gYm9keSxcbi5zbGlkZW91dC1vcGVuIC5zbGlkZW91dC1wYW5lbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNsaWRlb3V0LW9wZW4gLnNsaWRlb3V0LW1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2xpZGVvdXQtb3BlbiAuc2xpZGVvdXQtZGltbWVyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgei1pbmRleDogMjsgfVxuXG4uc2xpZGVvdXQtbWVudSB7XG4gIHdpZHRoOiAyODBweDsgfVxuXG4uc2xpZGVvdXQtbWVudS5zbGlkZW91dC1tb3ZlLnNsaWRlb3V0LW1lbnUtbGVmdCB7XG4gIGxlZnQ6IC0yODBweDsgfVxuXG4uc2xpZGVvdXQtZGltbWVyIHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uc2xpZGVvdXQtb3BlbiAuc2xpZGVvdXQtZGltbWVyIHtcbiAgei1pbmRleDogMTAwMDAwOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFN3aXBlciAoaHR0cDovL2lkYW5nZXJvLnVzL3N3aXBlci8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuICovXG4vKipcbiAqIFN3aXBlciA0LjUuMVxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMTkgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogU2VwdGVtYmVyIDEzLCAyMDE5XG4gKi9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgcmlnaHQgdG9wLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi14O1xuICB0b3VjaC1hY3Rpb246IHBhbi14OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDI3cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luLXRvcDogLTIycHg7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIHJpZ2h0OiAxMHB4O1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICB0cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIEJ1bGxldHMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuMjsgfVxuXG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogNnB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiA4cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMCA0cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLXJ0bCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzcHg7XG4gIHRvcDogMSU7XG4gIHotaW5kZXg6IDUwO1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDk4JTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtby1vYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIFByZWxvYWRlciAqL1xuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlOyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyM2ZmZiclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLyogYTExeSAqL1xuLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xMDAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjY7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHotaW5kZXg6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlciB7XG4gIC8qIFdpbmRvd3MgOCBJRSAxMCBmaXggKi9cbiAgLW1zLXBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuQGtleWZyYW1lcyBrZW5idXJucyB7XG4gIDEwMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDEuMTUsIDEuMTUpIHRyYW5zbGF0ZTNkKC0zLjg5NSUsIC00Ljk1MyUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBrZW5idXJuc1JldmVyc2Uge1xuICAxMDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAxLjE1LCAxLjE1KSB0cmFuc2xhdGUzZCgzLjg5NSUsIDQuOTUzJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnN3aXBlci1zbGlkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnN3aXBlci1zbGlkZTpub3QoLnN3aXBlci1zbGlkZS1hY3RpdmUpIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItcGljdHVyZSB7XG4gIGZsZXg6IG5vbmU7IH1cblxuLnN3aXBlci1waWN0dXJlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogNzYuNTMzMzMlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaGVyby1ibG9jay0taG9tZSAuc3dpcGVyLXBpY3R1cmU6OmFmdGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEwNC4yNjY2NyU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnN3aXBlci1waWN0dXJlOjphZnRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDI5LjAxMDQyJTsgfVxuICAuaGVyby1ibG9jay0taG9tZSAuc3dpcGVyLXBpY3R1cmU6OmFmdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzMuMzg1NDIlOyB9IH1cblxuLnN3aXBlci1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3dpcGVyLWNhcHRpb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTg4ZGVnLCByZ2JhKDAsIDAsIDAsIDApIDAlLCByZ2JhKDAsIDAsIDAsIDAuMzUpIDU4JSwgcmdiYSgwLCAwLCAwLCAwLjQ2KSAxMDAlKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIGF1dG87XG4gIGluc2V0OiAwO1xuICBwYWRkaW5nOiAxLjE3MTg4cmVtIDEuNTYyNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkLnN3aXBlci1jb250YWluZXItLWhvbWUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1jYXB0aW9uIHtcbiAgYW5pbWF0aW9uOiBmYWRlSW4gMnMgZm9yd2FyZHM7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXBlci1jYXB0aW9uIC5zd2lwZXItY2FwdGlvbi1pbm5lcixcbi5zd2lwZXItY2FwdGlvbiAuaGVyby1jYXB0aW9uLWlubmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDg3LjVlbTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0tZnVsbGJsZWVkIC5zd2lwZXItY2FwdGlvbiAuc3dpcGVyLWNhcHRpb24taW5uZXIge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAuaGVyby1ibG9jay0taG9tZSAuc3dpcGVyLWNhcHRpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy41NjI1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmhlcm8tYmxvY2stLWhvbWUgLnN3aXBlci1jYXB0aW9uIC5zd2lwZXItY2FwdGlvbi1jb3JlIHtcbiAgICBtYXgtd2lkdGg6IDM1LjYyNWVtOyB9IH1cblxuLnN3aXBlci10aXRsZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDJlbTsgfVxuXG4uaGVyby1ibG9jay0taG9tZSAuc3dpcGVyLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhlcm8tYmxvY2stLWhvbWUgLnN3aXBlci10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjYyNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzU3MTRlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLnN3aXBlci11c2VyLWNvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uc3dpcGVyLXVzZXItY29udGVudCAudGV4dCB7XG4gIGZvbnQtcmFuZ2U6IDQ4ZW0gODBlbTtcbiAgZm9udC1zaXplOiByZXNwb25zaXZlIDAuODc1cmVtIDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQ1MDtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzFlbTsgfVxuXG4uaGVyby1ibG9jay0taG9tZSAuc3dpcGVyLXVzZXItY29udGVudCAudGV4dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVyby1ibG9jay0taG9tZSAuc3dpcGVyLXVzZXItY29udGVudCAudGV4dCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5zd2lwZXItYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzE1NzhCOTtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICB3aWR0aDogMS41ZW07XG4gIHotaW5kZXg6IDk5OTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi5zd2lwZXItYnV0dG9uLS1lbmxhcmdlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHJpZ2h0OiAxZW07XG4gIHRvcDogMWVtO1xuICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24uc3dpcGVyLWJ1dHRvbi0tcHJldiB7XG4gIGxlZnQ6IDFlbTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24uc3dpcGVyLWJ1dHRvbi0tcHJldiB7XG4gIHJpZ2h0OiAxZW07IH1cblxuLnN3aXBlci1idXR0b24uc3dpcGVyLWJ1dHRvbi0tbmV4dCB7XG4gIHJpZ2h0OiAxZW07IH1cblxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLnN3aXBlci1idXR0b24tLW5leHQge1xuICBsZWZ0OiAxZW07IH1cblxuLnN3aXBlci1idXR0b24gLnN3aXBlci1idXR0b24taWNvbiB7XG4gIGxlZnQ6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGhlaWdodDogMC42MjVlbTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbiAgd2lkdGg6IDAuNjI1ZW07IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDEuMjVlbSAwLjMxMjVlbTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTc4Qjk7IH1cblxuLyogZ2FsbGVyeSB2YXJpYW50ICovXG4uc3dpcGVyLWNvbnRhaW5lci0tZ2FsbGVyeSB7XG4gIG1hcmdpbjogMGVtIDBlbSAxLjg3NWVtOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLS1nYWxsZXJ5IC5zd2lwZXItc2xpZGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0tZ2FsbGVyeSAuc3dpcGVyLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0tZ2FsbGVyeSAuc3dpcGVyLXNsaWRlX19mbG9vcnBsYW5fX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnN3aXBlci1jb250YWluZXItLWdhbGxlcnkgLnN3aXBlci1zbGlkZV9fZmxvb3JwbGFuX19jb250YWluZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogNzQuNjQ3ODklO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0tZ2FsbGVyeSAuc3dpcGVyLXNsaWRlX19mbG9vcnBsYW5fX2NvbnRhaW5lciAuc3dpcGVyLXNsaWRlX19mbG9vcnBsYW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0tZ2FsbGVyeSAuc3dpcGVyLXNsaWRlX19mbG9vcnBsYW5fX2NvbnRhaW5lciAuc3dpcGVyLWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLS1ob21lIHtcbiAgLyoqXG4gICAgICogRGVmYXVsdCBzdGF0ZSBpcyBpdHMgZmluYWwgdHJhbnNmb3JtLCB0byBwcmV2ZW50IHNsaWRlIGp1bXBpbmcgZHVyaW5nIHRyYW5zaXRpb25cbiAgICAgKi9cbiAgLyoqXG4gICAgICogRGVmYXVsdCBzdGF0ZSBpcyBpdHMgZmluYWwgdHJhbnNmb3JtLCB0byBwcmV2ZW50IHNsaWRlIGp1bXBpbmcgZHVyaW5nIHRyYW5zaXRpb25cbiAgICAgKi8gfVxuICAuc3dpcGVyLWNvbnRhaW5lci0taG9tZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXJfX2ltYWdlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSkgdHJhbnNsYXRlM2QoLTkuODk1JSwgLTEzLjk1MyUsIDApOyB9XG4gIC5zd2lwZXItY29udGFpbmVyLS1ob21lIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLS1hbHRlcm5hdGUgLnN3aXBlcl9faW1hZ2Uge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KSB0cmFuc2xhdGUzZCg5Ljg5NSUsIDEzLjk1MyUsIDApOyB9XG4gIC5zd2lwZXItY29udGFpbmVyLS1ob21lIC5zd2lwZXItc2xpZGUgLnN3aXBlci1pbWFnZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuNSwgMS41LCAxLjUpIHRyYW5zbGF0ZTNkKC05Ljg5NSUsIC0xMy45NTMlLCAwKTsgfVxuICAuc3dpcGVyLWNvbnRhaW5lci0taG9tZSAuc3dpcGVyLXNsaWRlLnN3aXBlci1zbGlkZS0tYWx0ZXJuYXRlIC5zd2lwZXItaW1hZ2Uge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KSB0cmFuc2xhdGUzZCg5Ljg5NSUsIDEzLjk1MyUsIDApOyB9XG4gIC5zd2lwZXItY29udGFpbmVyLS1ob21lOm5vdCguc3dpcGVyLWNvbnRhaW5lci1pbml0aWFsaXplZCkgLnN3aXBlci1zbGlkZSAuc3dpcGVyLWltYWdlLFxuICAuc3dpcGVyLWNvbnRhaW5lci0taG9tZS5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItaW1hZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAuc3dpcGVyLWNvbnRhaW5lci0taG9tZTpub3QoLnN3aXBlci1jb250YWluZXItaW5pdGlhbGl6ZWQpIC5zd2lwZXItc2xpZGUgLnN3aXBlci1pbWFnZSxcbiAgLnN3aXBlci1jb250YWluZXItLWhvbWUuc3dpcGVyLWNvbnRhaW5lci1pbml0aWFsaXplZCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLWltYWdlIHtcbiAgICBhbmltYXRpb246IGtlbmJ1cm5zIDE1cyBmb3J3YXJkczsgfVxuICAuc3dpcGVyLWNvbnRhaW5lci0taG9tZTpub3QoLnN3aXBlci1jb250YWluZXItaW5pdGlhbGl6ZWQpIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLS1hbHRlcm5hdGUgLnN3aXBlci1pbWFnZSxcbiAgLnN3aXBlci1jb250YWluZXItLWhvbWUuc3dpcGVyLWNvbnRhaW5lci1pbml0aWFsaXplZCAuc3dpcGVyLXNsaWRlLWFjdGl2ZS5zd2lwZXItc2xpZGUtLWFsdGVybmF0ZSAuc3dpcGVyLWltYWdlIHtcbiAgICBhbmltYXRpb246IGtlbmJ1cm5zUmV2ZXJzZSAxNXMgZm9yd2FyZHM7IH1cblxuLnN3aXBlci1jb250YWluZXItLXRlc3RpbW9uaWFscyAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFRhYmJ5IChodHRwczovL2dpdGh1Yi5jb20vY2ZlcmRpbmFuZGkvdGFiYnkjcmVhZG1lKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAudGFiYnlfX3RhYiB7XG4gICAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgI0Y1RjVGNTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIG1hcmdpbjogMGVtIDBlbSAwLjkzNzVlbTsgfVxuICAudGFiYnlfX3RhYl9fdG9nZ2xlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjNjI2MjYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNTYyNXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudGFiYnlfX3RhYl9fdG9nZ2xlX19pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMS4yNWVtOyB9XG4gIC50YWJieV9fdGFiX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwcmVtIDEuNTYyNXJlbSAxLjI1cmVtOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogVGVzdGltb25pYWxcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi50ZXN0aW1vbmlhbF9fY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNEOEQ4RDg7XG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuMDkzNzVyZW0gMS41NjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnRlc3RpbW9uaWFsX19jb250ZW50OjphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiAxLjg3NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMS41NjI1cmVtIHNvbGlkICNEOEQ4RDg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAxLjg3NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7IH1cblxuLnRlc3RpbW9uaWFsX191c2VyLWNvbnRlbnQgLnVzZXItY29udGVudF9fdGV4dCB7XG4gIGNvbG9yOiAjM0IzQjNCO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogMS4xODc1ZW07IH1cblxuLnRlc3RpbW9uaWFsX191c2VyLWNvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnRlc3RpbW9uaWFsX19hdXRob3Ige1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xuICBsaW5lLWhlaWdodDogMS4xODc1ZW07XG4gIG1hcmdpbjogMS4yNXJlbSAwcmVtIDByZW0gNC42ODc1cmVtOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFRpbGVkIEdhbGxlcnlcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi50aWxlZC1nYWxsZXJ5LWl0ZW0gLnRpbGVkLWdhbGxlcnktY2FwdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1yYW5nZTogNDhlbSA4MGVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMWVtIDEuMzc1ZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogVG9vbHRpcFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnRvb2x0aXAge1xuICBiYWNrZ3JvdW5kOiAjMTU3OEI5O1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nOiAwLjI1ZW0gMC41ZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIHZpc2liaWxpdHkgMHMgMC4xNXM7IH1cblxuLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgbWFyZ2luLXRvcDogMC42MjVlbTsgfVxuXG4udG9vbHRpcFt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNWVtOyB9XG5cbi50b29sdGlwW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1ZW07IH1cblxuLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVlbTsgfVxuXG4udG9vbHRpcFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1czsgfVxuXG4udG9vbHRpcF9fYXJyb3cge1xuICBib3JkZXItY29sb3I6ICMxNTc4Qjk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwLjMxMjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1ZW07XG4gIG1hcmdpbi10b3A6IDAuMzEyNWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwOyB9XG5cbi50b29sdGlwW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAudG9vbHRpcF9fYXJyb3cge1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDBlbSAwLjMxMjVlbSAwLjMxMjVlbSAwLjMxMjVlbTtcbiAgbGVmdDogY2FsYyg1MCUgLSAwLjMxMjVlbSk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRvcDogLTAuMzEyNWVtOyB9XG5cbi50b29sdGlwW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLnRvb2x0aXBfX2Fycm93IHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDAuMzEyNWVtIDBlbSAwLjMxMjVlbSAwLjMxMjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcmlnaHQ6IC0wLjMxMjVlbTtcbiAgdG9wOiBjYWxjKDUwJSAtIDAuMzEyNWVtKTsgfVxuXG4udG9vbHRpcFt4LXBsYWNlbWVudF49XCJyaWdodFwiXSAudG9vbHRpcF9fYXJyb3cge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAwLjMxMjVlbSAwLjMxMjVlbSAwLjMxMjVlbSAwZW07XG4gIGxlZnQ6IC0wLjMxMjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgdG9wOiBjYWxjKDUwJSAtIDAuMzEyNWVtKTsgfVxuXG4udG9vbHRpcFt4LXBsYWNlbWVudF49XCJ0b3BcIl0gLnRvb2x0aXBfX2Fycm93IHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAwLjMxMjVlbSAwLjMxMjVlbSAwZW0gMC4zMTI1ZW07XG4gIGJvdHRvbTogLTAuMzEyNWVtO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDAuMzEyNWVtKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBXUCBDYXB0aW9uXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ud3AtY2FwdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi53cC1jYXB0aW9uLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi53cC1jYXB0aW9uLXRleHQge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogMS43NWVtO1xuICBtYXJnaW46IDAuODc1ZW0gMGVtIDEuNzVlbTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFBhZ2VcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwsXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogIzA1MDQwRDtcbiAgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bztcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBhZ2VfX2NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICMwNTA0MEQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wYWdlX19jb250YWluZXIgI2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4ucGFnZV9fY29udGFpbmVyIC5jb250ZW50LWJsb2NrIHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogSGVhZGVyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uaGVhZGVyLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhlYWRlci1ibG9jay5oZWFkZXItYmxvY2stLW92ZXJsYXk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGluc2V0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7IH1cblxuLmhlYWRlci1ibG9jay5oZWFkZXItYmxvY2stLW92ZXJsYXk6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vbWVkaWEvaGVhZGVyLWN1cnZlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogM3Z3O1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IGNhbGMoMTAwJSAtIDAuMDYyNXJlbSk7XG4gIHotaW5kZXg6IDE7IH1cblxuLmhlYWRlcl9faW5uZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA5MC42MjVyZW07XG4gIHBhZGRpbmc6IDByZW0gMS41NjI1cmVtIDEuNTYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzOyB9XG5cbi5oZWFkZXJfX2lubmVyIC5waG9uZV9fY29sIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLmhlYWRlcl9faW5uZXIgLmhlYWRlcl9fYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICNFMTFBMUE7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIHBhZGRpbmc6IDA7IH1cblxuLmhlYWRlcl9faW5uZXIgLmhlYWRlcl9fYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwOEY4RjtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaGVhZGVyX19pbm5lciAuaGVhZGVyX19idXR0b24sXG4gIC5oZWFkZXJfX2lubmVyIC50aXRsZV9fbGluayB7XG4gICAgbWFyZ2luOiAwLjVyZW0gMHJlbTsgfVxuICAuaGVhZGVyX19pbm5lciAuaGVhZGVyX19idXR0b24ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLmhlYWRlcl9faW5uZXIgLmhlYWRlcl9fYnV0dG9uOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmhlYWRlcl9faW5uZXIgLmhlYWRlcl9fYnV0dG9uOmhvdmVyLFxuICAuaGVhZGVyX19pbm5lciAuaGVhZGVyX19idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgY29sb3I6ICNFMTFBMUE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0gfVxuXG4uaGVhZGVyX19yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhlYWRlcl9fcm93LmhlYWRlcl9fcm93LS1maXJzdCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuXG4uaGVhZGVyX19yb3cuaGVhZGVyX19yb3ctLWZpcnN0OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEOEQ4O1xuICBib3R0b206IDA7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMC4xODc1cmVtO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxLjEyNWVtO1xuICB6LWluZGV4OiAtMTsgfVxuXG4uaGVhZGVyX19yb3cucm93LS1wYWRkZWQge1xuICB3aWR0aDogY2FsYygxMDAlICsgMS4xMjVlbSk7IH1cblxuLmhlYWRlcl9fcm93LnJvdy0tcGFkZGVkID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjEyNWVtOyB9XG5cbi5oZWFkZXJfX3RpdGxlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtcmFuZ2U6IDQ4ZW0gODBlbTtcbiAgZm9udC1zaXplOiByZXNwb25zaXZlIDAuNjI1ZW0gMC44NzVlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTgzMzNlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5oZWFkZXJfX3RpdGxlIC50aXRsZV9fbGluayB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwLjQzNzVyZW0gMHJlbTsgfVxuXG4uaGVhZGVyX190aXRsZSAubGlua19fdGl0bGUge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjkyODU3ZW07IH1cblxuLmhlYWRlcl9fdGl0bGUgLmxpbmtfX3RleHQge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi5oZWFkZXJfX3RleHQge1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAwLjkzNzVlbSAxLjI1ZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaGVhZGVyX190ZXh0IC5saW5rLCAuaGVhZGVyX190ZXh0IC51c2VyLWNvbnRlbnQgYVtocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgLmhlYWRlcl9fdGV4dCBhW2hyZWZePVwidGVsOlwiXSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc5LjkzNzVlbSkge1xuICAuY29sLS1sb2dvIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIG9yZGVyOiAtMTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jb2wtLXNlYXJjaCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9IH1cblxuLmhlYWRlcl9fbG9nbyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAyMS4zNzVlbTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oZWFkZXJfX2xvZ28ge1xuICAgIG1heC13aWR0aDogMTguMTI1ZW07XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uaGVhZGVyX19tZW51LWxpc3RfX2NvbnRhaW5lciAubWVudS1saXN0LS1zb2NpYWwgLm1lbnUtbGlzdF9fbGluayB7XG4gIGNvbG9yOiAjMTU3OEI5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmhlYWRlcl9fbWVudS1saXN0X19jb250YWluZXIgLm1lbnUtbGlzdC0tc29jaWFsIC5tZW51LWxpc3RfX2xpbms6Zm9jdXMsIC5oZWFkZXJfX21lbnUtbGlzdF9fY29udGFpbmVyIC5tZW51LWxpc3QtLXNvY2lhbCAubWVudS1saXN0X19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICM3Q0M4Rjk7IH1cblxuLmhlYWRlcl9fcGFuZWwtdG9nZ2xlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1czsgfVxuXG4uaGVhZGVyX19zZWFyY2gtZm9ybV9fY29udGFpbmVyLnNlYXJjaC1mb3JtX19jb250YWluZXItLWV4cGFuZGFibGUuaXMtYWN0aXZlICsgLmhlYWRlcl9fcGFuZWwtdG9nZ2xlW2RhdGEtdG9nZ2xlPVwidG9nZ2xlLXNlYXJjaFwiXSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhlYWRlcl9fc2VhcmNoLWZvcm1fX2NvbnRhaW5lci5zZWFyY2gtZm9ybV9fY29udGFpbmVyLS1leHBhbmRhYmxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDEuMTcxODhyZW0gMS41NjI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IC05OTllbTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cywgdG9wIDBzIDAuMTVzLCB2aXNpYmlsaXR5IDBzIDAuMTVzO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAyNXJlbTtcbiAgei1pbmRleDogMjsgfVxuXG4uaGVhZGVyLWJsb2NrLS1vdmVybGF5IC5oZWFkZXJfX3NlYXJjaC1mb3JtX19jb250YWluZXIuc2VhcmNoLWZvcm1fX2NvbnRhaW5lci0tZXhwYW5kYWJsZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmhlYWRlcl9fc2VhcmNoLWZvcm1fX2NvbnRhaW5lci5zZWFyY2gtZm9ybV9fY29udGFpbmVyLS1leHBhbmRhYmxlLmlzLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uaGVhZGVyX19zZWFyY2gtZm9ybV9fY29udGFpbmVyIC5zZWFyY2gtZm9ybSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDQzLjc1cmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBOYXZpZ2F0aW9uXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubmF2aWdhdGlvbi1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDsgfVxuXG4ubmF2aWdhdGlvbl9faW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjMTU3OEI5O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA4Ny41cmVtO1xuICBtYXgtd2lkdGg6IGNhbGMoODcuNXJlbSArIDEuNmVtKTsgfVxuXG4ubmF2aWdhdGlvbl9fZmlndXJlIHtcbiAgbWFyZ2luOiAwZW0gMGVtIDAuNWVtOyB9XG5cbi5uYXZpZ2F0aW9uX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubmF2aWdhdGlvbl9fbWVudS1saXN0X19jb250YWluZXIgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0X19saW5rLFxuLm5hdmlnYXRpb25fX21lbnUtbGlzdF9fY29udGFpbmVyIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuLm5hdmlnYXRpb25fX21lbnUtbGlzdF9fY29udGFpbmVyIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9fbGluazphY3RpdmUsXG4ubmF2aWdhdGlvbl9fbWVudS1saXN0X19jb250YWluZXIgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0X190b2dnbGU6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyB9XG5cbi5uYXZpZ2F0aW9uX19tZW51LWxpc3RfX2NvbnRhaW5lciAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfX2l0ZW0uaXMtYWN0aXZlID4gLm1lbnUtbGlzdF9fbGluayxcbi5uYXZpZ2F0aW9uX19tZW51LWxpc3RfX2NvbnRhaW5lciAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfX2l0ZW0uaXMtYWN0aXZlID4gLm1lbnUtbGlzdF9fdG9nZ2xlLFxuLm5hdmlnYXRpb25fX21lbnUtbGlzdF9fY29udGFpbmVyIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9faXRlbTpmb2N1cy13aXRoaW4gPiAubWVudS1saXN0X19saW5rLFxuLm5hdmlnYXRpb25fX21lbnUtbGlzdF9fY29udGFpbmVyIC5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9faXRlbTpmb2N1cy13aXRoaW4gPiAubWVudS1saXN0X190b2dnbGUsXG4ubmF2aWdhdGlvbl9fbWVudS1saXN0X19jb250YWluZXIgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0X19pdGVtOmhvdmVyID4gLm1lbnUtbGlzdF9fbGluayxcbi5uYXZpZ2F0aW9uX19tZW51LWxpc3RfX2NvbnRhaW5lciAubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfX2l0ZW06aG92ZXIgPiAubWVudS1saXN0X190b2dnbGUge1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4vKiBmdWxsYmxlZWQgdmFyaWFudCAqL1xuLm5hdmlnYXRpb24tYmxvY2stLWZ1bGxibGVlZCB7XG4gIGJhY2tncm91bmQ6ICMxNTc4Qjk7IH1cblxuLm5hdmlnYXRpb24tYmxvY2stLWZ1bGxibGVlZCA+IC5uYXZpZ2F0aW9uX19pbm5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLm5hdmlnYXRpb24tYmxvY2stLWZ1bGxibGVlZCA+IC5uYXZpZ2F0aW9uX19pbm5lci0tZnVsbGJsZWVkIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qIGZseW91dCB2YXJpYW50ICovXG4ubmF2aWdhdGlvbi1ibG9jay0tZmx5b3V0IHtcbiAgYmFja2dyb3VuZDogIzE1NzhCOTtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwMDEgIWltcG9ydGFudDsgfVxuXG4ubmF2aWdhdGlvbi1ibG9jay0tZmx5b3V0Om5vdCguc2xpZGVvdXQtbWVudSkge1xuICBsZWZ0OiAtOTk5ZW07XG4gIHRvcDogLTk5OWVtOyB9XG5cbi5uYXZpZ2F0aW9uLWJsb2NrLS1mbHlvdXQgPiAubmF2aWdhdGlvbl9faW5uZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEhlcm9cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5oZXJvLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzOyB9XG5cbi5oZXJvX19pbm5lciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDg3LjVyZW07XG4gIHBhZGRpbmc6IDEuMTcxODhyZW0gMS41NjI1cmVtOyB9XG5cbi5oZXJvX19wcm9kdWN0LWZpbHRlciB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDEuNTYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oZXJvX19wcm9kdWN0LWZpbHRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogMTAwdnc7XG4gIHotaW5kZXg6IDA7IH1cblxuLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cbi5oZXJvLWJsb2NrLS1mdWxsYmxlZWQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAxLjE3MTg4cmVtIDEuNTYyNXJlbTsgfVxuXG4uaGVyby1ibG9jay0tZnVsbGJsZWVkID4gLmhlcm9fX2lubmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4uaGVyby1ibG9jay0tZnVsbGJsZWVkID4gLmhlcm9fX2lubmVyLS1mdWxsYmxlZWQge1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLmhlcm8tYmxvY2stLWludGVybmFsIC5zd2lwZXItcGljdHVyZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDY3LjIlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVyby1ibG9jay0taW50ZXJuYWwgLnN3aXBlci1waWN0dXJlOjphZnRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1LjUyMDgzJTsgfSB9XG5cbi5oZXJvLWJsb2NrLS1pbnRlcm5hbCAuc3dpcGVyLWNhcHRpb24ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHBhZGRpbmctYm90dG9tOiAyLjE4NzVyZW07IH1cblxuLmhlcm8tYmxvY2stLWludGVybmFsIC5zd2lwZXItdGl0bGUge1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAxLjc1cmVtIDMuMTI1cmVtOyB9XG5cbi5oZXJvLWJsb2NrLS1pbnRlcm5hbCAuc3dpcGVyLWNhcHRpb24gLnN3aXBlcl9fbGluayxcbi5oZXJvLWJsb2NrLS1pbnRlcm5hbCAuc3dpcGVyLXRpdGxlLnRpdGxlLS1oMixcbi5oZXJvLWJsb2NrLS1pbnRlcm5hbCAudXNlci1jb250ZW50IGgyLnN3aXBlci10aXRsZSxcbi51c2VyLWNvbnRlbnQgLmhlcm8tYmxvY2stLWludGVybmFsIGgyLnN3aXBlci10aXRsZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAwLjg3NXJlbSAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmhlcm8tYmxvY2stLWludGVybmFsIC5zd2lwZXItY2FwdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDUuOTM3NXJlbTsgfVxuICAuaGVyby1ibG9jay0taW50ZXJuYWwgLnN3aXBlci10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhlcm8tYmxvY2stLWludGVybmFsIC5zd2lwZXItY2FwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29udGVudFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvbnRlbnQtYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cblxuLmNvbnRlbnRfX2lubmVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogODcuNXJlbTtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDEuNTYyNXJlbSAxLjg3NXJlbTsgfVxuXG4uY29udGVudF9fcG9zdCB7XG4gIG1hcmdpbjogMHJlbSAwcmVtIDEuODc1cmVtOyB9XG5cbi5jb250ZW50X19zaWRlYmFyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgYm94LXNoYWRvdzogMHJlbSAwcmVtIDAuNDM3NXJlbSAwcmVtIHJnYmEoMCwgMCwgMCwgMC4zMzMzMzMpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMHJlbSAwcmVtIDEuODc1cmVtO1xuICBwYWRkaW5nOiAyLjE4NzVyZW0gMS41NjI1cmVtOyB9XG5cbi5jb250ZW50X19zaWRlYmFyLmNvbnRlbnRfX3NpZGViYXItLWFsdCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uY29udGVudF9fZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDsgfVxuXG4uY29udGVudF9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jb250ZW50X19oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG4uY29udGVudC1ibG9jay0tZnVsbGJsZWVkIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogNS44MTI1cmVtIDEuNTYyNXJlbSA0LjU2MjVyZW07IH1cblxuLmNvbnRlbnQtYmxvY2stLWZ1bGxibGVlZCA+IC5jb250ZW50X19pbm5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmNvbnRlbnQtYmxvY2stLWZ1bGxibGVlZCA+IC5jb250ZW50X19pbm5lci0tZnVsbGJsZWVkIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qIGFsdCB2YXJpYW50ICovXG4uY29udGVudC1ibG9jay0tYWx0IHtcbiAgYmFja2dyb3VuZDogI0VDRUNFQzsgfVxuXG4uY29udGVudC1ibG9jay0tYWx0LmNvbnRlbnQtYmxvY2stLW5hcnJvdyAuY29udGVudF9faW5uZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXgtd2lkdGg6IDc1cmVtOyB9XG5cbi5jb250ZW50LWJsb2NrLS1hbHQgLmNvbnRlbnRfX2ZpZ3VyZS0tYmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMDtcbiAgbWF4LWhlaWdodDogMTVlbTsgfVxuXG4uY29udGVudC1ibG9jay0tYWx0IC5jb250ZW50X19maWd1cmUtLWJhY2tncm91bmQgLmNvbnRlbnRfX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5jb250ZW50LWJsb2NrLS1ob21lIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi42MjVyZW07IH1cbiAgLmNvbnRlbnQtYmxvY2stLWhvbWUgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbjogMHJlbSAyLjgxMjVyZW0gMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5jb250ZW50LWJsb2NrLS10aWdodCB7XG4gIHBhZGRpbmctdG9wOiAwLjkzNzVyZW0gIWltcG9ydGFudDsgfVxuXG4uY29udGVudC1ibG9jay0tdGVzdGltb25pYWxzIHtcbiAgLS1zd2lwZXItY29udGFpbmVyLWhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5jb250ZW50LWJsb2NrLS10ZXN0aW1vbmlhbHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjYyNjI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAzLjc1cmVtIDEuNTYyNXJlbTsgfVxuICAuY29udGVudC1ibG9jay0tdGVzdGltb25pYWxzIC5jb250ZW50X19pbm5lciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jb250ZW50LWJsb2NrLS10ZXN0aW1vbmlhbHMgLnRlc3RpbW9uaWFsc19fc2xpZGVzaG93IHtcbiAgICAtLXN3aXBlci1jb250YWluZXItaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyAudGV4dCxcbiAgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyAudGl0bGUsXG4gIC5jb250ZW50LWJsb2NrLS10ZXN0aW1vbmlhbHMgLnVzZXItY29udGVudCBoMSxcbiAgLnVzZXItY29udGVudCAuY29udGVudC1ibG9jay0tdGVzdGltb25pYWxzIGgxLFxuICAuY29udGVudC1ibG9jay0tdGVzdGltb25pYWxzIC51c2VyLWNvbnRlbnQgaDIsXG4gIC51c2VyLWNvbnRlbnQgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyBoMixcbiAgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyAudXNlci1jb250ZW50IGgzLFxuICAudXNlci1jb250ZW50IC5jb250ZW50LWJsb2NrLS10ZXN0aW1vbmlhbHMgaDMsXG4gIC5jb250ZW50LWJsb2NrLS10ZXN0aW1vbmlhbHMgLnVzZXItY29udGVudCBoNCxcbiAgLnVzZXItY29udGVudCAuY29udGVudC1ibG9jay0tdGVzdGltb25pYWxzIGg0LFxuICAuY29udGVudC1ibG9jay0tdGVzdGltb25pYWxzIC51c2VyLWNvbnRlbnQgaDUsXG4gIC51c2VyLWNvbnRlbnQgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyBoNSB7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyAudGl0bGUtLWgyLFxuICAuY29udGVudC1ibG9jay0tdGVzdGltb25pYWxzIC51c2VyLWNvbnRlbnQgaDIsIC51c2VyLWNvbnRlbnQgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyBoMiB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyAudGl0bGUtLWgzLFxuICAuY29udGVudC1ibG9jay0tdGVzdGltb25pYWxzIC51c2VyLWNvbnRlbnQgaDMsIC51c2VyLWNvbnRlbnQgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyBoMyxcbiAgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyAudGV4dCB7XG4gICAgZm9udC1zaXplOiBmbHVpZCgxLjA2MjVyZW0sIDEuMTg3NXJlbSk7IH1cbiAgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyAudGl0bGUtLWgzLFxuICAuY29udGVudC1ibG9jay0tdGVzdGltb25pYWxzIC51c2VyLWNvbnRlbnQgaDMsIC51c2VyLWNvbnRlbnQgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyBoMyB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5jb250ZW50LWJsb2NrLS10ZXN0aW1vbmlhbHMgLnRleHQge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuY29udGVudC1ibG9jay0tdGVzdGltb25pYWxzIC5zd2lwZXItY29udGFpbmVyLS13ZWJsaW54LXN3aXBlciAuc3dpcGVyLWNhcHRpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjI2MjYyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMS4yNXJlbSA2LjI1cmVtIDByZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250ZW50LWJsb2NrLS10ZXN0aW1vbmlhbHMgLnN3aXBlci1jb250YWluZXItLXdlYmxpbngtc3dpcGVyIC5zd2lwZXItYnV0dG9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDMuNDM3NXJlbTtcbiAgICBoZWlnaHQ6IDMuNDM3NXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0b3A6IDMwJTtcbiAgICB3aWR0aDogMi44MTI1cmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY29udGVudC1ibG9jay0tdGVzdGltb25pYWxzIC5zd2lwZXItY29udGFpbmVyLS13ZWJsaW54LXN3aXBlciAuc3dpcGVyLWNhcHRpb24ge1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjU2MjVyZW0gMHJlbTsgfVxuICAgIC5jb250ZW50LWJsb2NrLS10ZXN0aW1vbmlhbHMgLnN3aXBlci1jb250YWluZXItLXdlYmxpbngtc3dpcGVyIC5zd2lwZXItYnV0dG9uIHtcbiAgICAgIGhlaWdodDogMi4xODc1cmVtO1xuICAgICAgd2lkdGg6IDIuMTg3NXJlbTsgfVxuICAgIC5jb250ZW50LWJsb2NrLS10ZXN0aW1vbmlhbHMgLnN3aXBlci1jb250YWluZXItLXdlYmxpbngtc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgLmNvbnRlbnQtYmxvY2stLXRlc3RpbW9uaWFscyAuc3dpcGVyLWNvbnRhaW5lci0td2VibGlueC1zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICByaWdodDogLTAuNjI1cmVtOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogRm9vdGVyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZm9vdGVyLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG5cbi5mb290ZXItYmxvY2sge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZvb3Rlcl9faW5uZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDYwMDQzIDUwJSwgIzA2MDA0MSA2NSUsICMwNTA0MEQgODUlKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogODcuNXJlbTtcbiAgcGFkZGluZzogMy43NXJlbSAxLjU2MjVyZW07IH1cblxuLmZvb3Rlcl9fYnV0dG9uLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDAuNTYyNWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS40Mzc1ZW07XG4gIHBhZGRpbmc6IDAuODc1ZW0gMS43NWVtOyB9XG5cbi5mb290ZXJfX3RleHQge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQzNzVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zNzVlbTsgfVxuXG4uZm9vdGVyX190ZXh0IC5saW5rLCAuZm9vdGVyX190ZXh0IC51c2VyLWNvbnRlbnQgYVtocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgLmZvb3Rlcl9fdGV4dCBhW2hyZWZePVwidGVsOlwiXSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmZvb3Rlcl9fdGV4dC50ZXh0LS1hbHQge1xuICBmb250LXNpemU6IDAuOTM3NWVtO1xuICBsaW5lLWhlaWdodDogMS40NjY2N2VtO1xuICBvcGFjaXR5OiAwLjI7IH1cblxuLmZvb3Rlcl9fdGV4dC50ZXh0LS1hZGRyZXNzOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb290ZXJfX3RleHQgLnRleHRfX2xpbms6bm90KC5saW5rLS1pbmhlcml0KSB7XG4gIGNvbG9yOiAjN0NDOEY5OyB9XG5cbi5mb290ZXJfX3RleHQgLnRleHRfX2xpbmsubGluay0taW5oZXJpdCwgLmZvb3Rlcl9fdGV4dCAudGl0bGUgLnRleHRfX2xpbmsubGluaywgLnRpdGxlIC5mb290ZXJfX3RleHQgLnRleHRfX2xpbmsubGluaywgLmZvb3Rlcl9fdGV4dCAudXNlci1jb250ZW50IGgxIC50ZXh0X19saW5rLmxpbmssIC51c2VyLWNvbnRlbnQgaDEgLmZvb3Rlcl9fdGV4dCAudGV4dF9fbGluay5saW5rLCAuZm9vdGVyX190ZXh0IC51c2VyLWNvbnRlbnQgaDIgLnRleHRfX2xpbmsubGluaywgLnVzZXItY29udGVudCBoMiAuZm9vdGVyX190ZXh0IC50ZXh0X19saW5rLmxpbmssIC5mb290ZXJfX3RleHQgLnVzZXItY29udGVudCBoMyAudGV4dF9fbGluay5saW5rLCAudXNlci1jb250ZW50IGgzIC5mb290ZXJfX3RleHQgLnRleHRfX2xpbmsubGluaywgLmZvb3Rlcl9fdGV4dCAudXNlci1jb250ZW50IGg0IC50ZXh0X19saW5rLmxpbmssIC51c2VyLWNvbnRlbnQgaDQgLmZvb3Rlcl9fdGV4dCAudGV4dF9fbGluay5saW5rLCAuZm9vdGVyX190ZXh0IC51c2VyLWNvbnRlbnQgaDUgLnRleHRfX2xpbmsubGluaywgLnVzZXItY29udGVudCBoNSAuZm9vdGVyX190ZXh0IC50ZXh0X19saW5rLmxpbmssIC5mb290ZXJfX3RleHQgLnRpdGxlIC51c2VyLWNvbnRlbnQgYS50ZXh0X19saW5rW2hyZWZePVwidGVsOlwiXSwgLnRpdGxlIC51c2VyLWNvbnRlbnQgLmZvb3Rlcl9fdGV4dCBhLnRleHRfX2xpbmtbaHJlZl49XCJ0ZWw6XCJdLCAuZm9vdGVyX190ZXh0IC51c2VyLWNvbnRlbnQgLnRpdGxlIGEudGV4dF9fbGlua1tocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgLnRpdGxlIC5mb290ZXJfX3RleHQgYS50ZXh0X19saW5rW2hyZWZePVwidGVsOlwiXSwgLmZvb3Rlcl9fdGV4dCAudXNlci1jb250ZW50IGgxIGEudGV4dF9fbGlua1tocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgaDEgLmZvb3Rlcl9fdGV4dCBhLnRleHRfX2xpbmtbaHJlZl49XCJ0ZWw6XCJdLCAuZm9vdGVyX190ZXh0IC51c2VyLWNvbnRlbnQgaDIgYS50ZXh0X19saW5rW2hyZWZePVwidGVsOlwiXSwgLnVzZXItY29udGVudCBoMiAuZm9vdGVyX190ZXh0IGEudGV4dF9fbGlua1tocmVmXj1cInRlbDpcIl0sIC5mb290ZXJfX3RleHQgLnVzZXItY29udGVudCBoMyBhLnRleHRfX2xpbmtbaHJlZl49XCJ0ZWw6XCJdLCAudXNlci1jb250ZW50IGgzIC5mb290ZXJfX3RleHQgYS50ZXh0X19saW5rW2hyZWZePVwidGVsOlwiXSwgLmZvb3Rlcl9fdGV4dCAudXNlci1jb250ZW50IGg0IGEudGV4dF9fbGlua1tocmVmXj1cInRlbDpcIl0sIC51c2VyLWNvbnRlbnQgaDQgLmZvb3Rlcl9fdGV4dCBhLnRleHRfX2xpbmtbaHJlZl49XCJ0ZWw6XCJdLCAuZm9vdGVyX190ZXh0IC51c2VyLWNvbnRlbnQgaDUgYS50ZXh0X19saW5rW2hyZWZePVwidGVsOlwiXSwgLnVzZXItY29udGVudCBoNSAuZm9vdGVyX190ZXh0IGEudGV4dF9fbGlua1tocmVmXj1cInRlbDpcIl0ge1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uZm9vdGVyX190ZXh0IC5idXR0b24ge1xuICBmb250LXNpemU6IDAuODc1ZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuZm9vdGVyX190ZXh0IC50ZXh0LFxuICAuZm9vdGVyX190ZXh0IC5mb290ZXJfX3RleHQsXG4gIC5mb290ZXJfX3RleHQgLnRpdGxlLFxuICAuZm9vdGVyX190ZXh0IC51c2VyLWNvbnRlbnQgaDEsXG4gIC51c2VyLWNvbnRlbnQgLmZvb3Rlcl9fdGV4dCBoMSxcbiAgLmZvb3Rlcl9fdGV4dCAudXNlci1jb250ZW50IGgyLFxuICAudXNlci1jb250ZW50IC5mb290ZXJfX3RleHQgaDIsXG4gIC5mb290ZXJfX3RleHQgLnVzZXItY29udGVudCBoMyxcbiAgLnVzZXItY29udGVudCAuZm9vdGVyX190ZXh0IGgzLFxuICAuZm9vdGVyX190ZXh0IC51c2VyLWNvbnRlbnQgaDQsXG4gIC51c2VyLWNvbnRlbnQgLmZvb3Rlcl9fdGV4dCBoNCxcbiAgLmZvb3Rlcl9fdGV4dCAudXNlci1jb250ZW50IGg1LFxuICAudXNlci1jb250ZW50IC5mb290ZXJfX3RleHQgaDUsXG4gIC5mb290ZXJfX3RleHQgLmZvb3Rlcl9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5mb290ZXJfX2xvZ28ge1xuICBtYXJnaW46IDBlbSBhdXRvIDJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICB3aWR0aDogMTcuNWVtOyB9XG5cbi5mb290ZXJfX2ltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4zNzVlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMjQuMzEyNWVtOyB9XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG4uZm9vdGVyLWJsb2NrLS1mdWxsYmxlZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkEyMzc1O1xuICBwYWRkaW5nOiAzLjc1cmVtIDEuNTYyNXJlbTsgfVxuXG4uZm9vdGVyLWJsb2NrLS1mdWxsYmxlZWQgPiAuZm9vdGVyX19pbm5lciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvb3Rlci1ibG9jay0tZnVsbGJsZWVkID4gLmZvb3Rlcl9faW5uZXItLWZ1bGxibGVlZCB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4uZm9vdGVyX19tZW51LWxpc3RfX2NvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZvb3Rlcl9fbWVudS1saXN0X19jb250YWluZXIge1xuICAgIHdpZHRoOiAyOS4zNzVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovIH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBBcnRpY2xlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5hcnRpY2xlX19maWd1cmVfX2NhcHRpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgNjYuNjY2NjclLCByZ2JhKDAsIDAsIDAsIDAuNikgODUlKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAyLjVyZW07IH1cbiAgLyogcHJvZHVjdC1leGNlcnB0IHZhcmlhbnQgKi9cbiAgLmFydGljbGUtLXByb2R1Y3QtZXhjZXJwdCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIENhbGxvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAuY2FsbG91dCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXZ3OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29sdW1uc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAuY29sdW1ucy0tMiB7XG4gICAgY29sdW1uczogMjsgfVxuICAuY29sdW1ucy0tMyB7XG4gICAgY29sdW1uczogMzsgfVxuICAuY29sdW1ucy0tNCB7XG4gICAgY29sdW1uczogNDsgfVxuICAuY29sdW1ucy0tNSB7XG4gICAgY29sdW1uczogNTsgfVxuICAuY29sdW1ucy0tNiB7XG4gICAgY29sdW1uczogNjsgfVxuICAuY29sdW1ucy0tNyB7XG4gICAgY29sdW1uczogNzsgfVxuICAuY29sdW1ucy0tOCB7XG4gICAgY29sdW1uczogODsgfVxuICAuY29sdW1ucy0tOSB7XG4gICAgY29sdW1uczogOTsgfVxuICAuY29sdW1ucy0tMTAge1xuICAgIGNvbHVtbnM6IDEwOyB9XG4gIC5jb2x1bW5zLS0xMSB7XG4gICAgY29sdW1uczogMTE7IH1cbiAgLmNvbHVtbnMtLTEyIHtcbiAgICBjb2x1bW5zOiAxMjsgfVxuICAuY29sdW1ucyB7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuY29sdW1ucyAudGV4dF9fbGlzdC1pdGVtIHtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZWFkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLmhlYWRlcl9faW5uZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgLmhlYWRlcl9faW5uZXIgLmhlYWRlcl9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmhlYWRlcl9faW5uZXIgLmhlYWRlcl9fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTExQTFBO1xuICAgIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC42NDI4NmVtIDAuNjQyODZlbTtcbiAgICBib3gtc2hhZG93OiAwcmVtIDAuMTI1cmVtIDByZW0gMHJlbSByZ2JhKDAsIDAsIDAsIDAuMjMpO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW46IDByZW0gMHJlbSAtMC42MjVyZW0gMHJlbTtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4xMjVyZW07IH1cbiAgLmhlYWRlcl9faW5uZXIgLmhlYWRlcl9fYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjA4RjhGO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5oZWFkZXJfX3Jvdy5oZWFkZXJfX3Jvdy0tZmlyc3Q6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEuNTYyNXJlbTsgfVxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5oZXJvLWJsb2NrICsgLmNvbnRlbnQtYmxvY2s6bm90KC5jb250ZW50LWJsb2NrLS1mdWxsYmxlZWQpID4gLmNvbnRlbnRfX2lubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMy40Mzc1cmVtOyB9XG4gIC5jb250ZW50X19zaWRlYmFyIHtcbiAgICB3aWR0aDogMjUuNzVlbTsgfVxuICAuY29udGVudF9fc2lkZWJhci5jb250ZW50X19zaWRlYmFyLS1hbHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjUuNzVlbTsgfVxuICAuY29udGVudF9fc2lkZWJhci5jb250ZW50X19zaWRlYmFyLS1hbHQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkEyQTJBO1xuICAgIGJvdHRvbTogLTUuNjI1cmVtO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNi44NzVyZW07XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG4gIC5jb250ZW50LWJsb2NrLS1mdWxsYmxlZWQge1xuICAgIHBhZGRpbmc6IDYuODc1cmVtIDEuNTYyNXJlbSA1LjYyNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1My4zMTI1ZW0pIHtcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogVGFiYnkgKGh0dHBzOi8vZ2l0aHViLmNvbS9jZmVyZGluYW5kaS90YWJieSNyZWFkbWUpXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC50YWJieV9fdGFiX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyLjVyZW07IH1cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEhlYWRlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZXJvXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5oZXJvX19wcm9kdWN0LWZpbHRlciA+ICoge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5oZXJvX19wcm9kdWN0LWZpbHRlciAucHJvZHVjdC1maWx0ZXJfX2J1dHRvbiB7XG4gICAgYm94LXNoYWRvdzogMHJlbSAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5oZXJvX19wcm9kdWN0LWZpbHRlciAucHJvZHVjdC1maWx0ZXJfX2lucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5oZXJvX19wcm9kdWN0LWZpbHRlciAucHJvZHVjdC1maWx0ZXJfX3RpdGxlLFxuICAuaGVyb19fcHJvZHVjdC1maWx0ZXIgLnByb2R1Y3QtZmlsdGVyX190ZXh0IHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5jb250ZW50X19zaWRlYmFyIHtcbiAgICB3aWR0aDogMjUuNzVlbTsgfVxuICAvKiBhbHQgdmFyaWFudCAqL1xuICAuY29udGVudC1ibG9jay0tYWx0IC5jb250ZW50X19hcnRpY2xlIC5hcnRpY2xlX191c2VyLWNvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5jb250ZW50X19zaWRlYmFyLmNvbnRlbnRfX3NpZGViYXItLWFsdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMy4xMjVyZW07IH1cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogRm9vdGVyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5mb290ZXItYmxvY2sge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmZvb3Rlcl9fYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mb290ZXJfX2J1dHRvbi5idXR0b24tLW9mZnNldCB7XG4gICAgbWFyZ2luLXRvcDogMmVtOyB9XG4gIC5mb290ZXJfX3RleHQudGV4dC0tb2Zmc2V0IHtcbiAgICBtYXJnaW4tdG9wOiAxLjc3Nzc4ZW07IH1cbiAgLmZvb3Rlcl9fbG9nbyB7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDAuNzVlbTtcbiAgICB3aWR0aDogMTguMjVlbTsgfVxuICAvKiBmdWxsYmxlZWQgdmFyaWFudCAqLyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODUuMzc1ZW0pIHtcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8gfVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZWxwZXJzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIHZlbmRvclxuXG5AaW1wb3J0IFwiYW5nbGVkLWVkZ2VzL19hbmdsZWQtZWRnZXNcIjtcblxuLy8gaW1wb3J0c1xuXG5AaW1wb3J0IFwiX21peGluc1wiO1xuQGltcG9ydCBcIl9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJfdmFyaWFibGVzXCI7XG5cbi8vIGdlbmVyaWMgaGVscGVyc1xuXG4uX19kYXJrIHtcbiAgICBjb2xvcjogY29sb3IoXCJkYXJrXCIpICFpbXBvcnRhbnQ7XG59XG5cbi5fX2xpZ2h0IHtcbiAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKSAhaW1wb3J0YW50O1xufVxuXG4uX19iaWcge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtICFpbXBvcnRhbnQ7XG59XG5cbi5fX3NtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVlbSAhaW1wb3J0YW50O1xufVxuXG4uX19ib2xkIHtcbiAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG59XG5cbi5fX2l0YWxpYyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbi5fX2xvd2VyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4uX191cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLl9fdGV4dGNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5fX3RleHRsZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5fX3RleHRyaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLl9fbm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi5fX2NlbnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLl9fbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLl9fcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uX19ub21hcmdpbiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5fX25vcGFkZGluZyB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uX19ub3RyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5fX25vdHJhbnNpdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uX19ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLl9fZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4uX192aXN1YWxseWhpZGRlbiB7XG4gICAgbGVmdDogLTk5OWVtICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAtOTk5ZW0gIWltcG9ydGFudDtcbn1cblxuLl9fcHJpbWFyeSB7XG4gICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiKSAhaW1wb3J0YW50O1xufVxuXG4uX19hY2NlbnQge1xuICAgIGNvbG9yOiBjb2xvcihcImFjY2VudFwiKSAhaW1wb3J0YW50O1xufVxuXG4uX19lcnJvciB7XG4gICAgY29sb3I6IGNvbG9yKFwiZXJyb3JcIikgIWltcG9ydGFudDtcbn1cblxuLl9fdzEwMCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLyogdmlzaWJpbGl0eSBjbGFzc2VzICovXG5cbi8vIHdoZW4gcG9pbnRlciBpcyBwcmVjaXNlIChtb3VzZSlcbkBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgIC5fX3RvdWNoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gd2hlbiBwb2ludGVyOiBmaW5lIGlzIG5vdCBzdXBwb3J0ZWRcbkBzdXBwb3J0cyBub3QgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAuX190b3VjaCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIHdoZW4gcG9pbnRlciBpcyBpbnByZWNpc2UgKHRvdWNoKVxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAuX19tb3VzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIHdoZW4gcHJpbnRpbmdcbkBtZWRpYSBwcmludCB7XG4gICAgLl9fbm9wcmludCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIFwidmlzaWJsZVwiIGNsYXNzZXMgKi9cblxuLy8gJHhzLWJyZWFrXG5cbi5fX3Zpc2libGUteHMge1xuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbih4cykge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyAkcy1icmVha1xuXG4uX192aXNpYmxlLXMge1xuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbihzKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vICRtLWJyZWFrXG5cbi5fX3Zpc2libGUtbSB7XG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKG0pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gJGwtYnJlYWtcblxuLl9fdmlzaWJsZS1sIHtcbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyAkeGwtYnJlYWtcblxuLl9fdmlzaWJsZS14bCB7XG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHhsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vICR4eGwtYnJlYWtcblxuLl9fdmlzaWJsZS14eGwge1xuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbih4eGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogXCJoaWRkZW5cIiBjbGFzc2VzIC0tIE5PVEU6IEl0IGlzIGltcG9ydGFudCB0aGF0IF9oaWRkZW4gY2xhc3NlcyBjb21lIGFmdGVyIF92aXNpYmxlIGZvciBvdmVycmlkZSBwdXJwb3NlcyAqL1xuXG4vLyAkeHMtYnJlYWtcblxuLl9faGlkZGVuLXhzIHtcbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbih4cykge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyAkcy1icmVha1xuXG4uX19oaWRkZW4tcyB7XG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4ocykge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyAkbS1icmVha1xuXG4uX19oaWRkZW4tbSB7XG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyAkbC1icmVha1xuXG4uX19oaWRkZW4tbCB7XG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyAkeGwtYnJlYWtcblxuLl9faGlkZGVuLXhsIHtcbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbih4bCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyAkeHhsLWJyZWFrXG5cbi5fX2hpZGRlbi14eGwge1xuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKHh4bCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNaXhpbnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gbnRoLWNoaWxkOiBodHRwczovL3BhdWx1bmQuY28udWsvbnRoLWNoaWxkLXNhc3MtbWl4aW5zXG5cbkBtaXhpbiBmaXJzdC1jaGlsZCgpIHtcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBsYXN0LWNoaWxkKCkge1xuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZXZlbigpIHtcbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIG9kZCgpIHtcbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZmlyc3QoJG51bSkge1xuICAgIEBpZiAkbnVtID09IDEge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICAmOm50aC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGFzdCgkbnVtKSB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYWZ0ZXIoJG51bSkge1xuICAgICY6bnRoLWNoaWxkKG4rI3skbnVtICsgMX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZnJvbS1lbmQoJG51bSkge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBiZXR3ZWVuKCRmaXJzdCwkbGFzdCkge1xuICAgICY6bnRoLWNoaWxkKG4rI3skZmlyc3R9KTpudGgtY2hpbGQoLW4rI3skbGFzdH0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYWxsLWJ1dCgkbnVtKSB7XG4gICAgJjpub3QoOm50aC1jaGlsZCgjeyRudW19KSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBlYWNoKCRudW0pIHtcbiAgICAmOm50aC1jaGlsZCgjeyRudW19bikge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIGxheWVyc1xuXG5AbWl4aW4gbGF5ZXIoJGxheWVyLW5hbWUpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogbWFwLWdldCgkbGF5ZXJzLCAkbGF5ZXItbmFtZSk7XG59XG5cbi8vIFNjYWxlIGR5bmFpbWNhbGx5IHVudGlsIGEgZ2l2ZW4gdmlld3BvcnRcblxuQG1peGluIHZpZXdwb3J0LXNjYWxlKCRzaXplOiAxNiwgJGJhc2U6IDEwMjQsICRtaW4td2lkdGg6IDAsICRtYXgtd2lkdGg6IG51bGwpIHtcbiAgICAkbWF4LXdpZHRoOiBpZigkbWF4LXdpZHRoID09IG51bGwsICRiYXNlLCAkbWF4LXdpZHRoKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IHJlbWlmeSgkbWluLXdpZHRoLCAxNikpIGFuZCAobWF4LXdpZHRoOiByZW1pZnkoJG1heC13aWR0aCwgMTYpKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogKCRzaXplIC8gJGJhc2UpICogMTAwdnc7XG4gICAgfVxufVxuXG4vLyBDcmVhdGUgYSBtZWRpYSBxdWVyeSByZWxhdGllIHRvIGEgYnJlYWsgcG9pbnQgdmFyaWFibGVcblxuQG1peGluIHNtYWxsZXItdGhhbigkcG9pbnQtbmFtZSwgJGluY2x1c2l2ZTogZmFsc2UpIHtcbiAgICAkd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQtbmFtZSk7XG5cbiAgICBAaWYgJGluY2x1c2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICR3aWR0aDogJHdpZHRoIC0gKDEgLyAxNik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIENyZWF0ZSBhIG1lZGlhIHF1ZXJ5IHJlbGF0aWUgdG8gYSBicmVhayBwb2ludCB2YXJpYWJsZVxuXG5AbWl4aW4gbGFyZ2VyLXRoYW4oJHBvaW50LW5hbWUsICRpbmNsdXNpdmU6IHRydWUpIHtcbiAgICAkd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQtbmFtZSk7XG5cbiAgICBAaWYgJGluY2x1c2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICR3aWR0aDogJHdpZHRoICsgKDEgLyAxNik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZ1bmN0aW9uc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKlxuICogUmV0cmlldmUgYSBjb2xvciB2YXJpYWJsZVxuICpcbiAqIEBwYXJhbSAge3N0cmluZ30gICRjb2xvciAtIFRoZSBuYW1lIG9mIHRoZSBjb2xvciBhcyBkZWZpbmVkIGluIF92YXJpYWJsZXNcbiAqIEBwYXJhbSAge3N0cmluZ30gICR0b25lICAtIFRoZSB2YXJpYW50IG9mIHRoZSBjb2xvciAoc2hhZGV8YmFzZXx0aW50KVxuICovXG5AZnVuY3Rpb24gY29sb3IoJGNvbG9yLCAkdG9uZTogYmFzZSkge1xuICAgIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICRjb2xvciksICR0b25lKTtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRudW1iZXJcbiAqL1xuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuICAgIEByZXR1cm4gaWYodHlwZS1vZigkbnVtYmVyKSA9PSBcIm51bWJlclwiIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlciksICRudW1iZXIgLyAoJG51bWJlciAqIDAgKzEpLCAkbnVtYmVyKTtcbn1cblxuLypcbiAqIENvbnZlcnQgUFggdW5pdHMgaW4gdG8gRU0gb3IgUkVNLCByZWxhdGl2ZSB0byBhIHNwZWNpZmllZCBiYXNlIHNpemVzXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgJHNpemUgLSBBcnJheSBvZiB1cCB0byBmb3VyIHNpemVzIGluIFBYIHVuaXRzXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIEZvbnQgc2l6ZSB0byBiYXNlIGNhbGN1bGF0aW9ucyBvZmYgb2ZcbiAqIEBwYXJhbSAge1N0cmluZ30gICR1bml0IC0gRWl0aGVyIFwiZW1cIiBvciBcInJlbVwiXG4gKi9cbkBmdW5jdGlvbiByZW1pZnkoJHNpemVzOiAoJHNpemUxLCAkc2l6ZTIsICRzaXplMywgJHNpemU0KSwgJGJhc2U6IG51bGwsICR1bml0OiBudWxsKSB7XG4gICAgJHVuaXQ6IGlmKCR1bml0ID09IG51bGwsIGlmKCRiYXNlID09IG51bGwsIHJlbSwgZW0pLCAkdW5pdCk7XG4gICAgJGJhc2U6IGlmKCRiYXNlID09IG51bGwsIDE2LCBzdHJpcC11bml0KCRiYXNlKSk7XG4gICAgJG91dHB1dDogXCJcIjtcblxuICAgIEBlYWNoICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICRzaXplOiBzdHJpcC11bml0KCRzaXplKTtcblxuICAgICAgICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gXCJudW1iZXJcIiB7XG4gICAgICAgICAgICAvLyBhZGQgYXMgc3BhY2UgaWYgJG91dHB1dCBhbHJlYWR5IGhhcyBhIHZhbHVlXG4gICAgICAgICAgICAkb3V0cHV0OiBpZigkb3V0cHV0ID09IFwiXCIsIFwiXCIsICRvdXRwdXQgKyBcIiBcIik7XG4gICAgICAgICAgICAvLyBjYWxjdWxhdGUsIGFwcGVuZCB2YWx1ZSB0byAkb3V0cHV0XG4gICAgICAgICAgICAkb3V0cHV0OiAkb3V0cHV0ICsgKChzdHJpcC11bml0KCRzaXplKSAvIHN0cmlwLXVuaXQoJGJhc2UpKSArICR1bml0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIC8vIHBhc3MgdGhlIHZhbHVlIHRocm91Z2ggdW5jaGFnbmVkIGlmICRzaXplIGlzIG5vdCBhIG51bWJlclxuICAgICAgICAgICAgJG91dHB1dDogJG91dHB1dCArIFwiIFwiICsgJHNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIGlmKHR5cGUtb2YoJG91dHB1dCkgPT0gXCJzdHJpbmdcIiwgdW5xdW90ZSgkb3V0cHV0KSwgJG91dHB1dCk7XG59XG5cbi8qXG4gKiBDb252ZXJ0IFBob3Rvc2hvcCBsZWFkaW5nIHRvIENTUyBsaW5lLWhlaWdodFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gVmFsdWUgb2YgTGVhZGluZyBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqIEBwYXJhbSAge051bWJlcn0gICRiYXNlIC0gVmFsdWUgb2YgRm9udCBTaXplIGluIFBob3Rvc29ocCdzIENoYXJhY3RlciBQYW5lbFxuICovXG5AZnVuY3Rpb24gbGVhZGluZygkc2l6ZSwgJGJhc2U6IG51bGwpIHtcbiAgICAkYmFzZTogaWYoJGJhc2UgPT0gbnVsbCwgMTYsIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgICAkb3V0cHV0OiAkYmFzZSArIChzdHJpcC11bml0KCRzaXplKSAvIDIpO1xuXG4gICAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vKlxuICogQ29udmVydCBQaG90b3Nob3AgdHJhY2tpbmcgdG8gQ1NTIGxldHRlci1zcGFjaW5nXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgJHNpemUgLSBWYWx1ZSBvZiBUcmFja2luZyBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqIEBwYXJhbSAge051bWJlcn0gICRiYXNlIC0gVmFsdWUgb2YgRm9udCBTaXplIGluIFBob3Rvc29ocCdzIENoYXJhY3RlciBQYW5lbFxuICovXG5AZnVuY3Rpb24gdHJhY2tpbmcoJHNpemUsICRiYXNlOiBudWxsKSB7XG4gICAgJGJhc2U6IGlmKCRiYXNlID09IG51bGwsIDE2LCBzdHJpcC11bml0KCRiYXNlKSk7XG4gICAgJG91dHB1dDogKCRzaXplIC8gMTAwMCkgKiBzdHJpcC11bml0KCRiYXNlKTtcblxuICAgIEByZXR1cm4gJG91dHB1dDtcbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29sb3JzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4kY29sb3JzOiAoXG4gICAgXCJwcmltYXJ5XCI6IChcbiAgICAgICAgdGludDogICM3Q0M4RjksIC8vIHJnYigxMjQsIDIwMCwgMjQ5KSAjN2NjOGY5XG4gICAgICAgIGJhc2U6ICAjMTU3OEI5LCAvLyAyMSAxMjAgMTg1XG4gICAgICAgIHNoYWRlOiAjMkEyMzc1LCAvLyA0MiAzNSAxMTdcbiAgICApLFxuICAgIFwic2Vjb25kYXJ5XCI6IChcbiAgICAgICAgdGludDogICM5NzkzQkIsXG4gICAgICAgIGJhc2U6ICAjMkEyMzc1LCAvLyA0MiAzNSAxMTdcbiAgICAgICAgc2hhZGU6ICMxRjE4NjYsXG4gICAgKSxcbiAgICBcInRlcnRpYXJ5XCI6IChcbiAgICAgICAgdGludDogICM1NzUwOUUsXG4gICAgICAgIGJhc2U6ICAjMkEyMzc1LFxuICAgICAgICBzaGFkZTogIzBEMDc0QixcbiAgICApLFxuICAgIFwiYWNjZW50XCI6IChcbiAgICAgICAgdGludDogICNGMDhGOEYsXG4gICAgICAgIGJhc2U6ICAjRTExQTFBLFxuICAgICAgICBzaGFkZTogIzQzMTkwMCxcbiAgICApLFxuICAgIFwiZXJyb3JcIjogKFxuICAgICAgICB0aW50OiAgI0YwOEY4RixcbiAgICAgICAgYmFzZTogICNFMTFBMUEsXG4gICAgICAgIHNoYWRlOiAjNDMxOTAwLFxuICAgICksXG4gICAgXCJzdWNjZXNzXCI6IChcbiAgICAgICAgdGludDogICM5REU3NzIsXG4gICAgICAgIGJhc2U6ICAjMEFDNDBBLFxuICAgICAgICBzaGFkZTogIzAwNDMxOSxcbiAgICApLFxuICAgIFwiZm9yZWdyb3VuZFwiOiAoXG4gICAgICAgIHRpbnQ6ICAjM0IzQjNCLFxuICAgICAgICBiYXNlOiAgIzAwMDAwMCxcbiAgICAgICAgc2hhZGU6ICMwMDAwMDAsXG4gICAgKSxcbiAgICBcImJhY2tncm91bmRcIjogKFxuICAgICAgICB0aW50OiAgI0VDRUNFQywgLy8gMjM2IDIzNiAyMzZcbiAgICAgICAgYmFzZTogICNGRkZGRkYsXG4gICAgICAgIHNoYWRlOiAjRDhEOEQ4LCAvLyAyMTcgMjE3IDIxN1xuICAgICksXG4gICAgXCJwYWdlLWJhY2tncm91bmRcIjogKFxuICAgICAgICB0aW50OiAgIzA2MDA0MSxcbiAgICAgICAgYmFzZTogICMwNTA0MEQsXG4gICAgICAgIHNoYWRlOiAjMDAwMDAwLFxuICAgICksXG4gICAgXCJsaWdodFwiOiAoXG4gICAgICAgIHRpbnQ6ICAjRkZGRkZGLFxuICAgICAgICBiYXNlOiAgI0ZGRkZGRixcbiAgICAgICAgc2hhZGU6ICNGNUY1RjUsIC8vIHJnYmEoMjQ1LCAyNDUsIDI0NSwgMSk7XG4gICAgKSxcbiAgICBcImRhcmtcIjogKFxuICAgICAgICB0aW50OiAgIzYyNjI2MixcbiAgICAgICAgYmFzZTogICMwMDAwMDAsXG4gICAgICAgIHNoYWRlOiAjMkEyQTJBLFxuICAgICksXG4pO1xuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZvbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRoZWFkaW5nLWZvbnQ6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuJGJvZHktZm9udDogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFdpZHRocyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRzaXRlLXdpZHRoOiAxNDAwO1xuJGNvbHVtbi1nYXA6IDM2O1xuJGNvbnRlbnQtcGFkZGluZzogMjU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEJyZWFrIFBvaW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiR4eHhsLWJyZWFrOiAxNDQwZW0gLyAxNjtcbiR4eGwtYnJlYWs6ICAxMzY2ZW0gLyAxNjtcbiR4bC1icmVhazogICAxMjgwZW0gLyAxNjtcbiRsLWJyZWFrOiAgICAxMDI0ZW0gLyAxNjtcbiRtLWJyZWFrOiAgICA5NjBlbSAvIDE2O1xuJHMtYnJlYWs6ICAgIDg1M2VtIC8gMTY7XG4keHMtYnJlYWs6ICAgNzY4ZW0gLyAxNjtcbiR4eHMtYnJlYWs6ICA2NDBlbSAvIDE2O1xuJHh4eHMtYnJlYWs6IDQ4MGVtIC8gMTY7XG5cbiRicmVha3BvaW50czogKFxuICAgIHh4eGw6ICR4eHhsLWJyZWFrLFxuICAgIHh4bDogICR4eGwtYnJlYWssXG4gICAgeGw6ICAgJHhsLWJyZWFrLFxuICAgIGw6ICAgICRsLWJyZWFrLFxuICAgIG06ICAgICRtLWJyZWFrLFxuICAgIHM6ICAgICRzLWJyZWFrLFxuICAgIHhzOiAgICR4cy1icmVhayxcbiAgICB4eHM6ICAkeHhzLWJyZWFrLFxuICAgIHh4eHM6ICR4eHhzLWJyZWFrLFxuKTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5ZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJGxheWVyczogKFxuICAgIGhlYWRlcjogNSxcbiAgICBuYXZpZ2F0aW9uOiA0LFxuICAgIGhlcm86IDMsXG4gICAgY29udGVudDogMixcbiAgICBmb290ZXI6IDEsXG4pO1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBCYXNlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCIuLi9iYXNlL25vcm1hbGl6ZS9fbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiLi4vYmFzZS9mb250cy9fZ2lscm95XCI7XG5AaW1wb3J0IFwiLi4vYmFzZS9ncmlkL19ncmlkXCI7XG5AaW1wb3J0IFwiLi4vYmFzZS9hbGlnbi9fYWxpZ25cIjtcbkBpbXBvcnQgXCIuLi9iYXNlL2J1dHRvbi9fYnV0dG9uXCI7XG5AaW1wb3J0IFwiLi4vYmFzZS9kaXZpZGVyL19kaXZpZGVyXCI7XG5AaW1wb3J0IFwiLi4vYmFzZS9pbnB1dC9faW5wdXRcIjtcbkBpbXBvcnQgXCIuLi9iYXNlL2xpbmsvX2xpbmtcIjtcbkBpbXBvcnQgXCIuLi9iYXNlL3RpdGxlL190aXRsZVwiO1xuQGltcG9ydCBcIi4uL2Jhc2UvdGV4dC9fdGV4dFwiO1xuQGltcG9ydCBcIi4uL2Jhc2UvYmxvY2txdW90ZS9fYmxvY2txdW90ZVwiO1xuQGltcG9ydCBcIi4uL2Jhc2UvdXNlci1jb250ZW50L191c2VyLWNvbnRlbnRcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCIuLi9tb2R1bGUvYWNjb3JkaW9uL19hY2NvcmRpb25cIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvYXJ0aWNsZS9fYXJ0aWNsZVwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9jYWxsb3V0L19jYWxsb3V0XCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL2V3ZC1vdHAtZm9ybS9fZXdkLW90cC1mb3JtXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL2lmcmFtZS9faWZyYW1lXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL2xvZ28vX2xvZ29cIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvbWVudS1saXN0L19tZW51LWxpc3RcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvbmluamEtZm9ybXMvX25pbmphLWZvcm1zXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL25vdHkvX25vdHlcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvbm91aXNsaWRlci9fbm91aXNsaWRlclwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9wYW5lbC10b2dnbGUvX3BhbmVsLXRvZ2dsZVwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9waG90b3N3aXBlL19waG90b3N3aXBlXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL3Byb2R1Y3QtZmlsdGVyL19wcm9kdWN0LWZpbHRlclwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9wd2EtaW5zdGFsbC1wcm9tcHQvX3B3YS1pbnN0YWxsLXByb21wdFwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9zY3JvbGwtaGludC9fc2Nyb2xsLWhpbnRcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvc2VhcmNoLWZvcm0vX3NlYXJjaC1mb3JtXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL3NraXAtbGlua3MvX3NraXAtbGlua3NcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvc2hhcmUtYXBpLXBvbHlmaWxsL19zaGFyZS1hcGktcG9seWZpbGxcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvc2xpZGVvdXQvX3NsaWRlb3V0XCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL3N3aXBlci9fc3dpcGVyXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL3RhYmJ5L190YWJieVwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS90ZXN0aW1vbmlhbC9fdGVzdGltb25pYWxcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvdGlsZWQtZ2FsbGVyeS9fdGlsZWQtZ2FsbGVyeVwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS90b29sdGlwL190b29sdGlwXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL3dwLWNhcHRpb24vX3dwLWNhcHRpb25cIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCIuLi9sYXlvdXQvcGFnZS9fcGFnZVwiO1xuQGltcG9ydCBcIi4uL2xheW91dC9oZWFkZXIvX2hlYWRlclwiO1xuQGltcG9ydCBcIi4uL2xheW91dC9uYXZpZ2F0aW9uL19uYXZpZ2F0aW9uXCI7XG5AaW1wb3J0IFwiLi4vbGF5b3V0L2hlcm8vX2hlcm9cIjtcbkBpbXBvcnQgXCIuLi9sYXlvdXQvY29udGVudC9fY29udGVudFwiO1xuQGltcG9ydCBcIi4uL2xheW91dC9mb290ZXIvX2Zvb3RlclwiO1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBOb3JtYWxpemVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCwgc2VsZWN0b3ItbWF4LXR5cGUsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSAqL1xuXG4vKiBUaGVzZSBzdHlsZXMgYXJlIGludGVuZGVkIHRvIGJlIGdsb2JhbCAqL1xuXG4vLyBWZW5kb3JcblxuQGltcG9ydCBcIm5vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19pbXBvcnQtbm93XCI7XG5cbi8vIEN1c3RvbVxuXG4vLyAgQ2hhbmdlIHRoZSBib3gtc2l6aW5nIG9mIGFsbCBlbGVtZW50c1xuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vIHJlbW92ZSBvcGluaW9uYXRlZCBkZWZhdWx0IHN0eWxlcyBvbiBidXR0b25zLCBpbnB1dHMsIGFuZCBzZWxlY3RzXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8vIGJlIGV4dHJhIHNwZWNpZmljIGZvciBzZWFyY2ggZmllbGRzLCBhcyBub3JtYWxpemUgcmVzZXRzIHRoZW1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gU2V0IG1heC1oZWlnaHQgYW5kIG1heC13aWR0aCB0byAxMDAlIG9uIFNWR3MgdG8gZml4IGEgYnVnIGluIFNhZmFyaSAoaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTI2MzEzMjYvNjU0NDgwKVxuXG5zdmcge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vLyBIaWRlIG91dGxpbmUgb24gZm9jdXNcblxuLyogUmVtb3ZlIG91dGxpbmUgZm9yIG5vbi1rZXlib2FyZCA6Zm9jdXMgKi9cbio6Zm9jdXM6bm90KC5mb2N1cy12aXNpYmxlKSB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBAaWYgJGJhc2UtZm9udC1mYW1pbHkge1xuICAgICAgICAvKiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuICovXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgIH1cbiAgICAgIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweCBvciAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICB9XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6IGlmKCRiYXNlLWZvbnQtZmFtaWx5LCAkYmFzZS1mb250LWZhbWlseSwgc2Fucy1zZXJpZik7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vXG4vLyBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHZhbHVlcyBieSBzZXR0aW5nIHRoZSB2YXJpYWJsZXMgaW4geW91ciBTYXNzXG4vLyBiZWZvcmUgaW1wb3J0aW5nIHRoZSBub3JtYWxpemUtc2NzcyBsaWJyYXJ5LlxuXG4vLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQuXG4kYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBiYXNlIGxpbmUgaGVpZ2h0IGRldGVybWluZXMgdGhlIGJhc2ljIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtLlxuJGJhc2UtbGluZS1oZWlnaHQ6IDI0cHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBsZW5ndGggdW5pdCBpbiB3aGljaCB0byBvdXRwdXQgdmVydGljYWwgcmh5dGhtIHZhbHVlcy5cbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHB4LCBlbSwgcmVtLlxuJGJhc2UtdW5pdDogJ2VtJyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZm9udCBmYW1pbHkuXG4kYmFzZS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbnQgc2l6ZXMgZm9yIGgxLWg2LlxuJGgxLWZvbnQtc2l6ZTogMiAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IDEuNSAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAxLjE3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogMSAgICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IDAuODMgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAwLjY3ICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLyBUaGUgYW1vdW50IGxpc3RzIGFuZCBibG9ja3F1b3RlcyBhcmUgaW5kZW50ZWQuXG4kaW5kZW50LWFtb3VudDogNDBweCAhZGVmYXVsdDtcblxuLy8gVGhlIGZvbGxvd2luZyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG5vcm1hbGl6ZS1zY3NzIHdpbGwgb3V0cHV0XG4vLyBmb250LXNpemVzLCBsaW5lLWhlaWdodHMgYW5kIGJsb2NrLWxldmVsIHRvcC9ib3R0b20gbWFyZ2lucyB0aGF0IGZvcm0gYSBiYXNpY1xuLy8gdmVydGljYWwgcmh5dGhtIG9uIHRoZSBwYWdlLCB3aGljaCBkaWZmZXJzIGZyb20gdGhlIG9yaWdpbmFsIE5vcm1hbGl6ZS5jc3MuXG4vLyBIb3dldmVyLCBjaGFuZ2luZyBhbnkgb2YgdGhlIHZhcmlhYmxlcyBhYm92ZSB3aWxsIGNhdXNlXG4vLyAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB0byBiZSBhdXRvbWF0aWNhbGx5IHNldCB0byB0cnVlLlxuJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBHaWxyb3kgLS0gaHR0cHM6Ly93d3cuZm9udHNwcmluZy5jb20vZm9udHMvcmFkb21pci10aW5rb3YvZ2lscm95XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogXCJHaWxyb3lcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBzcmM6IHVybChcIi4uL21lZGlhL2ZvbnRzL2dpbHJveS84MDAvbm9ybWFsL3dlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL21lZGlhL2ZvbnRzL2dpbHJveS84MDAvbm9ybWFsL3dlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBHcmlkIChiYXNlZCBsb29zZWx5IG9uIGh0dHBzOi8vdjQtYWxwaGEuZ2V0Ym9vdHN0cmFwLmNvbS9sYXlvdXQvZ3JpZC8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cblxuLnJvdyB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAmLnJvdy0tZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgIH1cblxuICAgICYucm93LS1ncmlkLnJvdy0tZXF1YWwge1xuICAgICAgICBncmlkLWF1dG8tY29sdW1uczogMWZyO1xuICAgICAgICBncmlkLWF1dG8tcm93czogMWZyO1xuICAgIH1cblxuICAgICYgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmID4gW2NsYXNzKj1cImNvbC1cIl0uY29sLS1ub2dyb3cge1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgfVxuXG4gICAgJiA+IFtjbGFzcyo9XCJjb2wtXCJdLmNvbC0tbm9zaHJpbmsge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAmLnJvdy0tcGFkZGVkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7cmVtaWZ5KCRjb2x1bW4tZ2FwLCAxNil9KTtcbiAgICB9XG5cbiAgICAmLnJvdy0tcGFkZGVkID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1pZnkoJGNvbHVtbi1nYXAsIDE2KTtcbiAgICB9XG5cbiAgICAmLnJvdy0tcGFkZGVkLnJvdy0tdGlnaHQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3tyZW1pZnkoJGNvbHVtbi1nYXAgKiAwLjUsIDE2KX0pO1xuICAgIH1cblxuICAgICYucm93LS1wYWRkZWQucm93LS10aWdodCA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtaWZ5KCRjb2x1bW4tZ2FwICogMC41LCAxNik7XG4gICAgfVxuXG4gICAgJi5yb3ctLXBhZGRlZC5yb3ctLWxvb3NlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7cmVtaWZ5KCRjb2x1bW4tZ2FwICogMS41LCAxNil9KTtcbiAgICB9XG5cbiAgICAmLnJvdy0tcGFkZGVkLnJvdy0tbG9vc2UgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSgkY29sdW1uLWdhcCAqIDEuNSwgMTYpO1xuICAgIH1cblxuICAgICYucm93LS1wYWRkZWQucm93LS1sb29zZS1leHRyYSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje3JlbWlmeSgkY29sdW1uLWdhcCAqIDMsIDE2KX0pO1xuICAgIH1cblxuICAgICYucm93LS1wYWRkZWQucm93LS1sb29zZS1leHRyYSA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtaWZ5KCRjb2x1bW4tZ2FwICogMywgMTYpO1xuICAgIH1cblxuICAgICYucm93LS1ub3dyYXAge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAmLnJvdy0td3JhcHJldmVyc2Uge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAmLnJvdy0tY2VudGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJjpub3QoLnJvdy0tY29sdW1uKS5yb3ctLWhjZW50ZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmOm5vdCgucm93LS1jb2x1bW4pLnJvdy0tdmNlbnRlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJjpub3QoLnJvdy0tY29sdW1uKS5yb3ctLXRvcCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgICY6bm90KC5yb3ctLWNvbHVtbikucm93LS1yaWdodCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgJjpub3QoLnJvdy0tY29sdW1uKS5yb3ctLWJvdHRvbSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAmOm5vdCgucm93LS1jb2x1bW4pLnJvdy0tbGVmdCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmLnJvdy0tc3RyZXRjaCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgICYucm93LS1hcm91bmQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG5cbiAgICAmLnJvdy0tYmV0d2VlbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmOm5vdCgucm93LS1jb2x1bW4pLnJvdy0tcmV2ZXJzZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAmLnJvdy0tY29sdW1uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmLnJvdy0tY29sdW1uLnJvdy0tdmNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgICYucm93LS1jb2x1bW4ucm93LS10b3Age1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgJi5yb3ctLWNvbHVtbi5yb3ctLXJpZ2h0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICYucm93LS1jb2x1bW4ucm93LS1ib3R0b20ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICYucm93LS1jb2x1bW4ucm93LS1sZWZ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgJi5yb3ctLWNvbHVtbi5yb3ctLWhjZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICYucm93LS1jb2x1bW4ucm93LS1yZXZlcnNlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cbn1cblxuLmNvbC1hdXRvIHtcbiAgICAmIHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICB9XG59XG5cbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTIge1xuICAgIC5jb2wtI3skaX0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAoJGkgLyAxMikgKiAxMDAlO1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAkaTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGxhcmdlci10aGFuKHhzKSB7XG4gICAgLmNvbC14cy1hdXRvIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMiB7XG4gICAgICAgIC5jb2wteHMtI3skaX0ge1xuICAgICAgICAgICAgZmxleC1iYXNpczogKCRpIC8gMTIpICogMTAwJTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuICRpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBsYXJnZXItdGhhbihzKSB7XG4gICAgLmNvbC1zLWF1dG8ge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyIHtcbiAgICAgICAgLmNvbC1zLSN7JGl9IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6ICgkaSAvIDEyKSAqIDEwMCU7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAkaTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbGFyZ2VyLXRoYW4obSkge1xuICAgIC5jb2wtbS1hdXRvIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMiB7XG4gICAgICAgIC5jb2wtbS0jeyRpfSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAoJGkgLyAxMikgKiAxMDAlO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gJGk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGxhcmdlci10aGFuKGwpIHtcbiAgICAuY29sLWwtYXV0byB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTIge1xuICAgICAgICAuY29sLWwtI3skaX0ge1xuICAgICAgICAgICAgZmxleC1iYXNpczogKCRpIC8gMTIpICogMTAwJTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuICRpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBsYXJnZXItdGhhbih4bCkge1xuICAgIC5jb2wteGwtYXV0byB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTIge1xuICAgICAgICAuY29sLXhsLSN7JGl9IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6ICgkaSAvIDEyKSAqIDEwMCU7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAkaTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbGFyZ2VyLXRoYW4oeHh4bCkge1xuICAgIC5jb2wteHh4bC1hdXRvIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMiB7XG4gICAgICAgIC5jb2wteHh4bC0jeyRpfSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAoJGkgLyAxMikgKiAxMDAlO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gJGk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEFsaWdubWVudFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYWxpZ25yaWdodCxcbi5hbGlnbmxlZnQsXG4uYWxpZ25jZW50ZXIsXG4uYWxpZ25ub25lIHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDI1LCAxNik7XG4gICAgfVxufVxuXG4uYWxpZ25sZWZ0IHtcbiAgICAmIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDI1LCAxNik7XG4gICAgICAgIG1heC13aWR0aDogKDEwMCUgLyAzKTtcbiAgICB9XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgICAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtaWZ5KDI1LCAxNik7XG4gICAgICAgIG1heC13aWR0aDogKDEwMCUgLyAzKTtcbiAgICB9XG59XG5cbi5hbGlnbmNlbnRlciB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQnV0dG9uXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5idXR0b24sXG4uYnV0dG9uLS1hY2NlbnQsXG4uYnV0dG9uLS1yZWQge1xuICAgICYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImFjY2VudFwiKTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1pZnkoMTEsIDE4KTtcbiAgICAgICAgYm94LXNoYWRvdzogcmVtaWZ5KDAgMiAwIDAsIDE4KSB0cmFuc3BhcmVudGl6ZShjb2xvcihcImRhcmtcIiksIDAuNzcpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE4LCAxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGdhcDogcmVtaWZ5KDEwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgyMiwgMTgpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDIwIDIwIDAsIDE4KTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDE3IDI1LCAxOCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4oeHMpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW1pZnkoMzgsIDIwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtaWZ5KDM4LCAyMCk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImFjY2VudFwiLCBcInRpbnRcIik7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgICB9XG59XG5cbi8qIHNtYWxsIHZhcmlhbnQgKi9cblxuLmJ1dHRvbi0tc21hbGwge1xuICAgICYge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNyk7XG4gICAgfVxufVxuXG4vKiBhbHQgdmFyaWFudCAqL1xuXG4uYnV0dG9uLS1hbHQsXG4uYnV0dG9uLS1zZWNvbmRhcnksXG4uYnV0dG9uLS1wdXJwbGUge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcInNlY29uZGFyeVwiKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwic2Vjb25kYXJ5XCIsIFwidGludFwiKTtcbiAgICB9XG59XG5cbi8qIHRlcnRpYXJ5IHZhcmlhbnQgKi9cblxuLmJ1dHRvbi0tZGFyayxcbi5idXR0b24tLXRlcnRpYXJ5LFxuLmJ1dHRvbi1wdXJwbGUge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcInRlcnRpYXJ5XCIpO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJ0ZXJ0aWFyeVwiLCBcInRpbnRcIik7XG4gICAgfVxufVxuXG4vKiBwcmltYXJ5IHZhcmlhbnQgKi9cblxuLmJ1dHRvbi0tcHJpbWFyeSxcbi5idXR0b24tLWJsdWUge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcInByaW1hcnlcIik7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInByaW1hcnlcIiwgXCJ0aW50XCIpO1xuICAgIH1cbn1cblxuLyogZGlzYWJsZWQgdmFyaWFudCAqL1xuXG4uYnV0dG9uLS1kaXNhYmxlZCB7XG4gICAgJiB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIERpdmlkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmRpdmlkZXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImJhY2tncm91bmRcIiwgXCJzaGFkZVwiKTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1pZnkoMi41KTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGhlaWdodDogcmVtaWZ5KDUpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgyMCAwLCAxNik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogSW5wdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJGZvbnQtc2l6ZTogMTY7XG4kaWNvbi1zaXplOiAxZW07XG5cbiRwYWRkaW5nLWJvdHRvbTogMTE7XG4kcGFkZGluZy1sZWZ0OiAgIDE5LjU7XG4kcGFkZGluZy1yaWdodDogIDE5LjU7XG4kcGFkZGluZy10b3A6ICAgIDE2O1xuXG4uaW5wdXQge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImJhY2tncm91bmRcIik7XG4gICAgICAgIGJvcmRlcjogcmVtaWZ5KDEpIHNvbGlkIGRhcmtlbihjb2xvcihcImJhY2tncm91bmRcIiksIDQwLjc4NDMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1pZnkoMTYsIDE2KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZm9yZWdyb3VuZFwiKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNiwgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDE5LCAxNik7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAyMywgMTYpO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoJHBhZGRpbmctdG9wICRwYWRkaW5nLXJpZ2h0ICRwYWRkaW5nLWJvdHRvbSAkcGFkZGluZy1sZWZ0LCAkZm9udC1zaXplKTtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGJhY2tncm91bmQtc2l6ZSAwLjE1cywgYm9yZGVyLWNvbG9yIDAuMTVzLCBjb2xvciAwLjE1cztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpub3QoLmlucHV0LS1kaXNhYmxlZCk6YWN0aXZlLFxuICAgICY6bm90KC5pbnB1dC0tZGlzYWJsZWQpOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcInByaW1hcnlcIik7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJmb3JlZ3JvdW5kXCIsIFwidGludFwiKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi8qIGRpc2FibGVkIHZhcmlhbnQgKi9cblxuLmlucHV0LS1kaXNhYmxlZCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1peChjb2xvcihcImJhY2tncm91bmRcIiksIGNvbG9yKFwiYmFja2dyb3VuZFwiLCBcInNoYWRlXCIpKTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cbn1cblxuLyogZXJyb3IgdmFyaWFudCAqL1xuXG4uaW5wdXQtLWVycm9yIHtcbiAgICAmIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihcImVycm9yXCIpO1xuICAgIH1cbn1cblxuLyogc3VjY2VzcyB2YXJpYW50ICovXG5cbi5pbnB1dC0tc3VjY2VzcyB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoXCJzdWNjZXNzXCIpO1xuICAgIH1cbn1cblxuLyogc2VsZWN0IHZhcmlhbnQgKi9cblxuLmlucHV0LS1zZWxlY3Qge1xuICAgICYge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgLy8gcmVtb3ZlIEZpcmVmb3ggZGVmYXVsdCBzdHlsZXMgJiBhcnJvd1xuICAgICAgICB0ZXh0LWluZGVudDogMC4wMXB4O1xuICAgICAgICAvLyByZW1vdmUgSUUgZGVmYXVsdCBzdHlsZXMgJiBhcnJvd1xuICAgICAgICAmOjotbXMtZXhwYW5kIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cbn1cblxuLmlucHV0LS1hcnJvdyB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL2Zhcy1hbmdsZS1kb3duLnN2Z1wiLCBmaWxsPSN7Y29sb3IoXCJwcmltYXJ5XCIpfSk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCByZW1pZnkoJHBhZGRpbmctcmlnaHQsICRmb250LXNpemUpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpY29uLXNpemU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skaWNvbi1zaXplfSArICN7cmVtaWZ5KCRwYWRkaW5nLXJpZ2h0ICogMiwgJGZvbnQtc2l6ZSl9KTtcbiAgICB9XG59XG5cbi8qIGNoZWNrYm94ICYgcmFkaW8gdmFyaWFudHMgKi9cblxuLmlucHV0LS1jaGVja2JveCxcbi5pbnB1dC0tcmFkaW8ge1xuICAgICYge1xuICAgICAgICBib3JkZXItd2lkdGg6IHJlbWlmeSgxKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogcmVtaWZ5KDI2KTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDI2KTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogcmVtaWZ5KDE2IDE2KTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogLTk5OWVtO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cywgbGVmdCAwcyAwLjE1cywgb3BhY2l0eSAwLjE1cztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgfVxuXG4gICAgJiArIC50ZXh0LS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbi5pbnB1dC0tY2hlY2tib3gge1xuICAgICYge1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1pZnkoMiwgMTYpO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oY29sb3IoXCJiYWNrZ3JvdW5kXCIpLCAxNS4yOTQxKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL2Zhci1jaGVjay5zdmdcIiwgZmlsbD0je2NvbG9yKFwiZGFya1wiKX0pO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbWlmeSgxOSAxOSwgMTYpO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgxOSwgMTYpO1xuICAgICAgICB0b3A6IHJlbWlmeSgtMSwgMTYpO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDE5LCAxNik7XG4gICAgfVxufVxuXG4uaW5wdXQtLXJhZGlvIHtcbiAgICAmIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvZmFzLWNpcmNsZS5zdmdcIiwgZmlsbD0je2NvbG9yKFwicHJpbWFyeVwiKX0pO1xuICAgIH1cbn1cblxuLyogcmFuZ2UgdmFyaWFudCAqL1xuXG4uaW5wdXRfX2NvbnRhaW5lci0tcmFuZ2Uge1xuICAgICYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmLmlucHV0X19jb250YWluZXItLWRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cblxuICAgICYuaW5wdXRfX2NvbnRhaW5lci0tZGlzYWJsZWQgKiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5pbnB1dF9fY29udGFpbmVyX190ZXh0IHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZGFya1wiLCBcInRpbnRcIik7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxOSwgMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMCwgMTkpO1xuICAgIH1cblxuICAgIC5pbnB1dCxcbiAgICAubm91aXNsaWRlciB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbn1cblxuLmlucHV0LS1yYW5nZSB7XG4gICAgJiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRDhEOEQ4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSgyLCAxNik7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoNCwgMTYpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICBiYWNrZ3JvdW5kOiAjOTc5Nzk3O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSg4LjUsIDE2KTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgxNywgMTYpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoI3tyZW1pZnkoLTcsIDE2KX0pO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDE3LCAxNik7XG4gICAgfVxuXG4gICAgJjpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRDhEOEQ4O1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRDhEOEQ4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSgyLCAxNik7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoNCwgMTYpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzk3OTc5NztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1pZnkoOC41LCAxNik7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoMTcsIDE2KTtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSgxNywgMTYpO1xuICAgIH1cblxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1pZnkoMiwgMTYpO1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoNCwgMTYpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNEOEQ4RDg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNEOEQ4RDg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjOTc5Nzk3O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSg4LjUsIDE2KTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgxNywgMTYpO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDE3LCAxNik7XG4gICAgfVxuXG4gICAgJjpmb2N1czo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRDhEOEQ4O1xuICAgIH1cblxuICAgICY6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0Q4RDhEODtcbiAgICB9XG59XG5cbi8qIHNlbGVjdCBicm93c2VyIHZhcmlhbnRzICovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW1heC10eXBlLCBzZWxlY3Rvci1uby12ZW5kb3ItcHJlZml4LCBzZWxlY3Rvci10eXBlLW5vLXVua25vd24gKi9cblxuLyogSUUgKi9cbl86LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuOnJvb3QgLmlucHV0LS1zZWxlY3Qge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoJHBhZGRpbmctYm90dG9tLCAkZm9udC1zaXplKSBjYWxjKCN7cmVtaWZ5KCRwYWRkaW5nLWxlZnQsICRmb250LXNpemUpfSAtIDNweCkgY2FsYygje3JlbWlmeSgkcGFkZGluZy1ib3R0b20sICRmb250LXNpemUpfSAtIDJweCk7XG4gICAgfVxufVxuXG5fOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbjpyb290IC5pbnB1dC0tYXJyb3cge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7JGljb24tc2l6ZX0gKyAje3JlbWlmeSgkcGFkZGluZy1yaWdodCAqIDIsICRmb250LXNpemUpfSAtIDNweCk7XG4gICAgfVxufVxuXG4vKiBDaHJvbWUgICovXG5Ac3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSkgYW5kIChmb250LXN0cmV0Y2g6IG5vcm1hbCkgYW5kIChub3QoLW1zLWFjY2VsZXJhdG9yOiB0cnVlKSkge1xuICAgIC5pbnB1dC0tc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCRwYWRkaW5nLXRvcCwgJGZvbnQtc2l6ZSkgcmVtaWZ5KCRwYWRkaW5nLXJpZ2h0LCAkZm9udC1zaXplKSByZW1pZnkoJHBhZGRpbmctYm90dG9tLCAkZm9udC1zaXplKSByZW1pZnkoJHBhZGRpbmctbGVmdCwgJGZvbnQtc2l6ZSk7XG4gICAgfVxuXG4gICAgLmlucHV0LS1hcnJvdyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skaWNvbi1zaXplfSArICN7cmVtaWZ5KCRwYWRkaW5nLXJpZ2h0ICogMiwgJGZvbnQtc2l6ZSl9KTtcbiAgICB9XG59XG5cbi8qIFNhZmFyaSAqL1xuXzo6LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEsXG5fOmZ1dHVyZSxcbjpyb290IC5pbnB1dC0tc2VsZWN0IHtcbiAgICAmIHtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCRwYWRkaW5nLXRvcCwgJGZvbnQtc2l6ZSkgcmVtaWZ5KCRwYWRkaW5nLXJpZ2h0LCAkZm9udC1zaXplKSByZW1pZnkoJHBhZGRpbmctYm90dG9tLCAkZm9udC1zaXplKSByZW1pZnkoJHBhZGRpbmctbGVmdCwgJGZvbnQtc2l6ZSk7XG4gICAgfVxufVxuXG5fOjotd2Via2l0LWZ1bGwtcGFnZS1tZWRpYSxcbl86ZnV0dXJlLFxuOnJvb3QgLmlucHV0LS1hcnJvdyB7XG4gICAgJiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skaWNvbi1zaXplfSArICN7cmVtaWZ5KCRwYWRkaW5nLXJpZ2h0ICogMiwgJGZvbnQtc2l6ZSl9KTtcbiAgICB9XG59XG5cbi8qIEVkZ2UgKi9cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgIC5pbnB1dC0tc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZzogY2FsYygje3JlbWlmeSgkcGFkZGluZy10b3AsICRmb250LXNpemUpfSAtIDFweCkgY2FsYygje3JlbWlmeSgkcGFkZGluZy1yaWdodCwgJGZvbnQtc2l6ZSl9IC0gMnB4KSBjYWxjKCN7cmVtaWZ5KCRwYWRkaW5nLWJvdHRvbSwgJGZvbnQtc2l6ZSl9IC0gMXB4KSBjYWxjKCN7cmVtaWZ5KCRwYWRkaW5nLWxlZnQsICRmb250LXNpemUpfSAtIDJweCk7XG4gICAgfVxuXG4gICAgLmlucHV0LS1hcnJvdyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skaWNvbi1zaXplfSArICN7cmVtaWZ5KCRwYWRkaW5nLXJpZ2h0ICogMiwgJGZvbnQtc2l6ZSl9IC0gMnB4KTtcbiAgICB9XG59XG5cbi8qIEZpcmVmb3ggKi9cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoXCJcIikge1xuICAgIC5pbnB1dC0tc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCRwYWRkaW5nLXRvcCwgJGZvbnQtc2l6ZSkgY2FsYygje3JlbWlmeSgkcGFkZGluZy1yaWdodCwgJGZvbnQtc2l6ZSl9IC0gNHB4KSByZW1pZnkoJHBhZGRpbmctYm90dG9tLCAkZm9udC1zaXplKSBjYWxjKCN7cmVtaWZ5KCRwYWRkaW5nLWxlZnQsICRmb250LXNpemUpfSAtIDRweCk7XG4gICAgfVxuXG4gICAgLmlucHV0LS1hcnJvdyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skaWNvbi1zaXplfSArICN7cmVtaWZ5KCRwYWRkaW5nLXJpZ2h0ICogMiwgJGZvbnQtc2l6ZSl9IC0gNHB4KTtcbiAgICB9XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGlua1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubGluayB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImFjY2VudFwiKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImRhcmtcIiwgXCJ0aW50XCIpO1xuICAgIH1cbn1cblxuLyogaW5oZXJpdCB2YXJpYW50ICovXG5cbi5saW5rLS1pbmhlcml0IHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogVGl0bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnRpdGxlIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiLCBcInNoYWRlXCIpO1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udDtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgyNCwgMTYpIHJlbWlmeSgzNCwgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDQyLCAzNCk7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCA1MCk7XG4gICAgfVxuXG4gICAgLmxpbmsge1xuICAgICAgICBAZXh0ZW5kIC5saW5rLS1pbmhlcml0O1xuICAgIH1cbn1cblxuLnRpdGxlLS1oMiB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImZvcmVncm91bmRcIik7XG4gICAgICAgIGZvbnQtcmFuZ2U6ICR4cy1icmVhayAkeGwtYnJlYWs7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSByZW1pZnkoMjAsIDE2KSByZW1pZnkoMjcsIDE2KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbWlmeSgtMSwgMjcpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMzUsIDI3KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyMiwgMjApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udGl0bGUtLWgzIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiLCBcInNoYWRlXCIpO1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgxOCwgMTYpIHJlbWlmeSgyNSwgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjMsIDI1KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKGwpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMTgsIDE4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRpdGxlLS1oNCB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcInByaW1hcnlcIiwgXCJzaGFkZVwiKTtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgxNCwgMTYpIHJlbWlmeSgyMiwgMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjQsIDIyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgxNSwgMTQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udGl0bGUtLWg1LFxuLnRpdGxlLS1oNiB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImRhcmtcIiwgXCJzaGFkZVwiKTtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgxMiwgMTYpIHJlbWlmeSgyMCwgMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMTcsIDIwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgxOSwgMTIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBkaXZpZGVyIHZhcmlhbnQgKi9cblxuLnRpdGxlLS1kaXZpZGVyIHtcbiAgICAmIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImJhY2tncm91bmRcIiwgXCJzaGFkZVwiKTtcbiAgICAgICAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoMSk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1pZnkoMTYsIDE2KTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW1pZnkoMTYsIDE2KTtcbiAgICB9XG59XG4iLG51bGwsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogVGV4dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udGV4dCB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImZvcmVncm91bmRcIik7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgxNCwgMTYpIHJlbWlmeSgxOCwgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDIyLCAxOCk7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAzMCwgMTgpO1xuICAgIH1cblxuICAgID4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICsgLnRpdGxlLFxuICAgICsgLnRleHQtLXRhYmxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDY2KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyNSwgMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgKyAudGl0bGUsXG4gICAgICAgICsgLnRleHQtLXRhYmxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbWlmeSgzOCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIHNlbGVjdGlvbiBzdHlsZXMgKG5vIHdoZXJlIGVsc2UgdG8gcHV0IHRoaXMgKi9cblxuOjpzZWxlY3Rpb24ge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInByaW1hcnlcIik7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgIH1cbn1cblxuLyogbGFiZWwgdmFyaWFudCAqL1xuXG4udGV4dC0tbGFiZWwge1xuICAgICYge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCA3LjUsIDIwKTtcbiAgICB9XG59XG5cbi8qIGxpc3QgdmFyaWFudCAqL1xuXG4udGV4dC0tbGlzdCB7XG4gICAgJiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRleHRfX2xpc3QtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAudGV4dF9fbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjAsIDE4KTtcbiAgICB9XG5cbiAgICAudGV4dC0tbGlzdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDE1LCAxOCk7XG4gICAgfVxuXG4gICAgLnRleHRfX2xpc3QtaXRlbSAubGluazpmaXJzdC1jaGlsZCAuaWNvbiB7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgOCAwIDAsIDE4KTtcbiAgICB9XG59XG5cbi8qIGxpc3Qgb3JkZXJlZCB2YXJpYW50ICovXG5cbi50ZXh0LS1vcmRlcmVkIHtcbiAgICAmIHtcbiAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW1pZnkoMjMsIDE4KTtcbiAgICB9XG5cbiAgICA+IC50ZXh0X19saXN0LWl0ZW06Om1hcmtlciB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImRhcmtcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgPiAudGV4dF9fbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW1pZnkoMTIsIDE4KTtcbiAgICB9XG59XG5cbi8qIGxpc3QgdW5vcmRlcmVkIHZhcmlhbnQgKi9cblxuLnRleHQtLXVub3JkZXJlZCB7XG4gICAgJiB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgPiAudGV4dF9fbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW1pZnkoMzIsIDE4KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgID4gLnRleHRfX2xpc3QtaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJkYXJrXCIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSg1LCAxOCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiByZW1pZnkoOSwgMTgpO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDUsIDE4KTtcbiAgICB9XG59XG5cbi8qIGxpc3QgY2hlY2ttYXJrZWQgdmFyaWFudCAqL1xuXG4udGV4dC0tY2hlY2ttYXJrZWQge1xuICAgICYge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbWlmeSg0MCwgMTgpO1xuICAgIH1cblxuICAgICYudGV4dC0tbGlzdC1oYW5naW5nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW1pZnkoMTEwLCAxOCk7XG4gICAgfVxuXG4gICAgPiAudGV4dF9fbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW1pZnkoMzIsIDE4KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgID4gLnRleHRfX2xpc3QtaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvZmFyLWNoZWNrLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoMTgsIDE4KTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHJlbWlmeSg3LCAxOCk7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoOCwgMTgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbihsKSB7XG4gICAgICAgICYsXG4gICAgICAgICYudGV4dC0tbGlzdC1oYW5naW5nIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogdGFibGUgdmFyaWFudCAqL1xuXG4udGV4dF9fdGFibGVfX2NvbnRhaW5lciB7XG4gICAgJiB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi50ZXh0LS10YWJsZSB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudGV4dF9faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIC50ZXh0X19ib2R5IHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xuICAgIH1cblxuICAgIC50ZXh0X19mb290ZXIge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJmb3JlZ3JvdW5kXCIsIFwidGludFwiKTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtZm9vdGVyLWdyb3VwO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLnRleHRfX3JvdyB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICB9XG5cbiAgICAudGV4dF9fY2VsbCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWluLXdpZHRoOiByZW1pZnkoMjI0LCAxNik7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgxNiAzMSwgMTYpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC50ZXh0X19oZWFkZXIgLnRleHRfX2NlbGwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInByaW1hcnlcIik7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgIH1cblxuICAgIC50ZXh0X19oZWFkZXIgLnRleHRfX2NlbGw6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSgxMyAwIDAgMCk7XG4gICAgfVxuXG4gICAgLnRleHRfX2hlYWRlciAudGV4dF9fY2VsbDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1pZnkoMCAxMyAwIDApO1xuICAgIH1cblxuICAgIC50ZXh0X19oZWFkZXIgLnRleHRfX2NlbGwsXG4gICAgLnRleHRfX2JvZHkgLnRleHRfX2NlbGwtLWhlYWRlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgfVxuXG4gICAgLnRleHRfX2JvZHkgLnRleHRfX2NlbGwtLWhlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgPiAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbCxcbiAgICAudGV4dF9fYm9keSAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwibGlnaHRcIiwgXCJzaGFkZVwiKTtcbiAgICB9XG5cbiAgICA+IC50ZXh0X19yb3c6bnRoLWNoaWxkKGV2ZW4pIC50ZXh0X19jZWxsOmZpcnN0LWNoaWxkLFxuICAgIC50ZXh0X19ib2R5IC50ZXh0X19yb3c6bnRoLWNoaWxkKGV2ZW4pIC50ZXh0X19jZWxsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcmVtaWZ5KDYpO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW1pZnkoNik7XG4gICAgfVxuXG4gICAgPiAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbDpsYXN0LWNoaWxkLFxuICAgIC50ZXh0X19ib2R5IC50ZXh0X19yb3c6bnRoLWNoaWxkKGV2ZW4pIC50ZXh0X19jZWxsOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcmVtaWZ5KDYpO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogcmVtaWZ5KDYpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQmxvY2txdW90ZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYmxvY2txdW90ZSB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiByZW1pZnkoMikgc29saWQgY29sb3IoXCJhY2NlbnRcIik7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDAgMCAwIDE1LCAxNik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBVc2VyIENvbnRlbnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnVzZXItY29udGVudCB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuXG4gICAgLy8gdGVsIGxpbmtzXG5cbiAgICBhW2hyZWZePVwidGVsOlwiXSB7XG4gICAgICAgIEBleHRlbmQgLmxpbms7XG4gICAgfVxuXG4gICAgLy8gaW1hZ2VzXG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSB7XG4gICAgICAgIEBleHRlbmQgLnRpdGxlO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGV4dGVuZCAudGl0bGUtLWgyO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgQGV4dGVuZCAudGl0bGUtLWgzO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgQGV4dGVuZCAudGl0bGUtLWg0O1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgQGV4dGVuZCAudGl0bGUtLWg1O1xuICAgIH1cblxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbn1cblxuLyogbGlnaHQgdmFyaWFudCAqL1xuXG4udXNlci1jb250ZW50LS1saWdodCB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuXG4gICAgLmxpbmssXG4gICAgLnRpdGxlLFxuICAgIC50ZXh0LFxuICAgIC53cC1jYXB0aW9uLXRleHQge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICB9XG5cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEFjY29yZGlvblxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYWNjb3JkaW9uIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJkYXJrXCIsIFwic2hhZGVcIik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSgxNiwgMTYpO1xuICAgICAgICBib3gtc2hhZG93OiByZW1pZnkoMCAyIDQpIHRyYW5zcGFyZW50aXplKGNvbG9yKFwiZGFya1wiKSwgMC43KTtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDQwLCAxNik7XG4gICAgfVxufVxuXG4uYWNjb3JkaW9uX19zdW1tYXJ5IHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250O1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNywgMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDIxLCAxNyk7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgxMiAyMCwgMTcpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5hY2NvcmRpb25fX3N1bW1hcnlfX2ljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbWlmeSgxMCwgMTcpO1xuICAgIH1cblxuICAgIC5hY2NvcmRpb25bb3Blbl0gJiAuYWNjb3JkaW9uX19zdW1tYXJ5X19pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG59XG5cbi5hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoMTIgMjAsIDE2KTtcbiAgICB9XG59XG5cbi5hY2NvcmRpb25fX3Byb2R1Y3QtZmlsdGVyIHtcbiAgICAucHJvZHVjdC1maWx0ZXJfX3RpdGxlLFxuICAgIC5wcm9kdWN0LWZpbHRlcl9fdGV4dCxcbiAgICAucHJvZHVjdC1maWx0ZXJfX2lucHV0X19jb250YWluZXIgLmlucHV0X19jb250YWluZXJfX3RleHQge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEFydGljbGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmFydGljbGVfX2ZpZ3VyZSB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAzMCwgMTYpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4uYXJ0aWNsZV9fZmlndXJlX19pbWFnZSB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5hcnRpY2xlX19maWd1cmVfX2NhcHRpb24ge1xuICAgICYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudGl6ZShjb2xvcihcImRhcmtcIiksIDEpIDAlLCB0cmFuc3BhcmVudGl6ZShjb2xvcihcImRhcmtcIiksICgxIC8gMykpIDUwJSwgdHJhbnNwYXJlbnRpemUoY29sb3IoXCJkYXJrXCIpLCAxKSAxMDAlKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMC41KSAoJGNvbnRlbnQtcGFkZGluZyAqIDAuOCkpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uYXJ0aWNsZV9fZmlndXJlX190aXRsZSB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoNSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5hcnRpY2xlX19maWd1cmVfX21lbnUtbGlzdF9fY29udGFpbmVyIHtcbiAgICAubWVudS1saXN0LS1tZXRhIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKGNvbG9yKFwibGlnaHRcIiksIDUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBleGNlcnB0IHZhcmlhbnQgKi9cblxuLmFydGljbGUtLWV4Y2VycHQge1xuICAgICYgKyAmIHtcbiAgICAgICAgYm9yZGVyLXRvcDogcmVtaWZ5KDEpIHNvbGlkIGNvbG9yKFwiYmFja2dyb3VuZFwiLCBcInNoYWRlXCIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KDE2LCAxNik7XG4gICAgfVxuXG4gICAgLmFydGljbGVfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTgsIDE2KTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9faGVhZGVyID4gLmFydGljbGVfX3RpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX19oZWFkZXIgPiAuYXJ0aWNsZV9fdGl0bGU6bm90KDpsYXN0LWNoaWxkKSArICoge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMTAsIDE2KTtcbiAgICB9XG59XG5cbi8qIHByb2R1Y3QtZXhjZXJwdCB2YXJpYW50ICovXG5cbi5hcnRpY2xlLS1wcm9kdWN0LWV4Y2VycHQge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImJhY2tncm91bmRcIik7XG4gICAgICAgIGJvcmRlcjogcmVtaWZ5KDEpIHNvbGlkIGNvbG9yKFwiYmFja2dyb3VuZFwiLCBcInNoYWRlXCIpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIGF1dG8gKCRjb250ZW50LXBhZGRpbmcgKiAxLjYpKTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoMjQ1LCAxNik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSg0MiwgMTYpO1xuICAgIH1cblxuICAgID4gLmFydGljbGVfX2xpbmsge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFydGljbGUtLWhhcy1pbWFnZSB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX19maWd1cmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgxODAsIDE2KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoMCAwIDE1LCAxNik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX19maWd1cmVfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9fdGl0bGUge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJwcmltYXJ5XCIsIFwic2hhZGVcIik7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE4LCAxNik7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9fY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDIwIDI1LCAxNik7XG4gICAgfVxufVxuXG4vKiBwcm9kdWN0LW1pbmkgdmFyaWFudCAqL1xuXG4uYXJ0aWNsZS0tcHJvZHVjdC1taW5pIHtcbiAgICAmIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtaWZ5KDIpIHNvbGlkIGNvbG9yKFwiYmFja2dyb3VuZFwiLCBcInNoYWRlXCIpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDAgKCRjb250ZW50LXBhZGRpbmcgKiAwLjYpKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDAgMCAoJGNvbnRlbnQtcGFkZGluZyAqIDAuNikpO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX19maWd1cmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoMTAwKTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9fdGl0bGUge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgyMiwgMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIENhbGxvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmNvbnRlbnQtYmxvY2stLWNhbGxvdXRzIHtcbiAgICAmIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSg3OCk7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgyNCwgMTYpIHJlbWlmeSgzNCwgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDQyLCAzNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgzNSk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY2FsbG91dC0tbW9yZSxcbiAgICAuY29udGVudF9fcG9zdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obCkge1xuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZS0tY2FsbG91dC1saWdodCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogcmVtaWZ5KDE5MSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYWxsb3V0IHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAxMCk7XG4gICAgICAgIG1heC13aWR0aDogcmVtaWZ5KDE4NSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5jYWxsb3V0X190ZXh0IHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiLCBcInNoYWRlXCIpO1xuICAgICAgICBmb250LXJhbmdlOiAkeHMtYnJlYWsgJHhsLWJyZWFrO1xuICAgICAgICBmb250LXNpemU6IHJlc3BvbnNpdmUgcmVtaWZ5KDE0LCAxNikgcmVtaWZ5KDE4LCAxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMzksIDMyKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5jYWxsb3V0LS1tb3JlICYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIGdhcDogcmVtaWZ5KDcsIDE4KTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obSkge1xuICAgICAgICAuY2FsbG91dC0tbW9yZSAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYWxsb3V0X19pY29uIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiKTtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgxOCwgMTQpIHJlbWlmeSg1NCwgMTgpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDAgNywgNTQpO1xuICAgIH1cbn1cblxuLmNhbGxvdXRfX2ltYWdlIHtcbiAgICAmIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAyMDgvMTUyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDEzKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmNhbGxvdXRfX3NpemVyIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5jYWxsb3V0LS1tb3JlIHtcbiAgICAmIHtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDEyICRjb250ZW50LXBhZGRpbmcpO1xuICAgIH1cbn1cblxuLmNhbGxvdXQtLW92ZXJsYXkge1xuICAgICYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgY29sb3IoXCJkYXJrXCIpIDAlLCB0cmFuc3BhcmVudGl6ZShjb2xvcihcImRhcmtcIiksIDEpIDYwJSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmNhbGxvdXRfX2ltYWdlIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgfVxuXG4gICAgLmNhbGxvdXRfX3RleHQge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgxOSAxMyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogT3JkZXIgVHJhY2tpbmcgLSBXb3JkUHJlc3MgU3RhdHVzIFRyYWNraW5nIFBsdWdpblxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtaWQgKi9cblxuI2V3ZC1vdHAtZW5kaW5nLXN0YXR1cyB7XG4gICAgJiB7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi5ld2Qtb3RwLXN0YXR1c2VzLFxuLmV3ZC1vdHAtdHJhY2tpbmctcmVzdWx0cy1maWVsZCxcbi5ld2Qtb3RwLXRyYWNraW5nLXJlc3VsdHMtY3VzdG9tLWZpZWxkcyxcbi5ld2Qtb3RwLXN0YXR1cy1sYWJlbCB7XG4gICAgLmV3ZC1vdHAtZm9ybV9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4uZXdkLW90cC1zdGF0dXMtbGFiZWwge1xuICAgICY6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImJhY2tncm91bmRcIiwgXCJzaGFkZVwiKTtcbiAgICB9XG5cbiAgICAuZXdkLW90cC1zdGF0dXNlczpmaXJzdC1jaGlsZCAuZXdkLW90cC1mb3JtX190ZXh0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB9XG59XG5cbiNld2Qtb3RwLXByb2dyZXNzYmFyLXJvdW5kIHtcbiAgICAucm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImFjY2VudFwiKTtcbiAgICB9XG59XG5cbi5ld2Qtb3RwLXN0YXR1c2VzIHtcbiAgICAmIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTIsIDE2KTtcbiAgICB9XG59XG5cbi5ld2Qtb3RwLXRyYWNraW5nLXJlc3VsdHMtY3VzdG9tLWZpZWxkcyxcbi5ld2Qtb3RwLWZyb250LWVuZC11cGRhdGUtZm9ybSB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbWlmeSgzMiwgMTYpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogaWZyYW1lXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5pZnJhbWVfX2NvbnRhaW5lciB7XG4gICAgJiB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICA+IC5pZnJhbWUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExvZ29cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmxvZ28ge1xuICAgICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgIH1cbn1cblxuLmxvZ29fX2ltYWdlIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTWVudSBMaXN0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT0gR0xPQkFMIFZBUklBTlRTID09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubWVudS1saXN0X19jb250YWluZXIge1xuICAgICYge1xuICAgICAgICBjbGVhcjogZml4O1xuICAgIH1cbn1cblxuLm1lbnUtbGlzdCB7XG4gICAgJiB7XG4gICAgICAgIGNsZWFyOiBmaXg7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG59XG5cbi5tZW51LWxpc3RfX2l0ZW0ge1xuICAgICYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLm1lbnUtbGlzdF9fbGluayB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICA+IC50b2dnbGVfX2ljb24ge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXM7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9faXRlbS5pcy1hY3RpdmUgPiAmID4gLnRvZ2dsZV9faWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgIH1cbn1cblxuLyogYWNjb3JkaW9uIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC0tYWNjb3JkaW9uIHtcbiAgICAubWVudS1saXN0X19pdGVtLS1wYXJlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50ID4gLm1lbnUtbGlzdF9fbGluayB7XG4gICAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICB9XG59XG5cbi8qIGNoaWxkIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC0tY2hpbGQge1xuICAgICYge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9faXRlbSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn1cblxuLyogY2hpbGQgYWNjb3JkaW9uIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1hY2NvcmRpb24ge1xuICAgICYge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1cyAhaW1wb3J0YW50OyAvLyBATk9URSAhaW1wb3J0YW50IHJlcXVpcmVkIHRvIG92ZXJyaWRlIHRyYW5zaXRpb24tdG8tZnJvbS1hdXRvIGlubGluZSBzdHlsZVxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50LmlzLWFjdGl2ZSA+ICYge1xuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4xNXMgIWltcG9ydGFudDsgLy8gQE5PVEUgIWltcG9ydGFudCByZXF1aXJlZCB0byBvdmVycmlkZSB0cmFuc2l0aW9uLXRvLWZyb20tYXV0byBpbmxpbmUgc3R5bGVcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG59XG5cbi8qIGNoaWxkIG92ZXJsYXkgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkge1xuICAgICYge1xuICAgICAgICBsZWZ0OiAtOTk5ZW07XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtOTk5ZW07XG4gICAgICAgIHRyYW5zaXRpb246IGxlZnQgMHMgMC4xNXMsIG9wYWNpdHkgMC4xNXMsIHRvcCAwcyAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1cztcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpob3ZlciA+ICYsXG4gICAgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50LmlzLWFjdGl2ZSA+ICYge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8vIG11c3QgYmUgc2VwYXJhdGUgZnJvbSB0aGUgYWJvdmUgcnVsZXNldCBmb3IgZmFsbGJhY2sgcmVhc29uc1xuXG4gICAgLm5vLWphdmFzY3JpcHQgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50OmZvY3VzLXdpdGhpbiA+ICYge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxufVxuXG4vKiBjaGlsZCBvdmVybGF5IGRlcHRoIDIgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkubWVudS1saXN0LS1kZXB0aC0yIHtcbiAgICAubWVudS1saXN0X19pdGVtLS1wYXJlbnQ6aG92ZXIgPiAmLFxuICAgIC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudC5pcy1hY3RpdmUgPiAmIHtcbiAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC8vIG11c3QgYmUgc2VwYXJhdGUgZnJvbSB0aGUgYWJvdmUgcnVsZXNldCBmb3IgZmFsbGJhY2sgcmVhc29uc1xuXG4gICAgLm5vLWphdmFzY3JpcHQgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50OmZvY3VzLXdpdGhpbiA+ICYge1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG4vKiBjaGlsZCBvdmVybGF5IHJldmVyc2UgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkubWVudS1saXN0LS1yZXZlcnNlIHtcbiAgICAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDk5OWVtO1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwcyAwLjE1cywgb3BhY2l0eSAwLjE1cywgdG9wIDBzIDAuMTVzLCB2aXNpYmlsaXR5IDBzIDAuMTVzO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpob3ZlciA+ICYsXG4gICAgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50LmlzLWFjdGl2ZSA+ICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgICB9XG5cbiAgICAvLyBtdXN0IGJlIHNlcGFyYXRlIGZyb20gdGhlIGFib3ZlIHJ1bGVzZXQgZm9yIGZhbGxiYWNrIHJlYXNvbnNcblxuICAgIC5uby1qYXZhc2NyaXB0IC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpmb2N1cy13aXRoaW4gPiAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgfVxufVxuXG4vKiBjaGlsZCBvdmVybGF5IHJldmVyc2UgZGVwdGggMiB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLXJldmVyc2UubWVudS1saXN0LS1kZXB0aC0yIHtcbiAgICAubWVudS1saXN0X19pdGVtLS1wYXJlbnQ6aG92ZXIgPiAmLFxuICAgIC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudC5pcy1hY3RpdmUgPiAmIHtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAvLyBtdXN0IGJlIHNlcGFyYXRlIGZyb20gdGhlIGFib3ZlIHJ1bGVzZXQgZm9yIGZhbGxiYWNrIHJlYXNvbnNcblxuICAgIC5uby1qYXZhc2NyaXB0IC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpmb2N1cy13aXRoaW4gPiAmIHtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi8qIGZsZXggdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1mbGV4IHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmOm5vdCgubWVudS1saXN0LS1iZXR3ZWVuKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgPiAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpub3QoLm1lbnUtbGlzdC0tYmV0d2Vlbik6bm90KC5tZW51LWxpc3QtLWNlbnRlcikgPiAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbn1cblxuLyogZmxleCBiZXR3ZWVuIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC0tZmxleC5tZW51LWxpc3QtLWJldHdlZW4ge1xuICAgICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgPiAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxufVxuXG4vKiBmbGV4IGNlbnRlciB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLWZsZXgubWVudS1saXN0LS1jZW50ZXIge1xuICAgICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICA+IC5tZW51LWxpc3RfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG59XG5cbi8qIGZsZXggZW5kIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC0tZmxleC5tZW51LWxpc3QtLWVuZCB7XG4gICAgJiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgPiAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxufVxuXG4vKiBmbGV4IHN0YXJ0IHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC0tZmxleC5tZW51LWxpc3QtLXN0YXJ0IHtcbiAgICAmIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgID4gLm1lbnUtbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbn1cblxuLyogdmVydGljYWwgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS12ZXJ0aWNhbCB7XG4gICAgPiAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09IENVU1RPTSBWQVJJQU5UUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogbWV0YSB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLW1ldGEge1xuICAgICYge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJmb3JlZ3JvdW5kXCIsIFwidGludFwiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE0LCAxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAxNCwgMTQpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDIwLCAxNCk7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9fbGluayB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9fbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi8qIG5hdmlnYXRpb24gdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uIHtcbiAgICAmIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMjIuMDUsIDE2KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihsKSB7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgLTEzKTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X19saW5rLFxuICAgIC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtaWZ5KDE2KTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcInByaW1hcnlcIik7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW1pZnkoNi43NSAxMy41LCAxNik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuMTVzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoY29sb3IoXCJwcmltYXJ5XCIpLCAwLjgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjE1cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2l0ZW0uaXMtYWN0aXZlLFxuICAgIC5tZW51LWxpc3RfX2l0ZW06Zm9jdXMtd2l0aGluLFxuICAgIC5tZW51LWxpc3RfX2l0ZW06aG92ZXIge1xuICAgICAgICA+IC5tZW51LWxpc3RfX2xpbmssXG4gICAgICAgID4gLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcInByaW1hcnlcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS1saXN0X19idXR0b24ge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtaWZ5KDYuNzUgMTMuNSwgMTYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogY2hpbGQgKi9cblxuICAgIC5tZW51LWxpc3QtLWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJwcmltYXJ5XCIsIFwic2hhZGVcIik7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1vdmVybGF5IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtaWZ5KDE2KTtcbiAgICAgICAgbWluLXdpZHRoOiByZW1pZnkoMjUwLCAxNik7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9fbGluayxcbiAgICAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X190b2dnbGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDQgMTYsIDE2KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9faXRlbS5pcy1hY3RpdmUsXG4gICAgLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9faXRlbTpmb2N1cy13aXRoaW4sXG4gICAgLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9faXRlbTpob3ZlciB7XG4gICAgICAgID4gLm1lbnUtbGlzdF9fbGluayxcbiAgICAgICAgPiAubWVudS1saXN0X190b2dnbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoY29sb3IoXCJsaWdodFwiKSwgMC44KTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC0tY2hpbGQgPiAubWVudS1saXN0X19pdGVtOmZpcnN0LWNoaWxkID4gLm1lbnUtbGlzdF9fbGluayxcbiAgICAubWVudS1saXN0LS1jaGlsZCA+IC5tZW51LWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgPiAubWVudS1saXN0X190b2dnbGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KDgsIDE2KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0LS1jaGlsZDpub3QoLm1lbnUtbGlzdC0tbWVnYSkgPiAubWVudS1saXN0X19pdGVtOmxhc3QtY2hpbGQgPiAubWVudS1saXN0X19saW5rLFxuICAgIC5tZW51LWxpc3QtLWNoaWxkOm5vdCgubWVudS1saXN0LS1tZWdhKSA+IC5tZW51LWxpc3RfX2l0ZW06bGFzdC1jaGlsZCA+IC5tZW51LWxpc3RfX3RvZ2dsZSxcbiAgICAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW1lZ2EgPiAubWVudS1saXN0X19pdGVtOm5vdCgubWVudS1saXN0X19pdGVtLS1wYXJlbnQpOmxhc3QtY2hpbGQgPiAubWVudS1saXN0X19saW5rLFxuICAgIC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tbWVnYSA+IC5tZW51LWxpc3RfX2l0ZW06bm90KC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudCk6bGFzdC1jaGlsZCA+IC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1pZnkoOCwgMTYpO1xuICAgIH1cblxuICAgIC8qIGNoaWxkIGRlcHRoIDIgKi9cblxuICAgIC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tZGVwdGgtMiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnRpemUoY29sb3IoXCJsaWdodFwiKSwgMC44KSAwJSwgdHJhbnNwYXJlbnRpemUoY29sb3IoXCJsaWdodFwiKSwgMC44KSAxMDAlKTtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE2KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLWRlcHRoLTI6bm90KC5tZW51LWxpc3QtLXJldmVyc2UpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtaWZ5KDApO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tZGVwdGgtMi5tZW51LWxpc3QtLXJldmVyc2Uge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogcmVtaWZ5KDApO1xuICAgIH1cblxuICAgIC8vIGxpbmUgdXAgdGhlIGZseW91dCB3aXRoIGl0cyBwYXJlbnRcbiAgICAubWVudS1saXN0X19pdGVtLS1wYXJlbnQ6bm90KDpmaXJzdC1jaGlsZCkgPiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLWRlcHRoLTIubWVudS1saXN0LS1vdmVybGF5IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCN7cmVtaWZ5KC00LCAyMCl9KTtcbiAgICB9XG5cbiAgICAvKiBhY2NvcmRpb25zICovXG5cbiAgICAmLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3RfX2l0ZW0tLWJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSg2Ljc1IDEzLjUsIDE2KTtcbiAgICB9XG5cbiAgICAmLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3RfX2J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNiwgMTYpO1xuICAgIH1cblxuICAgICYubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJwcmltYXJ5XCIsIFwic2hhZGVcIik7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogcmVtaWZ5KDEpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9fbGluayxcbiAgICAmLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkIC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSg4IDE2LCAxNik7XG4gICAgfVxuXG4gICAgJi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZCA+IC5tZW51LWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgPiAubWVudS1saXN0X19saW5rLFxuICAgICYubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQgPiAubWVudS1saXN0X19pdGVtOmZpcnN0LWNoaWxkID4gLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgxNiwgMTYpO1xuICAgIH1cblxuICAgICYubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQ6bm90KC5tZW51LWxpc3QtLW1lZ2EpID4gLm1lbnUtbGlzdF9faXRlbTpsYXN0LWNoaWxkID4gLm1lbnUtbGlzdF9fbGluayxcbiAgICAmLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkOm5vdCgubWVudS1saXN0LS1tZWdhKSA+IC5tZW51LWxpc3RfX2l0ZW06bGFzdC1jaGlsZCA+IC5tZW51LWxpc3RfX3RvZ2dsZSxcbiAgICAmLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tbWVnYSA+IC5tZW51LWxpc3RfX2l0ZW06bm90KC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudCk6bGFzdC1jaGlsZCA+IC5tZW51LWxpc3RfX2xpbmssXG4gICAgJi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW1lZ2EgPiAubWVudS1saXN0X19pdGVtOm5vdCgubWVudS1saXN0X19pdGVtLS1wYXJlbnQpOmxhc3QtY2hpbGQgPiAubWVudS1saXN0X190b2dnbGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDE2LCAxNik7XG4gICAgfVxufVxuXG4vKiBwYWdpbmF0aW9uIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC0tcGFnaW5hdGlvbiB7XG4gICAgJiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNCwgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDgsIDE0KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X19pdGVtLmN1cnJlbnQgPiAubWVudS1saXN0X19saW5rIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZm9yZWdyb3VuZFwiKTtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgIH1cbn1cblxuLyogc2l0ZW1hcCB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLXNpdGVtYXAge1xuICAgICYge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJwcmltYXJ5XCIsIFwidGludFwiKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgyMiwgMTYpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIGF1dG8gMjIsIDE2KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X19saW5rIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiLCBcInRpbnRcIik7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoNiAyMSwgMTYpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X19saW5rOmZvY3VzLFxuICAgIC5tZW51LWxpc3RfX2xpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obCkge1xuICAgICAgICAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1saXN0X19saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbWlmeSgxMCAyMSwgMTYpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWxpc3RfX2xpbms6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmctbG9hZChcIi4uL21lZGlhL3ZlbmRvci9mYXMtYW5nbGUtcmlnaHQuc3ZnXCIsIGZpbGw9I3tjb2xvcihcImxpZ2h0XCIpfSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGhlaWdodDogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiByZW1pZnkoMTQsIDE2KTtcbiAgICAgICAgICAgIHdpZHRoOiByZW1pZnkoOCwgMTYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4oeHhsKSB7XG4gICAgICAgIC5tZW51LWxpc3RfX2xpbmsge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogc29jaWFsIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC0tc29jaWFsIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgyNCwgMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDMyLCAyNCk7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCA4IDAgMCwgMjQpO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2xpbmsge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2xpbms6Zm9jdXMsXG4gICAgLm1lbnUtbGlzdF9fbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi8qIHRhYnMgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS10YWJzIHtcbiAgICAmIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgICAgIGZvbnQtcmFuZ2U6ICRsLWJyZWFrICR4eGwtYnJlYWs7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSByZW1pZnkoMTYsIDE2KSByZW1pZnkoMjAsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgyNCwgMjApO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoMCAzMCwgMjApO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiZGFya1wiLCBcInRpbnRcIik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSgyLjUpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoNSk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X19saW5rIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZGFya1wiLCBcInRpbnRcIik7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgxNSAyNSwgMjApO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzLCBjb2xvciAwLjE1cztcbiAgICB9XG5cbiAgICAubWVudS1saXN0X19saW5rW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJkYXJrXCIsIFwidGludFwiKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgfVxufVxuXG4vKiB0aHVtYm5haWxzIHZhcmlhbnQgKi9cblxuLm1lbnUtbGlzdC0tdGh1bWJuYWlscyB7XG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHhzKSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbWlmeSgyMCwgMTYpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMjAsIDIwKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtbGlzdF9fbGluayB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJmb3JlZ3JvdW5kXCIsIFwidGludFwiKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSgxNiwgMjApO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDIwLCAyMCk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW1pZnkoMTAgMjAsIDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWxpc3RfX2ljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMzYsIDIwKTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMjAgMCAwLCAzNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbih4cykge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBtYXJnaW46IHJlbWlmeSgyMCAwIDAsIDE2KTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje3JlbWlmeSgyMCwgMTYpfSk7XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtaWZ5KDAgMjAgMjAgMCwgMTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtbGlzdF9fbGluayB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoXCJmb3JlZ3JvdW5kXCIpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtbGlzdF9faW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWxpc3RfX2ljb25fX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyOiByZW1pZnkoMikgc29saWQgY29sb3IoXCJmb3JlZ3JvdW5kXCIpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZW51LWxpc3RfX2ljb24ge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoNjQsIDE2KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBOaW5qYSBGb3Jtc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuICovXG5cbi8vIGhvbmV5cG90IGZpZWxkIGZpeFxuXG4ubmYtZm9ybS1ocCB7XG4gICAgJiB7XG4gICAgICAgIGxlZnQ6IC05OTllbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC05OTllbTtcbiAgICB9XG59XG5cbi8vIGRhdGUgZmllbGQgZml4XG5cbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIC5waWthZGF5X19jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi8vIGxpc3QgZmllbGQgZml4XG5cbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIC5saXN0LWNoZWNrYm94LFxuICAgIC5saXN0LXJhZGlvIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE2KTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLy8gbGFiZWwgYWxpZ25tZW50XG5cbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIC8vIGNvbWJpbmVkXG5cbiAgICAmLmxhYmVsLWFib3ZlIC5maWVsZC13cmFwLFxuICAgICYubGFiZWwtcmlnaHQgLmZpZWxkLXdyYXAsXG4gICAgJi5sYWJlbC1iZWxvdyAuZmllbGQtd3JhcCxcbiAgICAmLmxhYmVsLWxlZnQgLmZpZWxkLXdyYXAge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCxcbiAgICAmLmxhYmVsLWxlZnQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cbiAgICAmLmxhYmVsLWFib3ZlIC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50LFxuICAgICYubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50LFxuICAgICYubGFiZWwtbGVmdCAuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuICAgICYubGFiZWwtcmlnaHQgLmNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsXG4gICAgJi5sYWJlbC1sZWZ0IC5jaGVja2JveC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBhYm92ZVxuXG4gICAgJi5sYWJlbC1hYm92ZSAuZmllbGQtd3JhcCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLy8gYmVsb3dcblxuICAgICYubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgICYubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgJi5sYWJlbC1iZWxvdyAuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cblxuICAgIC8vIHJpZ2h0XG5cbiAgICAmLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgICYubGFiZWwtcmlnaHQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAvLyBoaWRkZW5cblxuICAgICYubGFiZWwtaGlkZGVuIC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCB7XG4gICAgICAgIGxlZnQ6IC05OTllbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC05OTllbTtcbiAgICB9XG59XG5cbi8vIHJlQ0FQVENIQSBsYXllcmluZyBmaXhcblxuLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICAgICYge1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgfVxufVxuXG4vLyBjb2x1bW4gZWRnZSBhbGlnbm1lbnQgZml4XG5cbi5uZi1yb3cge1xuICAgIC5uZi1oYXMtY29sdW1ucyAmIHtcbiAgICAgICAgbWFyZ2luOiAwIC01cHg7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBPcGluaW9uYXRlZCBUd2Vha3NcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLm5mLWZvcm0tY29udCB7XG4gICAgLmlzLW9mZmxpbmUgJiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuaXMtb2ZmbGluZSAmOjpiZWZvcmUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZShjb2xvcihcImJhY2tncm91bmRcIiksIDAuMjUpO1xuICAgICAgICBjb250ZW50OiBcIlNvcnJ5LCBpdCBsb29rcyBsaWtlIHlvdVxcJ3JlIG9mZmxpbmUuIFBsZWFzZSByZWNvbm5lY3QgdG8gdGhlIGludGVybmV0IHRvIHVzZSB0aGlzIGZvcm0uXCI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgyMCwgMTYpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoJGNvbnRlbnQtcGFkZGluZywgMjApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vIHJlcXVpcmVkIGluZGljYXRvciBmaXhcblxuLm5pbmphLWZvcm1zLXJlcS1zeW1ib2wge1xuICAgICYge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJlcnJvclwiKTtcbiAgICB9XG59XG5cbi8vIGhlbHAgdG9vbHRpcCBmaXhcblxuLm5pbmphLWZvcm1zLWhlbHAtc3ltYm9sIHtcbiAgICAmIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4ubmluamEtZm9ybXMtaGVscC10b29sdGlwIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJkYXJrXCIsIFwidGludFwiKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtaWZ5KDYsIDE0KTtcbiAgICAgICAgYm90dG9tOiAxMzAlO1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNCwgMTYpO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgxMCwgMTQpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cztcbiAgICAgICAgd2lkdGg6IHJlbWlmeSgyMDAsIDE0KTtcbiAgICB9XG5cbiAgICAubmluamEtZm9ybXMtaGVscC1zeW1ib2wuaXMtYWN0aXZlICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdDogcmVtaWZ5KDYsIDE2KSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiByZW1pZnkoNiwgMTYpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiByZW1pZnkoNiwgMTYpIHNvbGlkIGNvbG9yKFwiZGFya1wiLCBcInRpbnRcIik7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG5cbiAgICAubmluamEtZm9ybXMtdXNlci1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBsaXN0IGZpZWxkIGZpeFxuXG4ubmYtZmllbGQtY29udGFpbmVyIHtcbiAgICAubGlzdC1jaGVja2JveCxcbiAgICAubGlzdC1yYWRpbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg0LCAxNik7XG4gICAgfVxuXG4gICAgLmxpc3QtY2hlY2tib3ggLmlucHV0LS1jaGVja2JveCxcbiAgICAubGlzdC1yYWRpbyAuaW5wdXQtLXJhZGlvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDQsIDE2KTtcbiAgICB9XG5cbiAgICAubGlzdC1jaGVja2JveCAudGV4dC0tbGFiZWwsXG4gICAgLmxpc3QtcmFkaW8gLnRleHQtLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDQsIDE2KTtcbiAgICB9XG59XG5cbi8vIHN0YXJzIGZpZWxkIGZpeFxuXG4ubmYtZmllbGQtY29udGFpbmVyIHtcbiAgICAuc3RhcnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjQsIDE2KTtcbiAgICB9XG59XG5cbi8vIGVycm9yIGZpeFxuXG4ubmYtZXJyb3ItbXNnIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZXJyb3JcIiwgXCJ0aW50XCIpO1xuICAgIH1cbn1cblxuLm5mLWVycm9yIC5pbnB1dCB7XG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgLmlucHV0LS1lcnJvciAhb3B0aW9uYWw7XG4gICAgfVxufVxuXG4vLyBzdWNjZXNzIGZpeFxuXG4ubmYtcGFzcyAuaW5wdXQge1xuICAgICYge1xuICAgICAgICBAZXh0ZW5kIC5pbnB1dC0tc3VjY2VzcyAhb3B0aW9uYWw7XG4gICAgfVxufVxuXG4vLyByZUNBUFRDSEEgZml4XG5cbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIC5nLXJlY2FwdGNoYTpub3QoW2RhdGEtc2l6ZT1cImludmlzaWJsZVwiXSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjQsIDE2KTtcbiAgICB9XG59XG5cbi8vIGxhYmVsIGRpc3BsYXlcblxuLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgLnRleHQtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLy8gbGFiZWwgYWxpZ25tZW50XG5cbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIC8vIGFib3ZlXG5cbiAgICAmLmxhYmVsLWFib3ZlIC5uZi1maWVsZC1sYWJlbCA+IC50ZXh0LS1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg0LCAxNik7XG4gICAgfVxuXG4gICAgLy8gYmVsb3dcblxuICAgICYubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWxhYmVsID4gLnRleHQtLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtaWZ5KDQsIDE2KTtcbiAgICB9XG5cbiAgICAmLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IC5pbnB1dCxcbiAgICAmLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IC5zdGFycyxcbiAgICAmLmxhYmVsLWJlbG93IC5saXN0LWNoZWNrYm94LFxuICAgICYubGFiZWwtYmVsb3cgLmxpc3QtcmFkaW8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAvLyBsZWZ0XG5cbiAgICAmLmxhYmVsLWxlZnQgLm5mLWZpZWxkLWxhYmVsID4gLnRleHQtLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1pZnkoMTAsIDE2KTtcbiAgICB9XG5cbiAgICAvLyByaWdodFxuXG4gICAgJi5sYWJlbC1yaWdodCAubmYtZmllbGQtbGFiZWwgPiAudGV4dC0tbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtaWZ5KDEwLCAxNik7XG4gICAgfVxuXG4gICAgLy8gY2hlY2tib3gvcmFkaW8gbGlzdHNcblxuICAgICYubGlzdGNoZWNrYm94LWNvbnRhaW5lciAuaW5wdXQtLWNoZWNrYm94LFxuICAgICYubGlzdHJhZGlvLWNvbnRhaW5lciAuaW5wdXQtLXJhZGlvIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1pZnkoNiwgMTYpO1xuICAgIH1cbn1cblxuLy8gaW5wdXQtbGltaXQgYWxpZ25tZW50XG5cbi5uZi1pbnB1dC1saW1pdCB7XG4gICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbWlmeSgtMjQsIDE2KTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE5vdHkgKGh0dHBzOi8vbmVkLmltL25vdHkvIy8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cblxuLy8gVmVuZG9yXG5cbkBpbXBvcnQgXCJub3R5L3NyYy9ub3R5XCI7XG5cbi8vIEN1c3RvbVxuXG4ubm90eV9iYXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImVycm9yXCIpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1pZnkoMiwgMTYpO1xuICAgICAgICBib3gtc2hhZG93OiByZW1pZnkoMCAyIDUgMCwgMTYpIHRyYW5zcGFyZW50aXplKGNvbG9yKFwiZGFya1wiKSwgMC43NSk7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDUgMCwgMTYpO1xuICAgIH1cblxuICAgIC5ub3R5X2JvZHkge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMjQsIDE2KTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDE2IDI0LCAxNik7XG4gICAgfVxufVxuIiwiJG5vdHktcHJpbWFyeS1jb2xvcjogIzMzMyAhZGVmYXVsdDtcbiRub3R5LWRlZmF1bHQtd2lkdGg6IDMyNXB4ICFkZWZhdWx0O1xuJG5vdHktY29ybmVyLXNwYWNlOiAyMHB4ICFkZWZhdWx0O1xuXG4ubm90eV9sYXlvdXRfbWl4aW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogOTk5OTk5OTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEuMCwgMS4wKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgZmlsdGVyOiBibHVyKDApO1xuICAtd2Via2l0LWZpbHRlcjogYmx1cigwKTtcbiAgbWF4LXdpZHRoOiA5MCU7XG59XG5cbiNub3R5X2xheW91dF9fdG9wIHtcbiAgQGV4dGVuZCAubm90eV9sYXlvdXRfbWl4aW47XG4gIHRvcDogMDtcbiAgbGVmdDogNSU7XG4gIHdpZHRoOiA5MCU7XG59XG5cbiNub3R5X2xheW91dF9fdG9wTGVmdCB7XG4gIEBleHRlbmQgLm5vdHlfbGF5b3V0X21peGluO1xuICB0b3A6ICRub3R5LWNvcm5lci1zcGFjZTtcbiAgbGVmdDogJG5vdHktY29ybmVyLXNwYWNlO1xuICB3aWR0aDogJG5vdHktZGVmYXVsdC13aWR0aDtcbn1cblxuI25vdHlfbGF5b3V0X190b3BDZW50ZXIge1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgdG9wOiA1JTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogJG5vdHktZGVmYXVsdC13aWR0aDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtNTAlIC0gLjVweCkpIHRyYW5zbGF0ZVooMCkgc2NhbGUoMS4wLCAxLjApO1xufVxuXG4jbm90eV9sYXlvdXRfX3RvcFJpZ2h0IHtcbiAgQGV4dGVuZCAubm90eV9sYXlvdXRfbWl4aW47XG4gIHRvcDogJG5vdHktY29ybmVyLXNwYWNlO1xuICByaWdodDogJG5vdHktY29ybmVyLXNwYWNlO1xuICB3aWR0aDogJG5vdHktZGVmYXVsdC13aWR0aDtcbn1cblxuI25vdHlfbGF5b3V0X19ib3R0b20ge1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1JTtcbiAgd2lkdGg6IDkwJTtcbn1cblxuI25vdHlfbGF5b3V0X19ib3R0b21MZWZ0IHtcbiAgQGV4dGVuZCAubm90eV9sYXlvdXRfbWl4aW47XG4gIGJvdHRvbTogJG5vdHktY29ybmVyLXNwYWNlO1xuICBsZWZ0OiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xufVxuXG4jbm90eV9sYXlvdXRfX2JvdHRvbUNlbnRlciB7XG4gIEBleHRlbmQgLm5vdHlfbGF5b3V0X21peGluO1xuICBib3R0b206IDUlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC01MCUgLSAuNXB4KSkgdHJhbnNsYXRlWigwKSBzY2FsZSgxLjAsIDEuMCk7XG59XG5cbiNub3R5X2xheW91dF9fYm90dG9tUmlnaHQge1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgYm90dG9tOiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIHJpZ2h0OiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xufVxuXG4jbm90eV9sYXlvdXRfX2NlbnRlciB7XG4gIEBleHRlbmQgLm5vdHlfbGF5b3V0X21peGluO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogJG5vdHktZGVmYXVsdC13aWR0aDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtNTAlIC0gLjVweCksIGNhbGMoLTUwJSAtIC41cHgpKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEuMCwgMS4wKTtcbn1cblxuI25vdHlfbGF5b3V0X19jZW50ZXJMZWZ0IHtcbiAgQGV4dGVuZCAubm90eV9sYXlvdXRfbWl4aW47XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCBjYWxjKC01MCUgLSAuNXB4KSkgdHJhbnNsYXRlWigwKSBzY2FsZSgxLjAsIDEuMCk7XG59XG5cbiNub3R5X2xheW91dF9fY2VudGVyUmlnaHQge1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCBjYWxjKC01MCUgLSAuNXB4KSkgdHJhbnNsYXRlWigwKSBzY2FsZSgxLCAxKTtcbn1cblxuLm5vdHlfcHJvZ3Jlc3NiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubm90eV9oYXNfdGltZW91dC5ub3R5X2hhc19wcm9ncmVzc2JhciAubm90eV9wcm9ncmVzc2JhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAzcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQ2NDY0O1xuICBvcGFjaXR5OiAwLjI7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMClcbn1cblxuLm5vdHlfYmFyIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgdHJhbnNsYXRlWigwKSBzY2FsZSgxLjAsIDEuMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEuMCwgMS4wKTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5ub3R5X2VmZmVjdHNfb3BlbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSk7XG4gIGFuaW1hdGlvbjogbm90eV9hbmltX2luIC41cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG59XG5cbi5ub3R5X2VmZmVjdHNfY2xvc2Uge1xuICBhbmltYXRpb246IG5vdHlfYW5pbV9vdXQgLjVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbn1cblxuLm5vdHlfZml4X2VmZmVjdHNfaGVpZ2h0IHtcbiAgYW5pbWF0aW9uOiBub3R5X2FuaW1faGVpZ2h0IDc1bXMgZWFzZS1vdXQ7XG59XG5cbi5ub3R5X2Nsb3NlX3dpdGhfY2xpY2sge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5ub3R5X2Nsb3NlX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIHJpZ2h0OiAycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0O1xufVxuXG4ubm90eV9jbG9zZV9idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xKTtcbn1cblxuLm5vdHlfbW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBvcGFjaXR5OiAuMztcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuXG4ubm90eV9tb2RhbC5ub3R5X21vZGFsX29wZW4ge1xuICBvcGFjaXR5OiAwO1xuICBhbmltYXRpb246IG5vdHlfbW9kYWxfaW4gLjNzIGVhc2Utb3V0O1xufVxuLm5vdHlfbW9kYWwubm90eV9tb2RhbF9jbG9zZSB7XG4gIGFuaW1hdGlvbjogbm90eV9tb2RhbF9vdXQgLjNzIGVhc2Utb3V0O1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbn1cblxuQGtleWZyYW1lcyBub3R5X21vZGFsX2luIHtcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogLjM7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbm90eV9tb2RhbF9vdXQge1xuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbm90eV9hbmltX2luIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG5vdHlfYW5pbV9vdXQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBub3R5X2FuaW1faGVpZ2h0IHtcbiAgMTAwJSB7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIG5vVWlTbGlkZXIgKGh0dHBzOi8vcmVmcmVzaGxlc3MuY29tL25vdWlzbGlkZXIvKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuICovXG5cbi8vIFZlbmRvclxuXG5AaW1wb3J0IFwibm91aXNsaWRlci9kaXN0cmlidXRlL25vdWlzbGlkZXJcIjtcblxuLy8gQ3VzdG9tXG5cbi5ub1VpLXRhcmdldCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiZGFya1wiLCBcInNoYWRlXCIpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4ubm9VaS1ob3Jpem9udGFsIHtcbiAgICAmIHtcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoNCwgMTYpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSg0MiAwIDYsIDE2KTtcbiAgICB9XG59XG5cbi5ub1VpLWNvbm5lY3RzIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJkYXJrXCIsIFwic2hhZGVcIik7XG4gICAgICAgIGJvcmRlcjogcmVtaWZ5KDEpIHNvbGlkIGNvbG9yKFwibGlnaHRcIik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxufVxuXG4ubm9VaS1iYXNlIHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCA4LCAxNik7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje3JlbWlmeSgxNiwgMTYpfSk7XG4gICAgfVxufVxuXG4ubm9VaS1jb25uZWN0LFxuLm5vVWktb3JpZ2luIHtcbiAgICAmLFxuICAgIC5ub1VpLWhvcml6b250YWwgJiB7XG4gICAgICAgIGhlaWdodDogcmVtaWZ5KDQsIDE2KTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtICN7cmVtaWZ5KDIsIDE2KX0pO1xuICAgIH1cbn1cblxuLm5vVWktY29ubmVjdCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgfVxufVxuXG4ubm9VaS1oYW5kbGUge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgxNiwgMTYpO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDE2LCAxNik7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5ub1VpLWhvcml6b250YWwgLm5vVWktaGFuZGxlIHtcbiAgICAmIHtcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoMjYsIDE2KTtcbiAgICAgICAgcmlnaHQ6IHJlbWlmeSgtOCwgMTYpO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDI2LCAxNik7XG4gICAgfVxufVxuXG4ubm9VaS10b29sdGlwIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDEyLCAxNik7XG4gICAgfVxufVxuIiwiLyohIG5vdWlzbGlkZXIgLSAxNC43LjAgLSA0LzYvMjAyMSAqL1xuLyogRnVuY3Rpb25hbCBzdHlsaW5nO1xuICogVGhlc2Ugc3R5bGVzIGFyZSByZXF1aXJlZCBmb3Igbm9VaVNsaWRlciB0byBmdW5jdGlvbi5cbiAqIFlvdSBkb24ndCBuZWVkIHRvIGNoYW5nZSB0aGVzZSBydWxlcyB0byBhcHBseSB5b3VyIGRlc2lnbi5cbiAqL1xuLm5vVWktdGFyZ2V0LFxuLm5vVWktdGFyZ2V0ICoge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ubm9VaS10YXJnZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubm9VaS1iYXNlLFxuLm5vVWktY29ubmVjdHMge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4vKiBXcmFwcGVyIGZvciBhbGwgY29ubmVjdCBlbGVtZW50cy5cbiAqL1xuLm5vVWktY29ubmVjdHMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwO1xufVxuLm5vVWktY29ubmVjdCxcbi5ub1VpLW9yaWdpbiB7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tc3R5bGU6IGZsYXQ7XG59XG4ubm9VaS1jb25uZWN0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5ub1VpLW9yaWdpbiB7XG4gIGhlaWdodDogMTAlO1xuICB3aWR0aDogMTAlO1xufVxuLyogT2Zmc2V0IGRpcmVjdGlvblxuICovXG4ubm9VaS10eHQtZGlyLXJ0bC5ub1VpLWhvcml6b250YWwgLm5vVWktb3JpZ2luIHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG59XG4vKiBHaXZlIG9yaWdpbnMgMCBoZWlnaHQvd2lkdGggc28gdGhleSBkb24ndCBpbnRlcmZlcmUgd2l0aCBjbGlja2luZyB0aGVcbiAqIGNvbm5lY3QgZWxlbWVudHMuXG4gKi9cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLW9yaWdpbiB7XG4gIHdpZHRoOiAwO1xufVxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1vcmlnaW4ge1xuICBoZWlnaHQ6IDA7XG59XG4ubm9VaS1oYW5kbGUge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ubm9VaS10b3VjaC1hcmVhIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5ub1VpLXN0YXRlLXRhcCAubm9VaS1jb25uZWN0LFxuLm5vVWktc3RhdGUtdGFwIC5ub1VpLW9yaWdpbiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xufVxuLm5vVWktc3RhdGUtZHJhZyAqIHtcbiAgY3Vyc29yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG4vKiBTbGlkZXIgc2l6ZSBhbmQgaGFuZGxlIHBsYWNlbWVudDtcbiAqL1xuLm5vVWktaG9yaXpvbnRhbCB7XG4gIGhlaWdodDogMThweDtcbn1cbi5ub1VpLWhvcml6b250YWwgLm5vVWktaGFuZGxlIHtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMjhweDtcbiAgcmlnaHQ6IC0xN3B4O1xuICB0b3A6IC02cHg7XG59XG4ubm9VaS12ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxOHB4O1xufVxuLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMzRweDtcbiAgcmlnaHQ6IC02cHg7XG4gIHRvcDogLTE3cHg7XG59XG4ubm9VaS10eHQtZGlyLXJ0bC5ub1VpLWhvcml6b250YWwgLm5vVWktaGFuZGxlIHtcbiAgbGVmdDogLTE3cHg7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLyogU3R5bGluZztcbiAqIEdpdmluZyB0aGUgY29ubmVjdCBlbGVtZW50IGEgYm9yZGVyIHJhZGl1cyBjYXVzZXMgaXNzdWVzIHdpdGggdXNpbmcgdHJhbnNmb3JtOiBzY2FsZVxuICovXG4ubm9VaS10YXJnZXQge1xuICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEM0QzRDM7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCAjRjBGMEYwLCAwIDNweCA2cHggLTVweCAjQkJCO1xufVxuLm5vVWktY29ubmVjdHMge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4ubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZDogIzNGQjhBRjtcbn1cbi8qIEhhbmRsZXMgYW5kIGN1cnNvcnM7XG4gKi9cbi5ub1VpLWRyYWdnYWJsZSB7XG4gIGN1cnNvcjogZXctcmVzaXplO1xufVxuLm5vVWktdmVydGljYWwgLm5vVWktZHJhZ2dhYmxlIHtcbiAgY3Vyc29yOiBucy1yZXNpemU7XG59XG4ubm9VaS1oYW5kbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDlEOUQ5O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAjRkZGLCBpbnNldCAwIDFweCA3cHggI0VCRUJFQiwgMCAzcHggNnB4IC0zcHggI0JCQjtcbn1cbi5ub1VpLWFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI0ZGRiwgaW5zZXQgMCAxcHggN3B4ICNEREQsIDAgM3B4IDZweCAtM3B4ICNCQkI7XG59XG4vKiBIYW5kbGUgc3RyaXBlcztcbiAqL1xuLm5vVWktaGFuZGxlOmJlZm9yZSxcbi5ub1VpLWhhbmRsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTRweDtcbiAgd2lkdGg6IDFweDtcbiAgYmFja2dyb3VuZDogI0U4RTdFNjtcbiAgbGVmdDogMTRweDtcbiAgdG9wOiA2cHg7XG59XG4ubm9VaS1oYW5kbGU6YWZ0ZXIge1xuICBsZWZ0OiAxN3B4O1xufVxuLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlOmJlZm9yZSxcbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZTphZnRlciB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbGVmdDogNnB4O1xuICB0b3A6IDE0cHg7XG59XG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGU6YWZ0ZXIge1xuICB0b3A6IDE3cHg7XG59XG4vKiBEaXNhYmxlZCBzdGF0ZTtcbiAqL1xuW2Rpc2FibGVkXSAubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZDogI0I4QjhCODtcbn1cbltkaXNhYmxlZF0ubm9VaS10YXJnZXQsXG5bZGlzYWJsZWRdLm5vVWktaGFuZGxlLFxuW2Rpc2FibGVkXSAubm9VaS1oYW5kbGUge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLyogQmFzZTtcbiAqXG4gKi9cbi5ub1VpLXBpcHMsXG4ubm9VaS1waXBzICoge1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ubm9VaS1waXBzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzk5OTtcbn1cbi8qIFZhbHVlcztcbiAqXG4gKi9cbi5ub1VpLXZhbHVlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubm9VaS12YWx1ZS1zdWIge1xuICBjb2xvcjogI2NjYztcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuLyogTWFya2luZ3M7XG4gKlxuICovXG4ubm9VaS1tYXJrZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNDQ0M7XG59XG4ubm9VaS1tYXJrZXItc3ViIHtcbiAgYmFja2dyb3VuZDogI0FBQTtcbn1cbi5ub1VpLW1hcmtlci1sYXJnZSB7XG4gIGJhY2tncm91bmQ6ICNBQUE7XG59XG4vKiBIb3Jpem9udGFsIGxheW91dDtcbiAqXG4gKi9cbi5ub1VpLXBpcHMtaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgaGVpZ2h0OiA4MHB4O1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm5vVWktdmFsdWUtaG9yaXpvbnRhbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcbn1cbi5ub1VpLXJ0bCAubm9VaS12YWx1ZS1ob3Jpem9udGFsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgNTAlKTtcbn1cbi5ub1VpLW1hcmtlci1ob3Jpem9udGFsLm5vVWktbWFya2VyIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIHdpZHRoOiAycHg7XG4gIGhlaWdodDogNXB4O1xufVxuLm5vVWktbWFya2VyLWhvcml6b250YWwubm9VaS1tYXJrZXItc3ViIHtcbiAgaGVpZ2h0OiAxMHB4O1xufVxuLm5vVWktbWFya2VyLWhvcml6b250YWwubm9VaS1tYXJrZXItbGFyZ2Uge1xuICBoZWlnaHQ6IDE1cHg7XG59XG4vKiBWZXJ0aWNhbCBsYXlvdXQ7XG4gKlxuICovXG4ubm9VaS1waXBzLXZlcnRpY2FsIHtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbn1cbi5ub1VpLXZhbHVlLXZlcnRpY2FsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbn1cbi5ub1VpLXJ0bCAubm9VaS12YWx1ZS12ZXJ0aWNhbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbn1cbi5ub1VpLW1hcmtlci12ZXJ0aWNhbC5ub1VpLW1hcmtlciB7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogMnB4O1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuLm5vVWktbWFya2VyLXZlcnRpY2FsLm5vVWktbWFya2VyLXN1YiB7XG4gIHdpZHRoOiAxMHB4O1xufVxuLm5vVWktbWFya2VyLXZlcnRpY2FsLm5vVWktbWFya2VyLWxhcmdlIHtcbiAgd2lkdGg6IDE1cHg7XG59XG4ubm9VaS10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0Q5RDlEOTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubm9VaS1ob3Jpem9udGFsIC5ub1VpLXRvb2x0aXAge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDEyMCU7XG59XG4ubm9VaS12ZXJ0aWNhbCAubm9VaS10b29sdGlwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRvcDogNTAlO1xuICByaWdodDogMTIwJTtcbn1cbi5ub1VpLWhvcml6b250YWwgLm5vVWktb3JpZ2luID4gLm5vVWktdG9vbHRpcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiAxMHB4O1xufVxuLm5vVWktdmVydGljYWwgLm5vVWktb3JpZ2luID4gLm5vVWktdG9vbHRpcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTE4cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMThweCk7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IDI4cHg7XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFBhbmVsIFRvZ2dsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucGFuZWwtdG9nZ2xlIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDIzLCAxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMjMsIDIzKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoNS43NSAwLCAyMyk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFBob3RvU3dpcGUgKGh0dHA6Ly9waG90b3N3aXBlLmNvbS8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cblxuLy8gVmVuZG9yXG5cbkBpbXBvcnQgXCJwaG90b3N3aXBlL2Rpc3QvcGhvdG9zd2lwZVwiO1xuQGltcG9ydCBcInBob3Rvc3dpcGUvZGlzdC9kZWZhdWx0LXNraW4vZGVmYXVsdC1za2luXCI7XG5cbi8vIEN1c3RvbVxuXG4ucHN3cCB7XG4gICAgJiB7XG4gICAgICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICB9XG59XG5cbi5wc3dwX19idXR0b24sXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDo6YmVmb3JlLFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OjpiZWZvcmUge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9tZWRpYS92ZW5kb3IvcGhvdG9zd2lwZS1kZWZhdWx0LXNraW4ucG5nXCIpO1xuICAgIH1cbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMSksICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMDkzNzUpLCAobWluLXJlc29sdXRpb246IDEwNWRwaSksIChtaW4tcmVzb2x1dGlvbjogMS4xZHBweCkge1xuICAgIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbixcbiAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OjpiZWZvcmUsXG4gICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL3Bob3Rvc3dpcGUtZGVmYXVsdC1za2luLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuICAgIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG59XG5cbi5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9tZWRpYS92ZW5kb3IvcGhvdG9zd2lwZS1wcmVsb2FkZXIuZ2lmXCIpO1xuICAgIH1cbn1cblxuLnBzd3BfX2NvbnRlbnQge1xuICAgICYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbn1cblxuLnBzd3BfX3VzZXItY29udGVudCB7XG4gICAgJiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8qISBQaG90b1N3aXBlIG1haW4gQ1NTIGJ5IERtaXRyeSBTZW1lbm92IHwgcGhvdG9zd2lwZS5jb20gfCBNSVQgbGljZW5zZSAqL1xuLypcblx0U3R5bGVzIGZvciBiYXNpYyBQaG90b1N3aXBlIGZ1bmN0aW9uYWxpdHkgKHNsaWRpbmcgYXJlYSwgb3Blbi9jbG9zZSB0cmFuc2l0aW9ucylcbiovXG4vKiBwc3dwID0gcGhvdG9zd2lwZSAqL1xuLnBzd3Age1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICB6LWluZGV4OiAxNTAwO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIGNyZWF0ZSBzZXBhcmF0ZSBsYXllciwgdG8gYXZvaWQgcGFpbnQgb24gd2luZG93Lm9uc2Nyb2xsIGluIHdlYmtpdC9ibGluayAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAucHN3cCAqIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5wc3dwIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qIHN0eWxlIGlzIGFkZGVkIHdoZW4gSlMgb3B0aW9uIHNob3dIaWRlT3BhY2l0eSBpcyBzZXQgdG8gdHJ1ZSAqL1xuLnBzd3AtLWFuaW1hdGVfb3BhY2l0eSB7XG4gIC8qIDAuMDAxLCBiZWNhdXNlIG9wYWNpdHk6MCBkb2Vzbid0IHRyaWdnZXIgUGFpbnQgYWN0aW9uLCB3aGljaCBjYXVzZXMgbGFnIGF0IHN0YXJ0IG9mIHRyYW5zaXRpb24gKi9cbiAgb3BhY2l0eTogMC4wMDE7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpOyB9XG5cbi5wc3dwLS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnBzd3AtLXpvb20tYWxsb3dlZCAucHN3cF9faW1nIHtcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLnBzd3AtLXpvb21lZC1pbiAucHN3cF9faW1nIHtcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogLW1vei1ncmFiO1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLnBzd3AtLWRyYWdnaW5nIC5wc3dwX19pbWcge1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW1vei1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4vKlxuXHRCYWNrZ3JvdW5kIGlzIGFkZGVkIGFzIGEgc2VwYXJhdGUgZWxlbWVudC5cblx0QXMgYW5pbWF0aW5nIG9wYWNpdHkgaXMgbXVjaCBmYXN0ZXIgdGhhbiBhbmltYXRpbmcgcmdiYSgpIGJhY2tncm91bmQtY29sb3IuXG4qL1xuLnBzd3BfX2JnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5OyB9XG5cbi5wc3dwX19zY3JvbGwtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4vKiBQcmV2ZW50IHNlbGVjdGlvbiBhbmQgdGFwIGhpZ2hsaWdodHMgKi9cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9faW1nIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cF9fYmcge1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cC0tYW5pbWF0ZWQtaW4gLnBzd3BfX2JnLFxuLnBzd3AtLWFuaW1hdGVkLWluIC5wc3dwX196b29tLXdyYXAge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX196b29tLXdyYXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ucHN3cF9faXRlbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMDtcbiAgbGVmdDogMDsgfVxuXG4vKlxuXHRzdHJldGNoZWQgdGh1bWJuYWlsIG9yIGRpdiBwbGFjZWhvbGRlciBlbGVtZW50IChzZWUgYmVsb3cpXG5cdHN0eWxlIGlzIGFkZGVkIHRvIGF2b2lkIGZsaWNrZXJpbmcgaW4gd2Via2l0L2JsaW5rIHdoZW4gbGF5ZXJzIG92ZXJsYXBcbiovXG4ucHN3cF9faW1nLS1wbGFjZWhvbGRlciB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG5cdGRpdiBlbGVtZW50IHRoYXQgbWF0Y2hlcyBzaXplIG9mIGxhcmdlIGltYWdlXG5cdGxhcmdlIGltYWdlIGxvYWRzIG9uIHRvcCBvZiBpdFxuKi9cbi5wc3dwX19pbWctLXBsYWNlaG9sZGVyLS1ibGFuayB7XG4gIGJhY2tncm91bmQ6ICMyMjI7IH1cblxuLnBzd3AtLWllIC5wc3dwX19pbWcge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi8qXG5cdEVycm9yIG1lc3NhZ2UgYXBwZWFycyB3aGVuIGltYWdlIGlzIG5vdCBsb2FkZWRcblx0KEpTIG9wdGlvbiBlcnJvck1zZyBjb250cm9scyBtYXJrdXApXG4qL1xuLnBzd3BfX2Vycm9yLW1zZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIGNvbG9yOiAjQ0NDOyB9XG5cbi5wc3dwX19lcnJvci1tc2cgYSB7XG4gIGNvbG9yOiAjQ0NDO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuIiwiLyohIFBob3RvU3dpcGUgRGVmYXVsdCBVSSBDU1MgYnkgRG1pdHJ5IFNlbWVub3YgfCBwaG90b3N3aXBlLmNvbSB8IE1JVCBsaWNlbnNlICovXG4vKlxuXG5cdENvbnRlbnRzOlxuXG5cdDEuIEJ1dHRvbnNcblx0Mi4gU2hhcmUgbW9kYWwgYW5kIGxpbmtzXG5cdDMuIEluZGV4IGluZGljYXRvciAoXCIxIG9mIFhcIiBjb3VudGVyKVxuXHQ0LiBDYXB0aW9uXG5cdDUuIExvYWRpbmcgaW5kaWNhdG9yXG5cdDYuIEFkZGl0aW9uYWwgc3R5bGVzIChyb290IGVsZW1lbnQsIHRvcCBiYXIsIGlkbGUgc3RhdGUsIGhpZGRlbiBzdGF0ZSwgZXRjLilcblxuKi9cbi8qXG5cdFxuXHQxLiBCdXR0b25zXG5cbiAqL1xuLyogPGJ1dHRvbj4gY3NzIHJlc2V0ICovXG4ucHN3cF9fYnV0dG9uIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBvcGFjaXR5OiAwLjc1O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5wc3dwX19idXR0b246Zm9jdXMsIC5wc3dwX19idXR0b246aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnBzd3BfX2J1dHRvbjphY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3BhY2l0eTogMC45OyB9XG4gIC5wc3dwX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi8qIHBzd3BfX3VpLS1vdmVyLWNsb3NlIGNsYXNzIGl0IGFkZGVkIHdoZW4gbW91c2UgaXMgb3ZlciBlbGVtZW50IHRoYXQgc2hvdWxkIGNsb3NlIGdhbGxlcnkgKi9cbi5wc3dwX191aS0tb3Zlci1jbG9zZSAucHN3cF9fYnV0dG9uLS1jbG9zZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnBzd3BfX2J1dHRvbixcbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoZGVmYXVsdC1za2luLnBuZykgMCAwIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAyNjRweCA4OHB4O1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4OyB9XG5cbkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjEpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjA5Mzc1KSwgKG1pbi1yZXNvbHV0aW9uOiAxMDVkcGkpLCAobWluLXJlc29sdXRpb246IDEuMWRwcHgpIHtcbiAgLyogU2VydmUgU1ZHIHNwcml0ZSBpZiBicm93c2VyIHN1cHBvcnRzIFNWRyBhbmQgcmVzb2x1dGlvbiBpcyBtb3JlIHRoYW4gMTA1ZHBpICovXG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbixcbiAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRlZmF1bHQtc2tpbi5zdmcpOyB9XG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9IH1cblxuLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00NHB4OyB9XG5cbi5wc3dwX19idXR0b24tLXNoYXJlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0cHggLTQ0cHg7IH1cblxuLnBzd3BfX2J1dHRvbi0tZnMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wc3dwLS1zdXBwb3J0cy1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wc3dwLS1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IDA7IH1cblxuLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04OHB4IDA7IH1cblxuLnBzd3AtLXpvb20tYWxsb3dlZCAucHN3cF9fYnV0dG9uLS16b29tIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnBzd3AtLXpvb21lZC1pbiAucHN3cF9fYnV0dG9uLS16b29tIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzMnB4IDA7IH1cblxuLyogbm8gYXJyb3dzIG9uIHRvdWNoIHNjcmVlbnMgKi9cbi5wc3dwLS10b3VjaCAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwLS10b3VjaCAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLypcblx0QXJyb3cgYnV0dG9ucyBoaXQgYXJlYVxuXHQoaWNvbiBpcyBhZGRlZCB0byA6YmVmb3JlIHBzZXVkby1lbGVtZW50KVxuKi9cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01MHB4O1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICByaWdodDogMDsgfVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHRvcDogMzVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlIHtcbiAgbGVmdDogNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM4cHggLTQ0cHg7IH1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gIHJpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NHB4IC00NHB4OyB9XG5cbi8qXG5cblx0Mi4gU2hhcmUgbW9kYWwvcG9wdXAgYW5kIGxpbmtzXG5cbiAqL1xuLnBzd3BfX2NvdW50ZXIsXG4ucHN3cF9fc2hhcmUtbW9kYWwge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTYwMDtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTsgfVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBzd3BfX3NoYXJlLXRvb2x0aXAge1xuICB6LWluZGV4OiAxNjIwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG4gIHRvcDogNTZweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHJpZ2h0OiA0NHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IH1cbiAgLnBzd3BfX3NoYXJlLXRvb2x0aXAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMThweDsgfVxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIC8qIHJvdW5kIGNvcm5lcnMgb24gdGhlIGZpcnN0L2xhc3QgbGlzdCBpdGVtICovXG4gICAgICBib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDsgfVxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGE6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMnB4IDJweDsgfVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4ge1xuICBvcGFjaXR5OiAxOyB9XG4gIC5wc3dwX19zaGFyZS1tb2RhbC0tZmFkZS1pbiAucHN3cF9fc2hhcmUtdG9vbHRpcCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLyogaW5jcmVhc2Ugc2l6ZSBvZiBzaGFyZSBsaW5rcyBvbiB0b3VjaCBkZXZpY2VzICovXG4ucHN3cC0tdG91Y2ggLnBzd3BfX3NoYXJlLXRvb2x0aXAgYSB7XG4gIHBhZGRpbmc6IDE2cHggMTJweDsgfVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTJweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGO1xuICAtd2Via2l0LXBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtbW96LXBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzRTVDOUE7XG4gIGNvbG9yOiAjRkZGOyB9XG4gIGEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmhvdmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNFNUM5QTsgfVxuXG5hLnBzd3BfX3NoYXJlLS10d2l0dGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzU1QUNFRTtcbiAgY29sb3I6ICNGRkY7IH1cblxuYS5wc3dwX19zaGFyZS0tcGludGVyZXN0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI0NDQztcbiAgY29sb3I6ICNDRTI3MkQ7IH1cblxuYS5wc3dwX19zaGFyZS0tZG93bmxvYWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjREREOyB9XG5cbi8qXG5cblx0My4gSW5kZXggaW5kaWNhdG9yIChcIjEgb2YgWFwiIGNvdW50ZXIpXG5cbiAqL1xuLnBzd3BfX2NvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgb3BhY2l0eTogMC43NTtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi8qXG5cdFxuXHQ0LiBDYXB0aW9uXG5cbiAqL1xuLnBzd3BfX2NhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7IH1cbiAgLnBzd3BfX2NhcHRpb24gc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogI0JCQjsgfVxuXG4ucHN3cF9fY2FwdGlvbl9fY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LXdpZHRoOiA0MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcGFkZGluZzogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjQ0NDOyB9XG5cbi5wc3dwX19jYXB0aW9uLS1lbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogRmFrZSBjYXB0aW9uIGVsZW1lbnQsIHVzZWQgdG8gY2FsY3VsYXRlIGhlaWdodCBvZiBuZXh0L3ByZXYgaW1hZ2UgKi9cbi5wc3dwX19jYXB0aW9uLS1mYWtlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG5cblx0NS4gTG9hZGluZyBpbmRpY2F0b3IgKHByZWxvYWRlcilcblxuXHRZb3UgY2FuIHBsYXkgd2l0aCBpdCBoZXJlIC0gaHR0cDovL2NvZGVwZW4uaW8vZGltc2VtZW5vdi9wZW4veXlCV29SXG5cbiAqL1xuLnBzd3BfX3ByZWxvYWRlciB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICBkaXJlY3Rpb246IGx0cjsgfVxuXG4ucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDEycHg7IH1cblxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuICAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUgLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgICAvKiBXZSB1c2UgLmdpZiBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgQ1NTIGFuaW1hdGlvbiAqL1xuICAgIGJhY2tncm91bmQ6IHVybChwcmVsb2FkZXIuZ2lmKSAwIDAgbm8tcmVwZWF0OyB9XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cbiAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGNsb2Nrd2lzZSA1MDBtcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgICBhbmltYXRpb246IGNsb2Nrd2lzZSA1MDBtcyBsaW5lYXIgaW5maW5pdGU7IH1cbiAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2RvbnV0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZG9udXQtcm90YXRlIDEwMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKSBpbmZpbml0ZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZG9udXQtcm90YXRlIDEwMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKSBpbmZpbml0ZTsgfVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBvcGFjaXR5OiAwLjc1O1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE1cHg7XG4gIHRvcDogMTVweDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2N1dCB7XG4gIC8qIFxuXHRcdFx0VGhlIGlkZWEgb2YgYW5pbWF0aW5nIGlubmVyIGNpcmNsZSBpcyBiYXNlZCBvbiBQb2x5bWVyIChcIm1hdGVyaWFsXCIpIGxvYWRpbmcgaW5kaWNhdG9yIFxuXHRcdFx0IGJ5IEtlYW51IExlZSBodHRwczovL2Jsb2cua2VhbnVsZWUuY29tLzIwMTQvMTAvMjAvdGhlLXRhbGUtb2YtdGhyZWUtc3Bpbm5lcnMuaHRtbFxuXHRcdCovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2RvbnV0IHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBzd3BfX3ByZWxvYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgY2xvY2t3aXNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBjbG9ja3dpc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZG9udXQtcm90YXRlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGRvbnV0LXJvdGF0ZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLypcblx0XG5cdDYuIEFkZGl0aW9uYWwgc3R5bGVzXG5cbiAqL1xuLyogcm9vdCBlbGVtZW50IG9mIFVJICovXG4ucHN3cF9fdWkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAxNTUwOyB9XG5cbi8qIHRvcCBibGFjayBiYXIgd2l0aCBidXR0b25zIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvciAqL1xuLnBzd3BfX3RvcC1iYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiA0NHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHN3cF9fY2FwdGlvbixcbi5wc3dwX190b3AtYmFyLFxuLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4vKiBwc3dwLS1oYXNfbW91c2UgY2xhc3MgaXMgYWRkZWQgb25seSB3aGVuIHR3byBzdWJzZXF1ZW50IG1vdXNlbW92ZSBldmVudHMgb2NjdXIgKi9cbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnBzd3BfX3RvcC1iYXIsXG4ucHN3cF9fY2FwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4vKiBwc3dwX191aS0tZml0IGNsYXNzIGlzIGFkZGVkIHdoZW4gbWFpbiBpbWFnZSBcImZpdHNcIiBiZXR3ZWVuIHRvcCBiYXIgYW5kIGJvdHRvbSBiYXIgKGNhcHRpb24pICovXG4ucHN3cF9fdWktLWZpdCAucHN3cF9fdG9wLWJhcixcbi5wc3dwX191aS0tZml0IC5wc3dwX19jYXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi8qIHBzd3BfX3VpLS1pZGxlIGNsYXNzIGlzIGFkZGVkIHdoZW4gbW91c2UgaXNuJ3QgbW92aW5nIGZvciBzZXZlcmFsIHNlY29uZHMgKEpTIG9wdGlvbiB0aW1lVG9JZGxlKSAqL1xuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX190b3AtYmFyIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4ucHN3cF9fdWktLWlkbGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fdWktLWlkbGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKlxuXHRwc3dwX191aS0taGlkZGVuIGNsYXNzIGlzIGFkZGVkIHdoZW4gY29udHJvbHMgYXJlIGhpZGRlblxuXHRlLmcuIHdoZW4gdXNlciB0YXBzIHRvIHRvZ2dsZSB2aXNpYmlsaXR5IG9mIGNvbnRyb2xzXG4qL1xuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX3RvcC1iYXIsXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fY2FwdGlvbixcbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgLyogRm9yY2UgcGFpbnQgJiBjcmVhdGUgY29tcG9zaXRpb24gbGF5ZXIgZm9yIGNvbnRyb2xzLiAqL1xuICBvcGFjaXR5OiAwLjAwMTsgfVxuXG4vKiBwc3dwX191aS0tb25lLXNsaWRlIGNsYXNzIGlzIGFkZGVkIHdoZW4gdGhlcmUgaXMganVzdCBvbmUgaXRlbSBpbiBnYWxsZXJ5ICovXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19jb3VudGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHN3cF9fZWxlbWVudC0tZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnBzd3AtLW1pbmltYWwtLWRhcmsgLnBzd3BfX3RvcC1iYXIge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFByb2R1Y3QgRmlsdGVyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5wcm9kdWN0LWZpbHRlciB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtZmlsdGVyX19maWVsZHNldCB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWZpbHRlcl9faW5wdXQge1xuICAgICYge1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDAgNSwgMTYpO1xuICAgIH1cblxuICAgICYuaW5wdXQtLWNoZWNrYm94LFxuICAgICYuaW5wdXQtLXJhZGlvIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1pZnkoNiwgMTYpO1xuICAgIH1cbn1cblxuLnByb2R1Y3QtZmlsdGVyX190ZXh0IHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZGFya1wiLCBcInRpbnRcIik7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE5LCAxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMjMsIDE5KTtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDExLCAxOSk7XG4gICAgfVxufVxuXG4vKiBkYXJrIGJhY2tncm91bmQgc3R5bGVzICovXG4ucHJvZHVjdC1maWx0ZXItLXF1aWNrLFxuLnByb2R1Y3QtZmlsdGVyLS1kYXJrIHtcbiAgICAmIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbWlmeSgxKSBzb2xpZCBjb2xvcihcInNlY29uZGFyeVwiLCBcInRpbnRcIik7XG4gICAgICAgIGJvcmRlci10b3A6IHJlbWlmeSgxKSBzb2xpZCBjb2xvcihcInNlY29uZGFyeVwiLCBcInRpbnRcIik7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZmlsdGVyX190ZXh0LFxuICAgIC5wcm9kdWN0LWZpbHRlcl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICB9XG59XG5cbi8qIHF1aWNrIHZhcmlhbnQgKi9cblxuLnByb2R1Y3QtZmlsdGVyLS1xdWljayB7XG4gICAgJiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMS4yKSAoJGNvbnRlbnQtcGFkZGluZykpO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KCRzaXRlLXdpZHRoLCAxNik7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJwcmltYXJ5XCIsIFwic2hhZGVcIik7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjb2xvcihcInRlcnRpYXJ5XCIsIFwidGludFwiKSAwJSwgY29sb3IoXCJ0ZXJ0aWFyeVwiKSAxMDAlKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1maWx0ZXJfX3JvdyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1maWx0ZXJfX2lucHV0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBmb250LXJhbmdlOiAkeHMtYnJlYWsgJHhsLWJyZWFrO1xuICAgICAgICBmb250LXNpemU6IHJlc3BvbnNpdmUgcmVtaWZ5KDE0LCAxNikgcmVtaWZ5KDE2LCAxNik7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZmlsdGVyX190aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1maWx0ZXJfX3RleHQge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSByZW1pZnkoMTQsIDE2KSByZW1pZnkoMTgsIDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMjIsIDE4KTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMjAgMCAwLCAxOCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRleHQtLWxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWZpbHRlci0tZGFyayB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJkYXJrXCIsIFwic2hhZGVcIik7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZmlsdGVyX19pbnB1dCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG59XG5cbi5wcm9kdWN0LWZpbHRlci0tdmVydGljYWwge1xuICAgICYge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSg1NSA2NSk7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZmlsdGVyX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDE1LCAyMCk7XG4gICAgfVxuXG4gICAgLnRleHQtLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTgpO1xuICAgICAgICBmb250LXdlaWdodDogNDUwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtaWZ5KC0wLjUsIDE4KTtcbiAgICB9XG5cbiAgICAvKiBjaGVja2JveCAmIHJhZGlvIHZhcmlhbnRzICovXG5cbiAgICAuaW5wdXQtLWNoZWNrYm94LFxuICAgIC5pbnB1dC0tcmFkaW8ge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogcmVtaWZ5KDEpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW1pZnkoMTUpO1xuICAgICAgICAgICAgd2lkdGg6IHJlbWlmeSgxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbWlmeSgxMSAxMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5wdXQtLWNoZWNrYm94OjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogcmVtaWZ5KDE4LCAxNik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHhsKSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtaWZ5KDU1IDI1KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QtZmlsdGVyX19yb3cge1xuICAgICYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZmlsdGVyX19pbnB1dF9fY29udGFpbmVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiByZW1pZnkoMjApO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1maWx0ZXJfX2NvbCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMTgpO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWZpbHRlcl9fdGV4dC50ZXh0LS1sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgxMCk7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtZmlsdGVyX19jb2wtLXJhZGlvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAuaW5wdXRfX2NvbnRhaW5lci0tcmFkaW8ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHJlbWlmeSgxMCk7XG4gICAgfVxuXG4gICAgLmlucHV0X19jb250YWluZXItLXJhZGlvIC5pbnB1dC0tcmFkaW8ge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1maWx0ZXJfX2NvbC0tcmFkaW8gLnByb2R1Y3QtZmlsdGVyX190ZXh0LnRleHQtLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihsKSB7XG4gICAgICAgIC5wcm9kdWN0LWZpbHRlcl9fY29sIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtZmlsdGVyX19pbnB1dF9fY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1maWx0ZXJfX3RleHQudGV4dC0tbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKHh4bCkge1xuICAgICAgICAucHJvZHVjdC1maWx0ZXJfX3RleHQudGV4dC0tbGFiZWwge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QtZmlsdGVyLS1ob21lIHtcbiAgICAmIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbihsKSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbWlmeSgxNyk7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtZmlsdGVyX19jb2w6bGFzdC1jaGlsZCxcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxOCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWZpbHRlcl9fY29sLS1yYWRpbyB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDQwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QtZmlsdGVyLS1mdWxsYmxlZWQge1xuICAgICYge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFBXQSBJbnN0YWxsIFByb21wdCAoaHR0cHM6Ly9naXRodWIuY29tL0phY29iREIvcHdhLWluc3RhbGwtcHJvbXB0KVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vLyBWZW5kb3JcblxuQGltcG9ydCBcInB3YS1pbnN0YWxsLXByb21wdC9zdHlsZVwiO1xuIiwiLyoqXG4gKiBQV0EgSW5zdGFsbCBQcm9tcHQgMS4wLjJcbiAqIFByb21wdCB1c2VycyB0byBhZGQgeW91ciBQV0EgdG8gdGhlaXIgaG9tZSBzY3JlZW4sIHNpbmNlIEFwcGxlIHdvbuKAmXQuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vSmFjb2JEQi9wd2EtaW5zdGFsbC1wcm9tcHQvXG4gKlxuICogQ29weXJpZ2h0IDIwMTggSmFjb2IgQmVhcmNlXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IE5vdmVtYmVyIDYsIDIwMThcbiAqL1xuXG4ucHdhLWluc3RhbGwtcHJvbXB0X19jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAtOTk5ZW07XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAtOTk5ZW07XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwcyAwLjE1cywgdG9wIDBzIDAuMTVzLCB2aXNpYmlsaXR5IDBzIDAuMTVzO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwMDA7XG59XG5cbi5wd2EtaW5zdGFsbC1wcm9tcHRfX2NvbnRhaW5lci5pcy1hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnB3YS1pbnN0YWxsLXByb21wdF9fb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi5wd2EtaW5zdGFsbC1wcm9tcHRfX2NvbnRhaW5lci5pcy1hY3RpdmUgLnB3YS1pbnN0YWxsLXByb21wdF9fb3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnB3YS1pbnN0YWxsLXByb21wdCB7XG4gICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDRweCA4cHggcmdiYSgwLDAsMCwwLjEyNSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogIzQyNDI0MjtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUlKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgei1pbmRleDogMTtcbn1cblxuLnB3YS1pbnN0YWxsLXByb21wdF9fY29udGFpbmVyLmlzLWFjdGl2ZSAucHdhLWluc3RhbGwtcHJvbXB0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG59XG5cbi5wd2EtaW5zdGFsbC1wcm9tcHQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTI4IDEyOCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbD0nJTIzRkZGRkZGJyBkPSdNNjQuMTk3LDUwLjQ3Qzc5LjY5NiwzNC45NSA5NS4yNTksMTkuNTAyIDExMC41OTcsMy44MjRDMTE0LjQxMSwwLjE4MiAxMTQuNTY1LDEuMDIyIDExNy43MDcsMS4yNEMxMjQuMjk5LDIuMTY3IDEyNy43MjMsMTAuNjg3IDEyMy40MzUsMTYuMDc4QzEwOC40NTMsMzIuNDcgOTIuOTk3LDQ4LjM5OSA3Ny4zODcsNjQuMTc0QzkyLjU3MSw4MC4wMSAxMDcuNjg1LDk1LjkxNyAxMjMuMDI0LDExMS41OTVDMTI5LjE5NSwxMTguMzQ5IDEyMC40MzIsMTMyLjUyNyAxMTEuMDM1LDEyNC43MTZDOTQuOTkyLDEwOS40MDMgNzkuNDA4LDkzLjYxMSA2My45NzksNzcuNjVDNDguNDg1LDkzLjE2OSAzMi45MTcsMTA4LjYxOCAxNy41ODQsMTI0LjI5NkMxMC44MzcsMTMwLjczNCAtMi40MTEsMTIxLjAzMSA0Ljc0NywxMTIuMDQyQzE5LjcyOCw5NS42NSAzNS4xNzksNzkuNzE2IDUwLjc5NSw2My45NDVDMzUuNjA1LDQ4LjExIDIwLjQ5MSwzMi4xOTggNS4xNTcsMTYuNTI1QzAuMDg1LDEwLjk3NiAyLjkxMiwwLjU4NiAxMi4yNjcsMS4yNEMxNC4wNjksMS40OTEgMTUuNzIzLDIuMjI3IDE3LjE0MSwzLjQwNEMzMy4xODQsMTguNzE3IDQ4Ljc2OCwzNC41MDkgNjQuMTk3LDUwLjQ3WicgLyUzRSUzQy9zdmclM0UlMEFcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTZweDtcbn1cblxuLnB3YS1pbnN0YWxsLXByb21wdF9faWNvbl9fY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZpZXdCb3g9JzAgMCA3MCA3MCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbD0nJTIzRjBGMEYwJyBkPSdNNjUsMTdDNjUsMTAuMzc3IDU5LjYyMyw1IDUzLDVMMTcsNUMxMC4zNzcsNSA1LDEwLjM3NyA1LDE3TDUsNTNDNSw1OS42MjMgMTAuMzc3LDY1IDE3LDY1TDUzLDY1QzU5LjYyMyw2NSA2NSw1OS42MjMgNjUsNTNMNjUsMTdaJyAvJTNFJTNDL3N2ZyUzRSUwQVwiKSBjZW50ZXIgY2VudGVyIC8gNzBweCA3MHB4IHJlcGVhdC14O1xuICAgIG1hcmdpbjogNDBweCAwIDA7XG59XG5cbi5wd2EtaW5zdGFsbC1wcm9tcHRfX2ljb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDYwcHg7XG59XG5cbi5wd2EtaW5zdGFsbC1wcm9tcHRfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEwcHggMzVweDtcbn1cblxuLnB3YS1pbnN0YWxsLXByb21wdF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xufVxuXG4ucHdhLWluc3RhbGwtcHJvbXB0X190ZXh0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDAgNDZweDtcbn1cblxuLnB3YS1pbnN0YWxsLXByb21wdF9fZ3VpZGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucHdhLWluc3RhbGwtcHJvbXB0X19ndWlkZV9faWNvbiB7XG4gICAgbWFyZ2luOiAwIDJweCA2cHg7XG4gICAgd2lkdGg6IDIwcHg7XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFNjcm9sbEhpbnQgKGh0dHBzOi8vYXBwbGVwbGUuZ2l0aHViLmlvL3Njcm9sbC1oaW50LylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAqL1xuXG4vLyBWZW5kb3JcblxuQGltcG9ydCBcInNjcm9sbC1oaW50L3Njc3Mvc2Nyb2xsLWhpbnRcIjtcblxuLy8gQ3VzdG9tXG4iLCJAa2V5ZnJhbWVzIHNjcm9sbC1oaW50LWFwcGVhciB7XG5cbiAgMCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwcHgpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5zY3JvbGwtaGludC5pcy1yaWdodC1zY3JvbGxhYmxlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgwLCAwLCAwLCAuMTUpIDAsIHJnYmEoMCwgMCwgMCwgMCkgMTZweCwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG5cbi5zY3JvbGwtaGludC5pcy1yaWdodC1zY3JvbGxhYmxlLmlzLWxlZnQtc2Nyb2xsYWJsZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLCAwLCAwLCAuMTUpIDAsIHJnYmEoMCwgMCwgMCwgMCkgMTZweCwgcmdiYSgwLCAwLCAwLCAwKSksIGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoMCwgMCwgMCwgLjE1KSAwLCByZ2JhKDAsIDAsIDAsIDApIDE2cHgsIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuXG4uc2Nyb2xsLWhpbnQuaXMtbGVmdC1zY3JvbGxhYmxlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsIDAsIDAsIC4xNSkgMCwgcmdiYSgwLCAwLCAwLCAwKSAxNnB4LCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cblxuLnNjcm9sbC1oaW50LWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgbGVmdDogY2FsYyg1MCUgLSA2MHB4KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gIG9wYWNpdHk6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjcpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTBweCAxMHB4IDEwcHg7XG59XG5cbi5zY3JvbGwtaGludC1pY29uLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zY3JvbGwtaGludC10ZXh0IHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uc2Nyb2xsLWhpbnQtaWNvbi13cmFwLmlzLWFjdGl2ZSAuc2Nyb2xsLWhpbnQtaWNvbiB7XG4gICAgb3BhY2l0eTogLjg7XG59XG5cbi5zY3JvbGwtaGludC1pY29uOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY29sb3I6ICNGRkY7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TlM0M055SWdhR1ZwWjJoMFBTSXpNQzQxTWlJZ2RtbGxkMEp2ZUQwaU1DQXdJREkxTGpjM0lETXdMalV5SWo0OGRHbDBiR1UrNDRLaTQ0Szc0NE9ENDRPSUlETThMM1JwZEd4bFBqeG5JR2xrUFNMamc2empncVRqZzZUamc3eGZNaUlnWkdGMFlTMXVZVzFsUFNMamc2empncVRqZzZUamc3d2dNaUkrUEdjZ2FXUTlJdU9Eck9PQ3BPT0RwT09EdkY4eExUSWlJR1JoZEdFdGJtRnRaVDBpNDRPczQ0S2s0NE9rNDRPOElERWlQanh3WVhSb0lHUTlJazB5TVM0ek15d3pNQzQxTWtnM0xqZzFRVEV1TlRVc01TNDFOU3d3TERBc01TdzJMak1zTWpsaE1USXVORFlzTVRJdU5EWXNNQ3d3TERBdExqWXpMVFF1TkRJc01qVXVNVFlzTWpVdU1UWXNNQ3d3TERBdE5DNHlOUzAxYkMwdU1EWXRMakEyUVRVc05Td3dMREFzTVN3d0xERTFMamcyWVRNdU5qUXNNeTQyTkN3d0xEQXNNU3d4TGpFM0xUSXVOaklzTXk0Mk15d3pMall6TERBc01Dd3hMRFV1TVRRdU1EZFdNeTQzTjJFekxqYzNMRE11Tnpjc01Dd3hMREVzTnk0MU5Dd3dWamd1TXpOaE15NHpOU3d6TGpNMUxEQXNNQ3d4TERFdU1qWXNNQ3d6TERNc01Dd3dMREVzTWl3eExqSXlMRE11TlN3ekxqVXNNQ3d3TERFc01pMHVNRFlzTXk0eU1Td3pMakl4TERBc01Dd3hMRElzTVM0MU5Dd3pMamMwTERNdU56UXNNQ3d3TERFc015d3VORGRCTkM0eU1TdzBMakl4TERBc01Dd3hMREkxTGpjMExERTFZekFzTGpFeExEQXNMakkzTERBc0xqUTJZVEU1TGpJMkxERTVMakkyTERBc01Dd3hMUzQ0TkN3M1l5MHVNVFF1TXpndExqTTJMamd4TFM0MU5pd3hMakl5YkMwdU1URXVNakpqTUN3dU1EY3RMakE1TGpFMExTNHhOQzR5TVdFM0xqRXpMRGN1TVRNc01Dd3dMREF0TVM0eE55d3lMakUzWXkwdU1EWXVOVFl0TGpBMkxESXVNVFV0TGpBMUxESXVOekZCTVM0MU5Td3hMalUxTERBc01Dd3hMREl4TGpNekxETXdMalV5V2swNExqWXhMREk0TGpJeGFERXlZekF0TGpjeExEQXRNUzQzTVM0d055MHlMakl6WVRndU56UXNPQzQzTkN3d0xEQXNNU3d4TGpVNUxUTXVNalZzTGpBMkxTNHhNbUV4TUN3eE1Dd3dMREFzTUN3dU5EWXRNU3d4Tmk0NExERTJMamdzTUN3d0xEQXNMamN0Tmk0eE1tTXdMUzR5TXl3d0xTNDBNU3d3TFM0MU5HZ3dZVElzTWl3d0xEQXNNQzB1TmpRdE1TNDFNaXd4TGpNekxERXVNek1zTUN3d0xEQXRNUzQxTlM0d09Dd3hMakV6TERFdU1UTXNNQ3d3TERFdE1TNHhPQzR5T0N3eExqRTFMREV1TVRVc01Dd3dMREV0TGpjNExTNDVOQ3d4TGpJMkxERXVNallzTUN3d0xEQXRMamMxTFRFdU1URXNNU3d4TERBc01Dd3dMVEV1TVRFdU1qaHNMUzR4TGpGaE1TNHhOU3d4TGpFMUxEQXNNQ3d4TFRFdU1Ua3VNamtzTVM0eE5pd3hMakUyTERBc01Dd3hMUzQzT0MwdU9UVmpMUzR3T1MwdU5qZ3RMakl4TFM0M055MHVOeTB1T0RkaExqZ3lMamd5TERBc01Dd3dMVEVzTGpRNExERXVNVFlzTVM0eE5pd3dMREFzTVMweUxqRTJMUzQxT0ZZekxqYzNZVEV1TkRZc01TNDBOaXd3TERFc01DMHlMamt5TERCMk55NDROV3d3TERRdU16TmhNUzR4Tnl3eExqRTNMREFzTUN3eExTNDRNeXd4TGpFeExERXVNVFVzTVM0eE5Td3dMREFzTVMweExqSXRMak0xYkMweExTNDVNV010TGpRM0xTNDBNaTB1TnpNdExqWTJMUzQ0TkMwdU56ZGhNUzR6TlN3eExqTTFMREFzTUN3d0xUSXRMakV5VERJdU55d3hOV0V4TGpNeUxERXVNeklzTUN3d0xEQXRMak01TERGQk1pNDFOeXd5TGpVM0xEQXNNQ3d3TERNc01UY3VPRFZzTUN3d1lUSTNMakkwTERJM0xqSTBMREFzTUN3eExEUXVOeXcxTGpZeVFURXlMall6TERFeUxqWXpMREFzTUN3eExEZ3VOakVzTWpndU1qRmFUVEl6TGpJc01qTXVNelZhVFRZdU5URXNNVFl1TlRsYUlpQm1hV3hzUFNJalptWm1JaTgrUEM5blBqd3ZaejQ4TDNOMlp6ND0pO1xufVxuXG4uc2Nyb2xsLWhpbnQtaWNvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpNeTR5T1NJZ2FHVnBaMmgwUFNJeE1pNHdNaUlnZG1sbGQwSnZlRDBpTUNBd0lETXpMakk1SURFeUxqQXlJajQ4ZEdsMGJHVSs0NEtpNDRLNzQ0T0Q0NE9JSURFOEwzUnBkR3hsUGp4bklHbGtQU0xqZzZ6amdxVGpnNlRqZzd4Zk1pSWdaR0YwWVMxdVlXMWxQU0xqZzZ6amdxVGpnNlRqZzd3Z01pSStQR2NnYVdROUl1T0RyT09DcE9PRHBPT0R2Rjh4TFRJaUlHUmhkR0V0Ym1GdFpUMGk0NE9zNDRLazQ0T2s0NE84SURFaVBqeHNhVzVsSUhneFBTSXhMamcxSWlCNU1UMGlOaTR3TVNJZ2VESTlJakV3TGpRaUlIa3lQU0kyTGpBeElpQm1hV3hzUFNJalptWm1JaTgrUEhCaGRHZ2daRDBpVFRFd0xqUXNOeTR4TjBneExqZzFZVEV1TVRZc01TNHhOaXd3TERFc01Td3dMVEl1TXpGSU1UQXVOR0V4TGpFMkxERXVNVFlzTUN3eExERXNNQ3d5TGpNeFdpSWdabWxzYkQwaUkyWm1aaUl2UGp4d1lYUm9JR1E5SWswM0xqUXNNVEpoTVM0eE5Td3hMakUxTERBc01Dd3hMUzQzTWkwdU1qVnNMVFl1TWpVdE5VRXhMaklzTVM0eUxEQXNNQ3d4TERBc05TNDROeXd4TGpFMExERXVNVFFzTUN3d0xERXNMalEyTERWTU5pNDNMakl6UVRFdU1UWXNNUzR4Tml3d0xEQXNNU3c0TGpFc01pNHdPRXd6TERVdU9URXNPQzR4TWl3eE1FRXhMakUyTERFdU1UWXNNQ3d3TERFc055NDBMREV5V2lJZ1ptbHNiRDBpSTJabVppSXZQanhzYVc1bElIZ3hQU0l6TVM0ME5TSWdlVEU5SWpZdU1ERWlJSGd5UFNJeU1pNDRPU0lnZVRJOUlqWXVNREVpSUdacGJHdzlJaU5tWm1ZaUx6NDhjR0YwYUNCa1BTSk5NekV1TkRVc055NHhOMGd5TWk0NE9XRXhMakUyTERFdU1UWXNNQ3d4TERFc01DMHlMak14YURndU5UWmhNUzR4Tml3eExqRTJMREFzTUN3eExEQXNNaTR6TVZvaUlHWnBiR3c5SWlObVptWWlMejQ4Y0dGMGFDQmtQU0pOTWpVdU9Td3hNbUV4TGpFNExERXVNVGdzTUN3d0xERXRMamt4TFM0ME0wRXhMakUzTERFdU1UY3NNQ3d3TERFc01qVXVNVGNzTVRCc05TNHdPUzAwTGpBMVRESTFMaklzTWk0d09FRXhMakUyTERFdU1UWXNNQ3d3TERFc01qWXVOVGt1TWpOTU16SXVPRFFzTldFeExqRTJMREV1TVRZc01Dd3dMREVzTGpRMUxqa3hMREV1TVRRc01TNHhOQ3d3TERBc01TMHVORE11T1RKc0xUWXVNalFzTlVFeExqRTNMREV1TVRjc01Dd3dMREVzTWpVdU9Td3hNbG9pSUdacGJHdzlJaU5tWm1ZaUx6NDhMMmMrUEM5blBqd3ZjM1puUGc9PSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIuNHM7XG59XG5cbi5zY3JvbGwtaGludC1pY29uLXdyYXAuaXMtYWN0aXZlIC5zY3JvbGwtaGludC1pY29uOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjcm9sbC1oaW50LWljb24td3JhcC5pcy1hY3RpdmUgLnNjcm9sbC1oaW50LWljb246YmVmb3JlIHtcbiAgYW5pbWF0aW9uOiBzY3JvbGwtaGludC1hcHBlYXIgMS4ycyBsaW5lYXI7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDI7XG59XG5cbi5zY3JvbGwtaGludC1pY29uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IHJnYmEoMCwgMCwgMCwgLjQpO1xufVxuXG4uc2Nyb2xsLWhpbnQtaWNvbi13aGl0ZTpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TlM0M055SWdhR1ZwWjJoMFBTSXpNQzQxTWlJZ2RtbGxkMEp2ZUQwaU1DQXdJREkxTGpjM0lETXdMalV5SWo0OGRHbDBiR1UrNDRLaTQ0Szc0NE9ENDRPSUlEUThMM1JwZEd4bFBqeG5JR2xrUFNMamc2empncVRqZzZUamc3eGZNaUlnWkdGMFlTMXVZVzFsUFNMamc2empncVRqZzZUamc3d2dNaUkrUEdjZ2FXUTlJdU9Eck9PQ3BPT0RwT09EdkY4eExUSWlJR1JoZEdFdGJtRnRaVDBpNDRPczQ0S2s0NE9rNDRPOElERWlQanh3WVhSb0lHUTlJazB5TVM0ek15d3pNQzQxTWtnM0xqZzFRVEV1TlRVc01TNDFOU3d3TERBc01TdzJMak1zTWpsaE1USXVORFlzTVRJdU5EWXNNQ3d3TERBdExqWXpMVFF1TkRJc01qVXVNVFlzTWpVdU1UWXNNQ3d3TERBdE5DNHlOUzAxYkMwdU1EWXRMakEyUVRVc05Td3dMREFzTVN3d0xERTFMamcyWVRNdU5qUXNNeTQyTkN3d0xEQXNNU3d4TGpFM0xUSXVOaklzTXk0Mk15d3pMall6TERBc01Dd3hMRFV1TVRRdU1EZFdNeTQzTjJFekxqYzNMRE11Tnpjc01Dd3hMREVzTnk0MU5Dd3dWamd1TXpOaE15NHpOU3d6TGpNMUxEQXNNQ3d4TERFdU1qWXNNQ3d6TERNc01Dd3dMREVzTWl3eExqSXlMRE11TlN3ekxqVXNNQ3d3TERFc01pMHVNRFlzTXk0eU1Td3pMakl4TERBc01Dd3hMRElzTVM0MU5Dd3pMamMwTERNdU56UXNNQ3d3TERFc015d3VORGRCTkM0eU1TdzBMakl4TERBc01Dd3hMREkxTGpjMExERTFZekFzTGpFeExEQXNMakkzTERBc0xqUTJZVEU1TGpJMkxERTVMakkyTERBc01Dd3hMUzQ0TkN3M1l5MHVNVFF1TXpndExqTTJMamd4TFM0MU5pd3hMakl5YkMwdU1URXVNakpqTUN3dU1EY3RMakE1TGpFMExTNHhOQzR5TVdFM0xqRXpMRGN1TVRNc01Dd3dMREF0TVM0eE55d3lMakUzWXkwdU1EWXVOVFl0TGpBMkxESXVNVFV0TGpBMUxESXVOekZCTVM0MU5Td3hMalUxTERBc01Dd3hMREl4TGpNekxETXdMalV5V2swNExqWXhMREk0TGpJeGFERXlZekF0TGpjeExEQXRNUzQzTVM0d055MHlMakl6WVRndU56UXNPQzQzTkN3d0xEQXNNU3d4TGpVNUxUTXVNalZzTGpBMkxTNHhNbUV4TUN3eE1Dd3dMREFzTUN3dU5EWXRNU3d4Tmk0NExERTJMamdzTUN3d0xEQXNMamN0Tmk0eE1tTXdMUzR5TXl3d0xTNDBNU3d3TFM0MU5HZ3dZVElzTWl3d0xEQXNNQzB1TmpRdE1TNDFNaXd4TGpNekxERXVNek1zTUN3d0xEQXRNUzQxTlM0d09Dd3hMakV6TERFdU1UTXNNQ3d3TERFdE1TNHhPQzR5T0N3eExqRTFMREV1TVRVc01Dd3dMREV0TGpjNExTNDVOQ3d4TGpJMkxERXVNallzTUN3d0xEQXRMamMxTFRFdU1URXNNU3d4TERBc01Dd3dMVEV1TVRFdU1qaHNMUzR4TGpGaE1TNHhOU3d4TGpFMUxEQXNNQ3d4TFRFdU1Ua3VNamtzTVM0eE5pd3hMakUyTERBc01Dd3hMUzQzT0MwdU9UVmpMUzR3T1MwdU5qZ3RMakl4TFM0M055MHVOeTB1T0RkaExqZ3lMamd5TERBc01Dd3dMVEVzTGpRNExERXVNVFlzTVM0eE5pd3dMREFzTVMweUxqRTJMUzQxT0ZZekxqYzNZVEV1TkRZc01TNDBOaXd3TERFc01DMHlMamt5TERCMk55NDROV3d3TERRdU16TmhNUzR4Tnl3eExqRTNMREFzTUN3eExTNDRNeXd4TGpFeExERXVNVFVzTVM0eE5Td3dMREFzTVMweExqSXRMak0xYkMweExTNDVNV010TGpRM0xTNDBNaTB1TnpNdExqWTJMUzQ0TkMwdU56ZGhNUzR6TlN3eExqTTFMREFzTUN3d0xUSXRMakV5VERJdU55d3hOV0V4TGpNeUxERXVNeklzTUN3d0xEQXRMak01TERGQk1pNDFOeXd5TGpVM0xEQXNNQ3d3TERNc01UY3VPRFZzTUN3d1lUSTNMakkwTERJM0xqSTBMREFzTUN3eExEUXVOeXcxTGpZeVFURXlMall6TERFeUxqWXpMREFzTUN3eExEZ3VOakVzTWpndU1qRmFUVEl6TGpJc01qTXVNelZhVFRZdU5URXNNVFl1TlRsYUlpOCtQQzluUGp3dlp6NDhMM04yWno0PSk7XG59XG5cbi5zY3JvbGwtaGludC1pY29uLXdoaXRlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek15NHlPU0lnYUdWcFoyaDBQU0l4TWk0d01pSWdkbWxsZDBKdmVEMGlNQ0F3SURNekxqSTVJREV5TGpBeUlqNDhkR2wwYkdVKzQ0S2k0NEs3NDRPRDQ0T0lJREk4TDNScGRHeGxQanhuSUdsa1BTTGpnNnpqZ3FUamc2VGpnN3hmTWlJZ1pHRjBZUzF1WVcxbFBTTGpnNnpqZ3FUamc2VGpnN3dnTWlJK1BHY2dhV1E5SXVPRHJPT0NwT09EcE9PRHZGOHhMVElpSUdSaGRHRXRibUZ0WlQwaTQ0T3M0NEtrNDRPazQ0TzhJREVpUGp4c2FXNWxJSGd4UFNJeExqZzFJaUI1TVQwaU5pNHdNU0lnZURJOUlqRXdMalFpSUhreVBTSTJMakF4SWk4K1BIQmhkR2dnWkQwaVRURXdMalFzTnk0eE4wZ3hMamcxWVRFdU1UWXNNUzR4Tml3d0xERXNNU3d3TFRJdU16RklNVEF1TkdFeExqRTJMREV1TVRZc01Dd3hMREVzTUN3eUxqTXhXaUl2UGp4d1lYUm9JR1E5SWswM0xqUXNNVEpoTVM0eE5Td3hMakUxTERBc01Dd3hMUzQzTWkwdU1qVnNMVFl1TWpVdE5VRXhMaklzTVM0eUxEQXNNQ3d4TERBc05TNDROeXd4TGpFMExERXVNVFFzTUN3d0xERXNMalEyTERWTU5pNDNMakl6UVRFdU1UWXNNUzR4Tml3d0xEQXNNU3c0TGpFc01pNHdPRXd6TERVdU9URXNPQzR4TWl3eE1FRXhMakUyTERFdU1UWXNNQ3d3TERFc055NDBMREV5V2lJdlBqeHNhVzVsSUhneFBTSXpNUzQwTlNJZ2VURTlJall1TURFaUlIZ3lQU0l5TWk0NE9TSWdlVEk5SWpZdU1ERWlMejQ4Y0dGMGFDQmtQU0pOTXpFdU5EVXNOeTR4TjBneU1pNDRPV0V4TGpFMkxERXVNVFlzTUN3eExERXNNQzB5TGpNeGFEZ3VOVFpoTVM0eE5pd3hMakUyTERBc01Dd3hMREFzTWk0ek1Wb2lMejQ4Y0dGMGFDQmtQU0pOTWpVdU9Td3hNbUV4TGpFNExERXVNVGdzTUN3d0xERXRMamt4TFM0ME0wRXhMakUzTERFdU1UY3NNQ3d3TERFc01qVXVNVGNzTVRCc05TNHdPUzAwTGpBMVRESTFMaklzTWk0d09FRXhMakUyTERFdU1UWXNNQ3d3TERFc01qWXVOVGt1TWpOTU16SXVPRFFzTldFeExqRTJMREV1TVRZc01Dd3dMREVzTGpRMUxqa3hMREV1TVRRc01TNHhOQ3d3TERBc01TMHVORE11T1RKc0xUWXVNalFzTlVFeExqRTNMREV1TVRjc01Dd3dMREVzTWpVdU9Td3hNbG9pTHo0OEwyYytQQzluUGp3dmMzWm5QZz09KTtcbn1cblxuLnNjcm9sbC1oaW50LWljb24td2hpdGUgLnNjcm9sbC1oaW50LXRleHQge1xuICBjb2xvcjogIzAwMDtcbn0iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFNlYXJjaCBGb3JtXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zZWFyY2gtZm9ybV9fY29udGFpbmVyIHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDE1LCAxNik7XG4gICAgfVxufVxuXG4uc2VhcmNoLWZvcm0ge1xuICAgICYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4uc2VhcmNoLWZvcm1fX2lucHV0IHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1pZnkoNDIuNjY2NywgMTMuMzMzMzMzMzMzMzMzMzMpO1xuICAgIH1cbn1cblxuLnNlYXJjaC1mb3JtX19idXR0b24ge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJmb3JlZ3JvdW5kXCIpO1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxOCwgMTYpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgxMS4yIDE1LCAxOCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IHJlbWlmeSgyKTtcbiAgICAgICAgdG9wOiByZW1pZnkoMik7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcInByaW1hcnlcIik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTa2lwIExpbmtzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5za2lwLWxpbmtzIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJhY2NlbnRcIik7XG4gICAgICAgIGJvcmRlcjogcmVtaWZ5KDEpIHNvbGlkIGNvbG9yKFwiYWNjZW50XCIsIFwic2hhZGVcIik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSg0KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250O1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNiwgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBsZWZ0OiAtOTk5ZW07XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSg4IDEyLCAxNik7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0b3A6IC05OTllbTtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBsZWZ0OiByZW1pZnkoMjAsIDE2KTtcbiAgICAgICAgdG9wOiByZW1pZnkoMjAsIDE2KTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFNoYXJlIEFQSSBQb2x5ZmlsbCAoaHR0cHM6Ly9naXRodWIuY29tL05hc2NIUS9zaGFyZS1hcGktcG9seWZpbGwjcmVhZG1lKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtaWQgKi9cblxuI3NoYXJlQVBJUG9seWZpbGwtYmFja2Ryb3AsXG4jc2hhcmVBUElQb2x5ZmlsbC1jb250YWluZXIge1xuICAgICYge1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTbGlkZW91dCAoaHR0cHM6Ly9zbGlkZW91dC5qcy5vcmcvKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuICovXG5cbi8vIFZlbmRvclxuXG5AaW1wb3J0IFwic2xpZGVvdXQvaW5kZXhcIjtcblxuLy8gQ3VzdG9tXG5cbi5zbGlkZW91dC1tZW51IHtcbiAgICAmIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgIH1cblxuICAgICYuc2xpZGVvdXQtbW92ZS5zbGlkZW91dC1tZW51LWxlZnQge1xuICAgICAgICBsZWZ0OiAtMjgwcHg7XG4gICAgfVxufVxuXG4uc2xpZGVvdXQtZGltbWVyIHtcbiAgICAmIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9XG5cbiAgICAuc2xpZGVvdXQtb3BlbiAmIHtcbiAgICAgICAgei1pbmRleDogMTAwMDAwO1xuICAgIH1cbn1cbiIsImJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLnNsaWRlb3V0LW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAwO1xuICB3aWR0aDogMjU2cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2xpZGVvdXQtbW92ZS5zbGlkZW91dC1tZW51IHtcbiAgei1pbmRleDogMztcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cblxuLnNsaWRlb3V0LW1vdmUuc2xpZGVvdXQtcGFuZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG5cbi5zbGlkZW91dC1tb3ZlLnNsaWRlb3V0LW1lbnUtbGVmdCB7XG4gIGxlZnQ6IC0yNTZweDtcbn1cblxuLnNsaWRlb3V0LW1vdmUuc2xpZGVvdXQtbWVudS1yaWdodCB7XG4gIHJpZ2h0OiAtMjU2cHg7XG59XG5cbi5zbGlkZW91dC1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IC8qIEEgYmFja2dyb3VuZC1jb2xvciBpcyByZXF1aXJlZCAqL1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLnNsaWRlb3V0LWRpbW1lciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC41KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5zbGlkZW91dC1vcGVuLFxuLnNsaWRlb3V0LW9wZW4gYm9keSxcbi5zbGlkZW91dC1vcGVuIC5zbGlkZW91dC1wYW5lbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zbGlkZW91dC1vcGVuIC5zbGlkZW91dC1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zbGlkZW91dC1vcGVuIC5zbGlkZW91dC1kaW1tZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAyO1xufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTd2lwZXIgKGh0dHA6Ly9pZGFuZ2Vyby51cy9zd2lwZXIvKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuICovXG5cbi8vIFZlbmRvclxuQGltcG9ydCBcInN3aXBlci9kaXN0L2Nzcy9zd2lwZXJcIjtcblxuLy8gQ3VzdG9tXG5cbkBrZXlmcmFtZXMga2VuYnVybnMge1xuICAgIDEwMCUge1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMS4xNSwgMS4xNSkgdHJhbnNsYXRlM2QoLTMuODk1JSwgLTQuOTUzJSwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGtlbmJ1cm5zUmV2ZXJzZSB7XG4gICAgMTAwJSB7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAxLjE1LCAxLjE1KSB0cmFuc2xhdGUzZCgzLjg5NSUsIDQuOTUzJSwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLnN3aXBlci1zbGlkZSB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgICAuc3dpcGVyLXNsaWRlOm5vdCguc3dpcGVyLXNsaWRlLWFjdGl2ZSkgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uc3dpcGVyLXBpY3R1cmUge1xuICAgICYge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAoMjg3LzM3NSkgKiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaGVyby1ibG9jay0taG9tZSAmOjphZnRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAoMzkxLzM3NSkgKiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKGwpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICg1NTcvMTkyMCkgKiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlcm8tYmxvY2stLWhvbWUgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICg2NDEvMTkyMCkgKiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3dpcGVyLWltYWdlIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLnN3aXBlci1jYXB0aW9uIHtcbiAgICAmIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4OGRlZywgdHJhbnNwYXJlbnRpemUoY29sb3IoXCJkYXJrXCIpLCAxKSAwJSwgdHJhbnNwYXJlbnRpemUoY29sb3IoXCJkYXJrXCIpLCAwLjY1KSA1OCUsIHRyYW5zcGFyZW50aXplKGNvbG9yKFwiZGFya1wiKSwgMC41NCkgMTAwJSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMC43NSkgJGNvbnRlbnQtcGFkZGluZyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAuc3dpcGVyLWNvbnRhaW5lci1pbml0aWFsaXplZC5zd2lwZXItY29udGFpbmVyLS1ob21lIC5zd2lwZXItc2xpZGUtYWN0aXZlICYge1xuICAgICAgICBhbmltYXRpb246IGZhZGVJbiAycyBmb3J3YXJkcztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuc3dpcGVyLWNhcHRpb24taW5uZXIsXG4gICAgLmhlcm8tY2FwdGlvbi1pbm5lciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoJHNpdGUtd2lkdGgsIDE2KTtcbiAgICB9XG5cbiAgICAuc3dpcGVyLWNvbnRhaW5lci0tZnVsbGJsZWVkICYgLnN3aXBlci1jYXB0aW9uLWlubmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cblxuQGluY2x1ZGUgc21hbGxlci10aGFuKHhsKSB7XG4gICAgLmhlcm8tYmxvY2stLWhvbWUgLnN3aXBlci1jYXB0aW9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDU3KTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGxhcmdlci10aGFuKHhsKSB7XG4gICAgLmhlcm8tYmxvY2stLWhvbWUgLnN3aXBlci1jYXB0aW9uIC5zd2lwZXItY2FwdGlvbi1jb3JlIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoNTcwLCAxNik7XG4gICAgfVxufVxuXG4uc3dpcGVyLXRpdGxlIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDMyLCAxNik7XG4gICAgfVxuXG4gICAgLmhlcm8tYmxvY2stLWhvbWUgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDIwLCAxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgxMCwgMjApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obCkge1xuICAgICAgICAuaGVyby1ibG9jay0taG9tZSAmIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDQyLCAxNik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoNTcsIDQyKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zd2lwZXItdXNlci1jb250ZW50IHtcbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgxNCkgcmVtaWZ5KDI0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQ1MDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgxOCwgMTQpO1xuICAgIH1cblxuICAgIC5oZXJvLWJsb2NrLS1ob21lICYgLnRleHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obCkge1xuICAgICAgICAuaGVyby1ibG9jay0taG9tZSAmIC50ZXh0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zd2lwZXItYnV0dG9uIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgyMCwgMTYpO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgzMCwgMjApO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgICAgICAgd2lkdGg6IHJlbWlmeSgzMCwgMjApO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgfVxuXG4gICAgJi5zd2lwZXItYnV0dG9uLS1lbmxhcmdlIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHJpZ2h0OiByZW1pZnkoMjAsIDIwKTtcbiAgICAgICAgdG9wOiByZW1pZnkoMjAsIDIwKTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgICYuc3dpcGVyLWJ1dHRvbi0tcHJldiB7XG4gICAgICAgIGxlZnQ6IHJlbWlmeSgyMCwgMjApO1xuICAgIH1cblxuICAgIC5zd2lwZXItY29udGFpbmVyLXJ0bCAmLnN3aXBlci1idXR0b24tLXByZXYge1xuICAgICAgICByaWdodDogcmVtaWZ5KDIwLCAyMCk7XG4gICAgfVxuXG4gICAgJi5zd2lwZXItYnV0dG9uLS1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IHJlbWlmeSgyMCwgMjApO1xuICAgIH1cblxuICAgIC5zd2lwZXItY29udGFpbmVyLXJ0bCAmLnN3aXBlci1idXR0b24tLW5leHQge1xuICAgICAgICBsZWZ0OiByZW1pZnkoMjAsIDIwKTtcbiAgICB9XG5cbiAgICAuc3dpcGVyLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG59XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICAgICYge1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZShjb2xvcihcImRhcmtcIiksIDAuNSk7XG4gICAgICAgIGhlaWdodDogcmVtaWZ5KDEwLCAxNik7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoMTAsIDE2KTtcbiAgICB9XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMjAgNSwgMTYpO1xuICAgIH1cbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInByaW1hcnlcIik7XG4gICAgfVxufVxuXG4vKiBnYWxsZXJ5IHZhcmlhbnQgKi9cblxuLnN3aXBlci1jb250YWluZXItLWdhbGxlcnkge1xuICAgICYge1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDAgMzAsIDE2KTtcbiAgICB9XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnN3aXBlci1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnN3aXBlci1zbGlkZV9fZmxvb3JwbGFuX19jb250YWluZXIge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAoNTMwIC8gNzEwKSAqIDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZXItc2xpZGVfX2Zsb29ycGxhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zd2lwZXItY29udGFpbmVyLS1ob21lIHtcbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IHN0YXRlIGlzIGl0cyBmaW5hbCB0cmFuc2Zvcm0sIHRvIHByZXZlbnQgc2xpZGUganVtcGluZyBkdXJpbmcgdHJhbnNpdGlvblxuICAgICAqL1xuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAuc3dpcGVyX19pbWFnZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSkgdHJhbnNsYXRlM2QoLTkuODk1JSwgLTEzLjk1MyUsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zd2lwZXItc2xpZGUtLWFsdGVybmF0ZSAuc3dpcGVyX19pbWFnZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSkgdHJhbnNsYXRlM2QoOS44OTUlLCAxMy45NTMlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmF1bHQgc3RhdGUgaXMgaXRzIGZpbmFsIHRyYW5zZm9ybSwgdG8gcHJldmVudCBzbGlkZSBqdW1waW5nIGR1cmluZyB0cmFuc2l0aW9uXG4gICAgICovXG4gICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgIC5zd2lwZXItaW1hZ2Uge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuNSwgMS41LCAxLjUpIHRyYW5zbGF0ZTNkKC05Ljg5NSUsIC0xMy45NTMlLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3dpcGVyLXNsaWRlLS1hbHRlcm5hdGUgLnN3aXBlci1pbWFnZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSkgdHJhbnNsYXRlM2QoOS44OTUlLCAxMy45NTMlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkKSAuc3dpcGVyLXNsaWRlLFxuICAgICYuc3dpcGVyLWNvbnRhaW5lci1pbml0aWFsaXplZCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgICAgIC5zd2lwZXItaW1hZ2Uge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1pbWFnZSB7XG4gICAgICAgICAgICBhbmltYXRpb246IGtlbmJ1cm5zIDE1cyBmb3J3YXJkcztcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3dpcGVyLXNsaWRlLS1hbHRlcm5hdGUgLnN3aXBlci1pbWFnZSB7XG4gICAgICAgICAgICBhbmltYXRpb246IGtlbmJ1cm5zUmV2ZXJzZSAxNXMgZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zd2lwZXItY29udGFpbmVyLS10ZXN0aW1vbmlhbHMge1xuICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBTd2lwZXIgNC41LjFcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE5IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IFNlcHRlbWJlciAxMywgMjAxOVxuICovXG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi14O1xuICB0b3VjaC1hY3Rpb246IHBhbi14O1xufVxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIHRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbn1cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDZweCAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiA4cHg7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNHB4O1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XG4gIGN1cnNvcjogbW92ZTtcbn1cbi8qIFByZWxvYWRlciAqL1xuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzNmM2YzZjJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zd2lwZXItY29udGFpbmVyLWNvdmVyZmxvdyAuc3dpcGVyLXdyYXBwZXIge1xuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBUYWJieSAoaHR0cHM6Ly9naXRodWIuY29tL2NmZXJkaW5hbmRpL3RhYmJ5I3JlYWRtZSlcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGluY2x1ZGUgc21hbGxlci10aGFuKGwpIHtcbiAgICAudGFiYnlfX3RhYiB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgYm9yZGVyOiByZW1pZnkoMykgc29saWQgY29sb3IoXCJsaWdodFwiLCBcInNoYWRlXCIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtaWZ5KDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAxNSwgMTYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmJ5X190YWJfX3RvZ2dsZSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImRhcmtcIiwgXCJ0aW50XCIpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMjApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbWlmeSgyMCAyNSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmJ5X190YWJfX3RvZ2dsZV9faWNvbiB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbWlmeSgyNSwgMjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmJ5X190YWJfX2NvbnRlbnQge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbWlmeSgwIDI1IDIwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogVGVzdGltb25pYWxcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnRlc3RpbW9uaWFsX19jb250ZW50IHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJiYWNrZ3JvdW5kXCIsIFwic2hhZGVcIik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSgyNCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDIwIDE3LjUgMjUpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdDogcmVtaWZ5KDMwKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogcmVtaWZ5KDI1KSBzb2xpZCBjb2xvcihcImJhY2tncm91bmRcIiwgXCJzaGFkZVwiKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IHJlbWlmeSgzMCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgIH1cbn1cblxuLnRlc3RpbW9uaWFsX191c2VyLWNvbnRlbnQge1xuICAgIC51c2VyLWNvbnRlbnRfX3RleHQge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJmb3JlZ3JvdW5kXCIsIFwidGludFwiKTtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE2KTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDE5LCAxNik7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4udGVzdGltb25pYWxfX2F1dGhvciB7XG4gICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgxOSwgMTYpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgyMCAwIDAgNzUpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEpvcmRhbiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFRpbGVkIEdhbGxlcnlcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnRpbGVkLWdhbGxlcnktaXRlbSAudGlsZWQtZ2FsbGVyeS1jYXB0aW9uIHtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICBmb250LXJhbmdlOiAkeHMtYnJlYWsgJHhsLWJyZWFrO1xuICAgIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSByZW1pZnkoMTYsIDE2KSByZW1pZnkoMjIsIDE2KTtcbiAgICBmb250LXdlaWdodDogODAwO1xufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBUb29sdGlwXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi50b29sdGlwIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1pZnkoNCwgMTYpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSg0IDgsIDE2KTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1cztcbiAgICB9XG5cbiAgICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbWlmeSgxMCwgMTYpO1xuICAgIH1cblxuICAgICZbeC1wbGFjZW1lbnRePVwibGVmdFwiXSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDEwLCAxNik7XG4gICAgfVxuXG4gICAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW1pZnkoMTAsIDE2KTtcbiAgICB9XG5cbiAgICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgxMCwgMTYpO1xuICAgIH1cblxuICAgICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgfVxufVxuXG4udG9vbHRpcF9fYXJyb3cge1xuICAgICYge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSg1LCAxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg1LCAxNik7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbWlmeSg1LCAxNik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdICYge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItd2lkdGg6IHJlbWlmeSgwIDUgNSA1LCAxNik7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gI3tyZW1pZnkoNSwgMTYpfSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRvcDogcmVtaWZ5KC01LCAxNik7XG4gICAgfVxuXG4gICAgLnRvb2x0aXBbeC1wbGFjZW1lbnRePVwibGVmdFwiXSAmIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItd2lkdGg6IHJlbWlmeSg1IDAgNSA1LCAxNik7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHJpZ2h0OiByZW1pZnkoLTUsIDE2KTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtICN7cmVtaWZ5KDUsIDE2KX0pO1xuICAgIH1cblxuICAgIC50b29sdGlwW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdICYge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW1pZnkoNSA1IDUgMCwgMTYpO1xuICAgICAgICBsZWZ0OiByZW1pZnkoLTUsIDE2KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtICN7cmVtaWZ5KDUsIDE2KX0pO1xuICAgIH1cblxuICAgIC50b29sdGlwW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAmIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiByZW1pZnkoNSA1IDAgNSwgMTYpO1xuICAgICAgICBib3R0b206IHJlbWlmeSgtNSwgMTYpO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtICN7cmVtaWZ5KDUsIDE2KX0pO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogV1AgQ2FwdGlvblxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ud3AtY2FwdGlvbiB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLndwLWNhcHRpb24taW1hZ2Uge1xuICAgICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZm9yZWdyb3VuZFwiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgyOCwgMTYpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgxNCAwIDI4LCAxNik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBQYWdlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmh0bWwsXG5ib2R5IHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJwYWdlLWJhY2tncm91bmRcIik7XG4gICAgICAgIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLnBhZ2VfX2NvbnRhaW5lciB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwicGFnZS1iYWNrZ3JvdW5kXCIpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAjY29udGVudCB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEhlYWRlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uaGVhZGVyLWJsb2NrIHtcbiAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5ZXIoXCJoZWFkZXJcIik7XG5cbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJiYWNrZ3JvdW5kXCIpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJi5oZWFkZXItYmxvY2stLW92ZXJsYXk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgJi5oZWFkZXItYmxvY2stLW92ZXJsYXk6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vbWVkaWEvaGVhZGVyLWN1cnZlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogM3Z3O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtICN7cmVtaWZ5KDEpfSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4uaGVhZGVyX19pbm5lciB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbWlmeSgkc2l0ZS13aWR0aCArICgkY29udGVudC1wYWRkaW5nICogMikpO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoMCAkY29udGVudC1wYWRkaW5nICRjb250ZW50LXBhZGRpbmcpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG4gICAgLnBob25lX19jb2wge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJhY2NlbnRcIik7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDEwKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImFjY2VudFwiLCBcInRpbnRcIik7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbih4cykge1xuICAgICAgICAuaGVhZGVyX19idXR0b24sXG4gICAgICAgIC50aXRsZV9fbGluayB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbWlmeSg4IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlcl9fYnV0dG9uIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW1pZnkoMTApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlcl9fYnV0dG9uOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbWlmeSg4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXJfX2J1dHRvbjpob3ZlcixcbiAgICAgICAgLmhlYWRlcl9fYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoXCJhY2NlbnRcIik7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhlYWRlcl9fcm93IHtcbiAgICAmIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYuaGVhZGVyX19yb3ctLWZpcnN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDI1KTtcbiAgICB9XG5cbiAgICAmLmhlYWRlcl9fcm93LS1maXJzdDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJiYWNrZ3JvdW5kXCIsIFwic2hhZGVcIik7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoMyk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IHJlbWlmeSgkY29sdW1uLWdhcC8yLCAxNik7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgICYucm93LS1wYWRkZWQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3tyZW1pZnkoJGNvbHVtbi1nYXAgLyAyLCAxNil9KTtcbiAgICB9XG5cbiAgICAmLnJvdy0tcGFkZGVkID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1pZnkoJGNvbHVtbi1nYXAgLyAyLCAxNik7XG4gICAgfVxufVxuXG4uaGVhZGVyX190aXRsZSB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImRhcmtcIik7XG4gICAgICAgIGZvbnQtcmFuZ2U6ICR4cy1icmVhayAkeGwtYnJlYWs7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSByZW1pZnkoMTAsIDE2KSByZW1pZnkoMTQsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgxOSwgMTIpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnRpdGxlX19saW5rIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZGFya1wiKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDcgMCk7XG4gICAgfVxuXG4gICAgLmxpbmtfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZGFya1wiKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1pZnkoMTMsIDE0KTtcbiAgICB9XG5cbiAgICAubGlua19fdGV4dCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgfVxufVxuXG4uaGVhZGVyX190ZXh0IHtcbiAgICAmIHtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgxNSwgMTYpIHJlbWlmeSgyMCwgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDE4LCAxNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmxpbmsge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbn1cblxuLmNvbC0tbG9nbyB7XG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHhsKSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjApO1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgfVxufVxuXG4uY29sLS1zZWFyY2gge1xuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKGwpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmhlYWRlcl9fbG9nbyB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoMzQyLCAxNik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKGwpIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoMjkwLCAxNik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmhlYWRlcl9fbWVudS1saXN0X19jb250YWluZXIge1xuICAgIC5tZW51LWxpc3QtLXNvY2lhbCB7XG4gICAgICAgIC5tZW51LWxpc3RfX2xpbmsge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoXCJwcmltYXJ5XCIsIFwidGludFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhlYWRlcl9fcGFuZWwtdG9nZ2xlIHtcbiAgICAmIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgICB9XG5cbiAgICAuaGVhZGVyX19zZWFyY2gtZm9ybV9fY29udGFpbmVyLnNlYXJjaC1mb3JtX19jb250YWluZXItLWV4cGFuZGFibGUuaXMtYWN0aXZlICsgJltkYXRhLXRvZ2dsZT1cInRvZ2dsZS1zZWFyY2hcIl0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLmhlYWRlcl9fc2VhcmNoLWZvcm1fX2NvbnRhaW5lciB7XG4gICAgJi5zZWFyY2gtZm9ybV9fY29udGFpbmVyLS1leHBhbmRhYmxlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoY29sb3IoXCJiYWNrZ3JvdW5kXCIpLCAwLjIpO1xuICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAwLjc1KSAkY29udGVudC1wYWRkaW5nKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAtOTk5ZW07XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIHRvcCAwcyAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1cztcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDQwMCk7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmhlYWRlci1ibG9jay0tb3ZlcmxheSAmLnNlYXJjaC1mb3JtX19jb250YWluZXItLWV4cGFuZGFibGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuICAgICYuc2VhcmNoLWZvcm1fX2NvbnRhaW5lci0tZXhwYW5kYWJsZS5pcy1hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1mb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtaWZ5KCRzaXRlLXdpZHRoIC8gMik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTmF2aWdhdGlvblxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubmF2aWdhdGlvbi1ibG9jayB7XG4gICAgJiB7XG4gICAgICAgIEBpbmNsdWRlIGxheWVyKFwibmF2aWdhdGlvblwiKTtcbiAgICB9XG59XG5cbi5uYXZpZ2F0aW9uX19pbm5lciB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwicHJpbWFyeVwiKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtaWZ5KCRzaXRlLXdpZHRoKTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7cmVtaWZ5KCRzaXRlLXdpZHRoKX0gKyAje3JlbWlmeSgxNiAqIDIsIDIwKX0pO1xuICAgIH1cbn1cblxuLm5hdmlnYXRpb25fX2ZpZ3VyZSB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCA4LCAxNik7XG4gICAgfVxufVxuXG4ubmF2aWdhdGlvbl9faW1hZ2Uge1xuICAgICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ubmF2aWdhdGlvbl9fbWVudS1saXN0X19jb250YWluZXIge1xuICAgIC5tZW51LWxpc3QtLW5hdmlnYXRpb24ge1xuICAgICAgICAubWVudS1saXN0X19saW5rLFxuICAgICAgICAubWVudS1saXN0X190b2dnbGUge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKGNvbG9yKFwibGlnaHRcIiksIDAuOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1saXN0X19pdGVtLmlzLWFjdGl2ZSxcbiAgICAgICAgLm1lbnUtbGlzdF9faXRlbTpmb2N1cy13aXRoaW4sXG4gICAgICAgIC5tZW51LWxpc3RfX2l0ZW06aG92ZXIge1xuICAgICAgICAgICAgPiAubWVudS1saXN0X19saW5rLFxuICAgICAgICAgICAgPiAubWVudS1saXN0X190b2dnbGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBmdWxsYmxlZWQgdmFyaWFudCAqL1xuXG4ubmF2aWdhdGlvbi1ibG9jay0tZnVsbGJsZWVkIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgIH1cblxuICAgID4gLm5hdmlnYXRpb25fX2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cbiAgICA+IC5uYXZpZ2F0aW9uX19pbm5lci0tZnVsbGJsZWVkIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cblxuLyogZmx5b3V0IHZhcmlhbnQgKi9cblxuLm5hdmlnYXRpb24tYmxvY2stLWZseW91dCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwicHJpbWFyeVwiKTtcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiAxMDAwMDEgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOm5vdCguc2xpZGVvdXQtbWVudSkge1xuICAgICAgICBsZWZ0OiAtOTk5ZW07XG4gICAgICAgIHRvcDogLTk5OWVtO1xuICAgIH1cblxuICAgID4gLm5hdmlnYXRpb25fX2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEhlcm9cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmhlcm8tYmxvY2sge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBsYXllcihcImhlcm9cIik7XG4gICAgfVxufVxuXG4uaGVyb19faW5uZXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImJhY2tncm91bmRcIik7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbWlmeSgkc2l0ZS13aWR0aCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgoJGNvbnRlbnQtcGFkZGluZyAqIDAuNzUpICRjb250ZW50LXBhZGRpbmcpO1xuICAgIH1cbn1cblxuLmhlcm9fX3Byb2R1Y3QtZmlsdGVyIHtcbiAgICAmIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxufVxuXG4vKiBmdWxsYmxlZWQgdmFyaWFudCAqL1xuXG4uaGVyby1ibG9jay0tZnVsbGJsZWVkIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJiYWNrZ3JvdW5kXCIpO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAwLjc1KSAkY29udGVudC1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICA+IC5oZXJvX19pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgPiAuaGVyb19faW5uZXItLWZ1bGxibGVlZCB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG5cbi5oZXJvLWJsb2NrLS1pbnRlcm5hbCB7XG4gICAgLnN3aXBlci1waWN0dXJlIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICgyNTIvMzc1KSAqIDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihsKSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICg0OTAvMTkyMCkgKiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXBlci1jYXB0aW9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDM1KTtcbiAgICB9XG5cbiAgICAuc3dpcGVyLXRpdGxlIHtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgyOCkgcmVtaWZ5KDUwKTtcbiAgICB9XG5cbiAgICAuc3dpcGVyLWNhcHRpb24gLnN3aXBlcl9fbGluayxcbiAgICAuc3dpcGVyLXRpdGxlLnRpdGxlLS1oMiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICBmb250LXJhbmdlOiAkeHMtYnJlYWsgJHhsLWJyZWFrO1xuICAgICAgICBmb250LXNpemU6IHJlc3BvbnNpdmUgcmVtaWZ5KDE0KSByZW1pZnkoMjQpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKHhsKSB7XG4gICAgICAgIC5zd2lwZXItY2FwdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KDk1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZXItdGl0bGUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbih4cykge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIC5zd2lwZXItY2FwdGlvbiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb250ZW50LWJsb2NrIHtcbiAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5ZXIoXCJjb250ZW50XCIpO1xuICAgIH1cbn1cblxuLmNvbnRlbnRfX2lubmVyIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJiYWNrZ3JvdW5kXCIpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoJHNpdGUtd2lkdGgpO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAwLjYpICRjb250ZW50LXBhZGRpbmcgKCRjb250ZW50LXBhZGRpbmcgKiAxLjIpKTtcbiAgICB9XG59XG5cbi5jb250ZW50X19wb3N0IHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwICgkY29udGVudC1wYWRkaW5nICogMS4yKSk7XG4gICAgfVxufVxuXG4uY29udGVudF9fc2lkZWJhciB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiYmFja2dyb3VuZFwiKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtaWZ5KDEyKTtcbiAgICAgICAgYm94LXNoYWRvdzogcmVtaWZ5KDAgMCA3IDApIHRyYW5zcGFyZW50aXplKGNvbG9yKFwiZGFya1wiKSwgKDIgLzMpKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDAgKCRjb250ZW50LXBhZGRpbmcgKiAxLjIpKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMS40KSAkY29udGVudC1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAmLmNvbnRlbnRfX3NpZGViYXItLWFsdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5jb250ZW50X19maWd1cmUge1xuICAgICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLmNvbnRlbnRfX2ltYWdlIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uY29udGVudF9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4oeHMpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cblxuLmNvbnRlbnQtYmxvY2stLWZ1bGxibGVlZCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiYmFja2dyb3VuZFwiKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDkzICRjb250ZW50LXBhZGRpbmcgNzMpO1xuICAgIH1cblxuICAgID4gLmNvbnRlbnRfX2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICA+IC5jb250ZW50X19pbm5lci0tZnVsbGJsZWVkIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cblxuLyogYWx0IHZhcmlhbnQgKi9cblxuLmNvbnRlbnQtYmxvY2stLWFsdCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiYmFja2dyb3VuZFwiLCBcInRpbnRcIik7XG4gICAgfVxuXG4gICAgJi5jb250ZW50LWJsb2NrLS1uYXJyb3cgLmNvbnRlbnRfX2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoMTIwMCk7XG4gICAgfVxuXG4gICAgLmNvbnRlbnRfX2ZpZ3VyZS0tYmFja2dyb3VuZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LWhlaWdodDogcmVtaWZ5KDI0MCwgMTYpO1xuICAgIH1cblxuICAgIC5jb250ZW50X19maWd1cmUtLWJhY2tncm91bmQgLmNvbnRlbnRfX2ltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgQGV4dGVuZCAuYnV0dG9uLS1wcmltYXJ5O1xuICAgIH1cbn1cblxuLmNvbnRlbnQtYmxvY2stLWhvbWUge1xuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbihsKSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSg0Mik7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxOCk7XG4gICAgICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDQ1IDEwKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRlbnQtYmxvY2stLXRpZ2h0IHtcbiAgICAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgxNSkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5jb250ZW50LWJsb2NrLS10ZXN0aW1vbmlhbHMge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImRhcmtcIiwgXCJ0aW50XCIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoNjAgJGNvbnRlbnQtcGFkZGluZyk7XG4gICAgfVxuXG4gICAgLmNvbnRlbnRfX2lubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudGVzdGltb25pYWxzX19zbGlkZXNob3cge1xuICAgICAgICAtLXN3aXBlci1jb250YWluZXItaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRleHQsXG4gICAgLnRpdGxlIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwibGlnaHRcIikgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC50aXRsZS0taDIge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC50aXRsZS0taDMsXG4gICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IGZsdWlkKHJlbWlmeSgxNyksIHJlbWlmeSgxOSkpO1xuICAgIH1cblxuICAgIC50aXRsZS0taDMge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAuc3dpcGVyLWNvbnRhaW5lci0td2VibGlueC1zd2lwZXIgLnN3aXBlci1jYXB0aW9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImRhcmtcIiwgXCJ0aW50XCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgyMCAxMDAgMCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuc3dpcGVyLWNvbnRhaW5lci0td2VibGlueC1zd2lwZXIgLnN3aXBlci1idXR0b24ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoNTUpO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSg1NSk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSg0NSk7XG4gICAgfVxuXG4gICAgLS1zd2lwZXItY29udGFpbmVyLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHhzKSB7XG4gICAgICAgIC5zd2lwZXItY29udGFpbmVyLS13ZWJsaW54LXN3aXBlciAuc3dpcGVyLWNhcHRpb24ge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtaWZ5KDIwIDI1IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1jb250YWluZXItLXdlYmxpbngtc3dpcGVyIC5zd2lwZXItYnV0dG9uIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtaWZ5KDM1KTtcbiAgICAgICAgICAgIHdpZHRoOiByZW1pZnkoMzUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN3aXBlci1jb250YWluZXItLXdlYmxpbngtc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICAgICAgbGVmdDogcmVtaWZ5KC0xMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLWNvbnRhaW5lci0td2VibGlueC1zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICAgICAgICByaWdodDogcmVtaWZ5KC0xMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZvb3RlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZm9vdGVyLWJsb2NrIHtcbiAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgbGF5ZXIoXCJmb290ZXJcIik7XG4gICAgfVxuXG4gICAgJiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5mb290ZXJfX2lubmVyIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgbGlnaHRlbihzYXR1cmF0ZShhZGp1c3QtaHVlKGNvbG9yKFwicGFnZS1iYWNrZ3JvdW5kXCIpLCAtMS4yOTM1KSwgNDcuMDU4OCksIDkuODAzOSkgNTAlLCBjb2xvcihcInBhZ2UtYmFja2dyb3VuZFwiLCBcInRpbnRcIikgNjUlLCBjb2xvcihcInBhZ2UtYmFja2dyb3VuZFwiKSA4NSUpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoJHNpdGUtd2lkdGgpO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAyLjQpICRjb250ZW50LXBhZGRpbmcpO1xuICAgIH1cbn1cblxuLmZvb3Rlcl9fYnV0dG9uLmJ1dHRvbiB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSg5LCAxNik7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyMywgMTYpO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoMTQgMjgsIDE2KTtcbiAgICB9XG59XG5cbi5mb290ZXJfX3RleHQge1xuICAgICYge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgyMywgMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjIsIDE2KTtcbiAgICB9XG5cbiAgICAubGluayB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgJi50ZXh0LS1hbHQge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNSwgMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDIyLCAxNSk7XG4gICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICB9XG5cbiAgICAmLnRleHQtLWFkZHJlc3M6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnRleHRfX2xpbms6bm90KC5saW5rLS1pbmhlcml0KSB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcInByaW1hcnlcIiwgXCJ0aW50XCIpO1xuICAgIH1cblxuICAgIC50ZXh0X19saW5rLmxpbmstLWluaGVyaXQge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTQsIDE2KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obCkge1xuICAgICAgICAudGV4dCxcbiAgICAgICAgLmZvb3Rlcl9fdGV4dCxcbiAgICAgICAgLnRpdGxlLFxuICAgICAgICAuZm9vdGVyX190aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXJfX2xvZ28ge1xuICAgICYge1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIGF1dG8gMzIsIDE2KTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDI4MCwgMTYpO1xuICAgIH1cbn1cblxuLmZvb3Rlcl9faW1hZ2Uge1xuICAgICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjIsIDE2KTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDM4OSwgMTYpO1xuICAgIH1cbn1cblxuLyogZnVsbGJsZWVkIHZhcmlhbnQgKi9cblxuLmZvb3Rlci1ibG9jay0tZnVsbGJsZWVkIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJwcmltYXJ5XCIsIFwic2hhZGVcIik7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgoJGNvbnRlbnQtcGFkZGluZyAqIDIuNCkgJGNvbnRlbnQtcGFkZGluZyk7XG4gICAgfVxuXG4gICAgPiAuZm9vdGVyX19pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgPiAuZm9vdGVyX19pbm5lci0tZnVsbGJsZWVkIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cblxuLmZvb3Rlcl9fbWVudS1saXN0X19jb250YWluZXIge1xuICAgICYge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKGwpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICB3aWR0aDogcmVtaWZ5KDQ3MCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcIi4uL21vZHVsZS9hcnRpY2xlL19hcnRpY2xlX3hzXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL2NhbGxvdXQvX2NhbGxvdXRfeHNcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvY29sdW1ucy9fY29sdW1uc194c1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcIi4uL2xheW91dC9oZWFkZXIvX2hlYWRlcl94c1wiO1xuQGltcG9ydCBcIi4uL2xheW91dC9jb250ZW50L19jb250ZW50X3hzXCI7XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEFydGljbGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmFydGljbGVfX2ZpZ3VyZV9fY2FwdGlvbiB7XG4gICAgJiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudGl6ZShjb2xvcihcImRhcmtcIiksIDEpICgoMTAwJSAvIDMpICogMiksIHRyYW5zcGFyZW50aXplKGNvbG9yKFwiZGFya1wiKSwgMC40KSA4NSUpO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoJGNvbnRlbnQtcGFkZGluZyAoJGNvbnRlbnQtcGFkZGluZyAqIDEuNikpO1xuICAgIH1cbn1cblxuLyogcHJvZHVjdC1leGNlcnB0IHZhcmlhbnQgKi9cblxuLmFydGljbGUtLXByb2R1Y3QtZXhjZXJwdCB7XG4gICAgJiB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIENhbGxvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbih4eGwpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXZ3O1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29sdW1uc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AZm9yICRpIGZyb20gMiB0aHJvdWdoIDEyIHtcbiAgICAuY29sdW1ucy0tI3skaX0ge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGNvbHVtbnM6ICRpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29sdW1ucyB7XG4gICAgJiB7XG4gICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgzMCk7XG4gICAgfVxuXG4gICAgLnRleHRfX2xpc3QtaXRlbSB7XG4gICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZWFkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmhlYWRlcl9faW5uZXIge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcpO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3RpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImFjY2VudFwiKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtaWZ5KDAgMCA5IDksIDE0KTtcbiAgICAgICAgYm94LXNoYWRvdzogcmVtaWZ5KDAgMiAwIDApIHJnYmEoMCwgMCwgMCwgMC4yMyk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAtMTAgMCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgxNSAxOCk7XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJhY2NlbnRcIiwgXCJ0aW50XCIpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICB9XG59XG5cbi5oZWFkZXJfX3JvdyB7XG4gICAgJi5oZWFkZXJfX3Jvdy0tZmlyc3Q6OmJlZm9yZSB7XG4gICAgICAgIHJpZ2h0OiByZW1pZnkoMjUpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29udGVudFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY29udGVudF9faW5uZXIge1xuICAgIC5oZXJvLWJsb2NrICsgLmNvbnRlbnQtYmxvY2s6bm90KC5jb250ZW50LWJsb2NrLS1mdWxsYmxlZWQpID4gJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAwLjYpICsgKCRjb250ZW50LXBhZGRpbmcgKiAxLjYpKTtcbiAgICB9XG59XG5cbi5jb250ZW50X19zaWRlYmFyIHtcbiAgICAmIHtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSg0MTIsIDE2KTtcbiAgICB9XG5cbiAgICAmLmNvbnRlbnRfX3NpZGViYXItLWFsdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSg0MTIsIDE2KTtcbiAgICB9XG5cbiAgICAmLmNvbnRlbnRfX3NpZGViYXItLWFsdDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImRhcmtcIiwgXCJzaGFkZVwiKTtcbiAgICAgICAgYm90dG9tOiByZW1pZnkoLTkwKTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHJlbWlmeSgtMTEwKTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG59XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG5cbi5jb250ZW50LWJsb2NrLS1mdWxsYmxlZWQge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoMTEwICRjb250ZW50LXBhZGRpbmcgOTApO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiLi4vbW9kdWxlL3RhYmJ5L190YWJieV9sXCI7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiLi4vbGF5b3V0L2hlYWRlci9faGVhZGVyX2xcIjtcbkBpbXBvcnQgXCIuLi9sYXlvdXQvaGVyby9faGVyb19sXCI7XG5AaW1wb3J0IFwiLi4vbGF5b3V0L2NvbnRlbnQvX2NvbnRlbnRfbFwiO1xuQGltcG9ydCBcIi4uL2xheW91dC9mb290ZXIvX2Zvb3Rlcl9sXCI7XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFRhYmJ5IChodHRwczovL2dpdGh1Yi5jb20vY2ZlcmRpbmFuZGkvdGFiYnkjcmVhZG1lKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udGFiYnlfX3RhYl9fY29udGVudCB7XG4gICAgJiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSg0MCk7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZWFkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogSGVyb1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uaGVyb19fcHJvZHVjdC1maWx0ZXIge1xuICAgID4gKiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1maWx0ZXJfX2J1dHRvbiB7XG4gICAgICAgIGJveC1zaGFkb3c6IHJlbWlmeSgwIDIgNCkgdHJhbnNwYXJlbnRpemUoY29sb3IoXCJkYXJrXCIpLCAwLjcpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWZpbHRlcl9faW5wdXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWZpbHRlcl9fdGl0bGUsXG4gICAgLnByb2R1Y3QtZmlsdGVyX190ZXh0IHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb250ZW50X19zaWRlYmFyIHtcbiAgICAmIHtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSg0MTIsIDE2KTtcbiAgICB9XG59XG5cbi8qIGFsdCB2YXJpYW50ICovXG5cbi5jb250ZW50LWJsb2NrLS1hbHQge1xuICAgIC5jb250ZW50X19hcnRpY2xlIC5hcnRpY2xlX191c2VyLWNvbnRlbnQge1xuICAgICAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRlbnRfX3NpZGViYXIge1xuICAgICYuY29udGVudF9fc2lkZWJhci0tYWx0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW1pZnkoLTUwKTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZvb3RlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZm9vdGVyLWJsb2NrIHtcbiAgICAmIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbi5mb290ZXJfX2J1dHRvbiB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5idXR0b24tLW9mZnNldCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbWlmeSgzMiwgMTYpO1xuICAgIH1cbn1cblxuLmZvb3Rlcl9fdGV4dCB7XG4gICAgJi50ZXh0LS1vZmZzZXQge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW1pZnkoMzIsIDE4KTtcbiAgICB9XG59XG5cbi5mb290ZXJfX2xvZ28ge1xuICAgICYge1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDAgMTIsIDE2KTtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSgyOTIsIDE2KTtcbiAgICB9XG59XG5cbi8qIGZ1bGxibGVlZCB2YXJpYW50ICovXG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4iXX0= */
