/* ------------------------------------------------------------------------ *\
 * 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
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Fonts
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Widths
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Column Count
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * 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: 700 !important;
}

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

.__underline {
  text-decoration: underline !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: #2B4550 !important;
}

.__accent {
  color: #99B2AB !important;
}

.__error {
  color: #C62828 !important;
}

/* "visible" classes */
@media (max-width: 29.9375em) {
  .__visible-xxxs {
    display: none !important;
  }
}
@media (max-width: 39.9375em) {
  .__visible-xxs {
    display: none !important;
  }
}
@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;
  }
}
@media (max-width: 89.9375em) {
  .__visible-xxxl {
    display: none !important;
  }
}
/* "hidden" classes -- NOTE: It is important that __hidden classes come after __visible for override purposes */
@media (min-width: 30em) {
  .__hidden-xxxs {
    display: none !important;
  }
}
@media (min-width: 40em) {
  .__hidden-xxs {
    display: none !important;
  }
}
@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;
  }
}
@media (min-width: 90em) {
  .__hidden-xxxl {
    display: none !important;
  }
}
/* ------------------------------------------------------------------------ *\
 * Base
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Fonts
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * SignPainter HouseScript
\* ------------------------------------------------------------------------ */
@font-face {
  font-display: swap;
  font-family: "SignPainter HouseScript";
  font-style: normal;
  font-weight: 400;
  src: url("/source/3485df9ae71e25842f4951f8be7750d5") format("woff2"), url("/source/f6f7f092c3f878d6aeecbf2b7a80e74c/webfont.woff") format("woff");
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  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
   ========================================================================== */
/**
 * 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 */
}

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

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 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 */
}

/**
 * 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 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

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

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  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;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * 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 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

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

/**
 * 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 in Chrome and Safari on macOS.
 */
[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 */
}

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

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

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

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

/* ------------------------------------------------------------------------ *\
 * Normalize
\* ------------------------------------------------------------------------ */
/* stylelint-disable property-no-vendor-prefix, selector-max-type, selector-no-qualifying-type */
/* These styles are intended to be global */
*,
*::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;
}

/* ------------------------------------------------------------------------ *\
 * Selection
\* ------------------------------------------------------------------------ */
::selection {
  background-color: #99B2AB;
  color: #FFFFFF;
}

/* ------------------------------------------------------------------------ *\
 * Alignment
\* ------------------------------------------------------------------------ */
.alignleft,
.alignright,
.aligncenter {
  display: block;
  margin: 0px auto 45px;
  margin: 0rem auto 2.8125rem;
  max-width: 100%;
}

@media (min-width: 48em) {
  .alignleft {
    float: left;
    margin-right: 4.6875rem;
  }

  .alignright {
    float: right;
    margin-left: 4.6875rem;
  }
}
/* ------------------------------------------------------------------------ *\
 * Divider
\* ------------------------------------------------------------------------ */
.divider {
  background: #2B4550;
  border: 0;
  clear: both;
  height: 2px;
  height: 0.125rem;
  margin: 0.9375em 0em;
  width: 100%;
}

/* ------------------------------------------------------------------------ *\
 * Grid (based loosely on https://v4-alpha.getbootstrap.com/layout/grid/)
\* ------------------------------------------------------------------------ */
.row {
  display: flex;
  flex-wrap: wrap;
}
.row > [class*=col-] {
  flex-grow: 1;
  flex-shrink: 1;
  min-width: 0;
}
.row > .col--grow-0 {
  flex-grow: 0;
}
.row > .col--shrink-0 {
  flex-shrink: 0;
}

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

.row--padded {
  width: calc(100% + 6em);
}
.row--padded > [class*=col-] {
  padding-right: 6em;
}

.row--padded-tight {
  width: calc(100% + 4.5em);
}
.row--padded-tight > [class*=col-] {
  padding-right: 4.5em;
}

.row--padded-loose {
  width: calc(100% + 7.5em);
}
.row--padded-loose > [class*=col-] {
  padding-right: 7.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 30em) {
  .col-xxxs-auto {
    flex-basis: auto;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .col-xxxs-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
@media (min-width: 40em) {
  .col-xxs-auto {
    flex-basis: auto;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .col-xxs-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.3333333333%;
    grid-column: span 1;
  }

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

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

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

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

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

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

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

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

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

  .col-xs-11 {
    flex-basis: 91.6666666667%;
    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.3333333333%;
    grid-column: span 1;
  }

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

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

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

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

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

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

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

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

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

  .col-s-11 {
    flex-basis: 91.6666666667%;
    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.3333333333%;
    grid-column: span 1;
  }

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

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

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

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

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

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

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

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

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

  .col-m-11 {
    flex-basis: 91.6666666667%;
    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.3333333333%;
    grid-column: span 1;
  }

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

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

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

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

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

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

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

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

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

  .col-l-11 {
    flex-basis: 91.6666666667%;
    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.3333333333%;
    grid-column: span 1;
  }

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

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

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

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

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

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

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

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

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

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

  .col-xl-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
@media (min-width: 85.375em) {
  .col-xxl-auto {
    flex-basis: auto;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .col-xxl-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.3333333333%;
    grid-column: span 1;
  }

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

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

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

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

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

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

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

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

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

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

  .col-xxxl-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
/* ------------------------------------------------------------------------ *\
 * Link
\* ------------------------------------------------------------------------ */
.link, .woocommerce-privacy-policy-text a, .woocommerce form.login p.woocommerce-LostPassword a,
.woocommerce form.register p.woocommerce-LostPassword a, .woocommerce-error a,
.woocommerce-info a,
.woocommerce-message a, .woocommerce table.shop_table a, .woocommerce .woocommerce-product-rating .woocommerce-review-link, .woocommerce a.added_to_cart, .woocommerce nav.woocommerce-pagination ul li a, .woocommerce div.product form.cart .reset_variations, .woocommerce div.product div.summary div.product_meta a, .woocommerce-account .woocommerce-MyAccount-content a, .woocommerce-account .woocommerce-MyAccount-navigation a, .user-content a[href^="tel:"] {
  color: #2B4550;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.15s;
}
.link:focus, .woocommerce-privacy-policy-text a:focus, .woocommerce form.login p.woocommerce-LostPassword a:focus,
.woocommerce form.register p.woocommerce-LostPassword a:focus, .woocommerce-error a:focus,
.woocommerce-info a:focus,
.woocommerce-message a:focus, .woocommerce table.shop_table a:focus, .woocommerce .woocommerce-product-rating .woocommerce-review-link:focus, .woocommerce a.added_to_cart:focus, .woocommerce nav.woocommerce-pagination ul li a:focus, .woocommerce div.product form.cart .reset_variations:focus, .woocommerce div.product div.summary div.product_meta a:focus, .woocommerce-account .woocommerce-MyAccount-content a:focus, .woocommerce-account .woocommerce-MyAccount-navigation a:focus, .user-content a[href^="tel:"]:focus, .link:hover, .woocommerce-privacy-policy-text a:hover, .woocommerce form.login p.woocommerce-LostPassword a:hover,
.woocommerce form.register p.woocommerce-LostPassword a:hover, .woocommerce-error a:hover,
.woocommerce-info a:hover,
.woocommerce-message a:hover, .woocommerce table.shop_table a:hover, .woocommerce .woocommerce-product-rating .woocommerce-review-link:hover, .woocommerce a.added_to_cart:hover, .woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce div.product form.cart .reset_variations:hover, .woocommerce div.product div.summary div.product_meta a:hover, .woocommerce-account .woocommerce-MyAccount-content a:hover, .woocommerce-account .woocommerce-MyAccount-navigation a:hover, .user-content a[href^="tel:"]:hover {
  color: #406270;
}

/* inherit variant */
.link--inherit {
  color: inherit;
}
.link--inherit:focus, .link--inherit:hover {
  color: inherit;
  text-decoration: underline;
}

/* ------------------------------------------------------------------------ *\
 * Button
\* ------------------------------------------------------------------------ */
.button {
  background: #2B4550;
  border: 0;
  color: #FFFFFF;
  cursor: pointer;
  display: inline-flex;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: calc(1.25rem + 0.1875 * ((100vw - 48em) / 32));
  font-size: calc(1.25rem + 0.1875 * ((100vw - 23.333333333333332rem) / 47.777777777777786));
  font-weight: 700;
  line-height: 1.35em;
  margin: 0em 0em 1.35em;
  outline: 0;
  padding: 1.25em 2em 1em;
  text-decoration: none;
  transition: background-color 0.15s;
}
@media screen and (min-width: 1280px) {
  .button {
    font-size: 1.4375rem;
  }
}
@media screen and (max-width: 420px) {
  .button {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 80em) {
  .button {
    font-size: 1.4375rem;
  }
}
@media screen and (max-width: 48em) {
  .button {
    font-size: 1.25rem;
  }
}
.button:active {
  background-color: #17282F;
}

.button__icon {
  flex: 0 0 auto;
  margin-right: 0.65em;
  transform: translateY(0.1em);
}

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

/* ------------------------------------------------------------------------ *\
 * Input
\* ------------------------------------------------------------------------ */
.input, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox, .woocommerce form .form-row select, .woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea, .woocommerce #review_form #respond .comment-form-author input,
.woocommerce #review_form #respond .comment-form-email input, .woocommerce #review_form #respond textarea, .woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select, .woocommerce .quantity .qty {
  background: #FFFFFF;
  border: 2px solid #DADADA;
  border: 0.125rem solid #DADADA;
  border-radius: 0.25em;
  color: #000000;
  display: block;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: calc(1.125em + 0.125 * ((100vw - 48em) / 32));
  font-weight: 400;
  line-height: 1.45em;
  margin: 0px 0px 10px;
  margin: 0rem 0rem 0.625rem;
  outline: 0;
  padding: 0.8611111111em 1em 0.6388888889em 1em;
  text-overflow: ellipsis;
  transition: background-color 0.15s, background-size 0.15s, border-color 0.15s, color 0.15s;
  width: 100%;
}
@media screen and (min-width: 80em) {
  .input, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox, .woocommerce form .form-row select, .woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea, .woocommerce #review_form #respond .comment-form-author input,
.woocommerce #review_form #respond .comment-form-email input, .woocommerce #review_form #respond textarea, .woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select, .woocommerce .quantity .qty {
    font-size: 1.25em;
  }
}
@media screen and (max-width: 48em) {
  .input, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox, .woocommerce form .form-row select, .woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea, .woocommerce #review_form #respond .comment-form-author input,
.woocommerce #review_form #respond .comment-form-email input, .woocommerce #review_form #respond textarea, .woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select, .woocommerce .quantity .qty {
    font-size: 1.125em;
  }
}
.input:not(.input--disabled):active, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox:not(.input--disabled):active,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox:not(.input--disabled):active, .woocommerce form .form-row select:not(.input--disabled):active, .woocommerce form .form-row input.input-text:not(.input--disabled):active,
.woocommerce form .form-row textarea:not(.input--disabled):active, .woocommerce #review_form #respond .comment-form-author input:not(.input--disabled):active,
.woocommerce #review_form #respond .comment-form-email input:not(.input--disabled):active, .woocommerce #review_form #respond textarea:not(.input--disabled):active, .woocommerce .woocommerce-ordering select:not(.input--disabled):active, .woocommerce div.product form.cart .variations select:not(.input--disabled):active, .woocommerce .quantity .qty:not(.input--disabled):active, .input:not(.input--disabled):focus, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox:not(.input--disabled):focus,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox:not(.input--disabled):focus, .woocommerce form .form-row select:not(.input--disabled):focus, .woocommerce form .form-row input.input-text:not(.input--disabled):focus,
.woocommerce form .form-row textarea:not(.input--disabled):focus, .woocommerce #review_form #respond .comment-form-author input:not(.input--disabled):focus,
.woocommerce #review_form #respond .comment-form-email input:not(.input--disabled):focus, .woocommerce #review_form #respond textarea:not(.input--disabled):focus, .woocommerce .woocommerce-ordering select:not(.input--disabled):focus, .woocommerce div.product form.cart .variations select:not(.input--disabled):focus, .woocommerce .quantity .qty:not(.input--disabled):focus {
  border-color: #99B2AB;
}
.input::placeholder, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox::placeholder,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox::placeholder, .woocommerce form .form-row select::placeholder, .woocommerce form .form-row input.input-text::placeholder,
.woocommerce form .form-row textarea::placeholder, .woocommerce #review_form #respond .comment-form-author input::placeholder,
.woocommerce #review_form #respond .comment-form-email input::placeholder, .woocommerce #review_form #respond textarea::placeholder, .woocommerce .woocommerce-ordering select::placeholder, .woocommerce div.product form.cart .variations select::placeholder, .woocommerce .quantity .qty::placeholder {
  color: #252525;
  opacity: 1;
}

/* error variant */
.input--error, .nf-error .input, .nf-error .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox, .woocommerce form.login .nf-error input.woocommerce-form__input.woocommerce-form__input-checkbox,
.nf-error .woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register .nf-error input.woocommerce-form__input.woocommerce-form__input-checkbox, .nf-error .woocommerce form .form-row select, .woocommerce form .form-row .nf-error select, .nf-error .woocommerce form .form-row input.input-text, .woocommerce form .form-row .nf-error input.input-text,
.nf-error .woocommerce form .form-row textarea,
.woocommerce form .form-row .nf-error textarea, .nf-error .woocommerce #review_form #respond .comment-form-author input, .woocommerce #review_form #respond .comment-form-author .nf-error input,
.nf-error .woocommerce #review_form #respond .comment-form-email input,
.woocommerce #review_form #respond .comment-form-email .nf-error input, .nf-error .woocommerce #review_form #respond textarea, .woocommerce #review_form #respond .nf-error textarea, .nf-error .woocommerce .woocommerce-ordering select, .woocommerce .woocommerce-ordering .nf-error select, .nf-error .woocommerce div.product form.cart .variations select, .woocommerce div.product form.cart .variations .nf-error select, .nf-error .woocommerce .quantity .qty, .woocommerce .quantity .nf-error .qty {
  border-color: #C62828;
}

/* success variant */
.input--success, .nf-pass .input, .nf-pass .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox, .woocommerce form.login .nf-pass input.woocommerce-form__input.woocommerce-form__input-checkbox,
.nf-pass .woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register .nf-pass input.woocommerce-form__input.woocommerce-form__input-checkbox, .nf-pass .woocommerce form .form-row select, .woocommerce form .form-row .nf-pass select, .nf-pass .woocommerce form .form-row input.input-text, .woocommerce form .form-row .nf-pass input.input-text,
.nf-pass .woocommerce form .form-row textarea,
.woocommerce form .form-row .nf-pass textarea, .nf-pass .woocommerce #review_form #respond .comment-form-author input, .woocommerce #review_form #respond .comment-form-author .nf-pass input,
.nf-pass .woocommerce #review_form #respond .comment-form-email input,
.woocommerce #review_form #respond .comment-form-email .nf-pass input, .nf-pass .woocommerce #review_form #respond textarea, .woocommerce #review_form #respond .nf-pass textarea, .nf-pass .woocommerce .woocommerce-ordering select, .woocommerce .woocommerce-ordering .nf-pass select, .nf-pass .woocommerce div.product form.cart .variations select, .woocommerce div.product form.cart .variations .nf-pass select, .nf-pass .woocommerce .quantity .qty, .woocommerce .quantity .nf-pass .qty {
  border-color: #28C665;
}

/* select variant */
.input--select, .woocommerce form .form-row select, .woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select {
  cursor: pointer;
  text-indent: 0.01px;
}
.input--select::-ms-expand, .woocommerce form .form-row select::-ms-expand, .woocommerce .woocommerce-ordering select::-ms-expand, .woocommerce div.product form.cart .variations select::-ms-expand {
  display: none;
}

.input--select-arrow, .woocommerce form .form-row select, .woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512' fill='%23000000'%3E%3Cpath d='M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z'/%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-position: center right 1em;
  background-repeat: no-repeat;
  background-size: 0.75em;
  padding-right: calc(0.75em + 2em);
}

/* toggle variants */
.input--toggle, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox {
  border-width: 1px;
  border-width: 0.0625rem;
  cursor: pointer;
  display: inline-block;
  height: 1.5em;
  overflow: hidden;
  padding: 0;
  position: relative;
  vertical-align: middle;
  width: 1.5em;
}
.input--toggle::after, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox::after,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 0.75em;
  content: "";
  display: block;
  height: 100%;
  left: -999em;
  position: absolute;
  top: 0;
  transition: background-color 0.15s, left 0s 0.15s, transform 0.15s;
  width: 100%;
}
.input--toggle:checked::after, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox:checked::after,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox:checked::after {
  left: 0;
  transition: background-color 0.15s, transform 0.15s;
}
.input--toggle + .text--label, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox + .text--label,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox + .text--label {
  display: inline-block;
}

.input--toggle-checkbox:checked, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox:checked,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox:checked {
  background-color: #99B2AB;
  border-color: #99B2AB;
}
.input--toggle-checkbox::after, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox::after,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__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='%23FFFFFF'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E %3C!-- Font Awesome Pro 5.5.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --%3E");
  transform: rotate(90deg);
}
.input--toggle-checkbox:checked::after, .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox:checked::after,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox:checked::after {
  transform: rotate(0);
}

.input--toggle-radio {
  border-radius: 50%;
}
.input--toggle-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='%2399B2AB'%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");
  transform: scale(0);
}
.input--toggle-radio:checked::after {
  transform: scale(1);
}

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

/* select browser variants */
/* stylelint-disable selector-max-type, selector-no-vendor-prefix, selector-type-no-unknown */
/* IE */
_:-ms-input-placeholder,
:root .input--select,
:root .woocommerce form .form-row select,
:root .woocommerce .woocommerce-ordering select,
:root .woocommerce div.product form.cart .variations select {
  padding: 0.6388888889em calc(1em - 3px) calc(0.6388888889em - 2px);
}

_:-ms-input-placeholder,
:root .input--select-arrow,
:root .woocommerce form .form-row select,
:root .woocommerce .woocommerce-ordering select,
:root .woocommerce div.product form.cart .variations select {
  padding-right: calc(0.75em + 2em - 3px);
}

/* Chrome  */
@supports (-webkit-appearance: none) and (font-stretch: normal) and (not (-ms-accelerator: true)) {
  .input--select, .woocommerce form .form-row select, .woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select {
    padding: 0.8611111111em 1em 0.6388888889em 1em;
  }

  .input--select-arrow, .woocommerce form .form-row select, .woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select {
    padding-right: calc(0.75em + 2em);
  }
}
/* Safari */
_::-webkit-full-page-media,
_:future,
:root .input--select,
:root .woocommerce form .form-row select,
:root .woocommerce .woocommerce-ordering select,
:root .woocommerce div.product form.cart .variations select {
  padding: 0.8611111111em 1em 0.6388888889em 1em;
}

_::-webkit-full-page-media,
_:future,
:root .input--select-arrow,
:root .woocommerce form .form-row select,
:root .woocommerce .woocommerce-ordering select,
:root .woocommerce div.product form.cart .variations select {
  padding-right: calc(0.75em + 2em);
}

/* Edge */
@supports (-ms-ime-align: auto) {
  .input--select, .woocommerce form .form-row select, .woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select {
    padding: calc(0.8611111111em - 1px) calc(1em - 2px) calc(0.6388888889em - 1px) calc(1em - 2px);
  }

  .input--select-arrow, .woocommerce form .form-row select, .woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select {
    padding-right: calc(0.75em + 2em - 2px);
  }
}
/* Firefox */
@-moz-document url-prefix("") {
  .input--select, .woocommerce form .form-row select, .woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select {
    padding: 0.8611111111em calc(1em - 4px) 0.6388888889em calc(1em - 4px);
  }

  .input--select-arrow, .woocommerce form .form-row select, .woocommerce .woocommerce-ordering select, .woocommerce div.product form.cart .variations select {
    padding-right: calc(0.75em + 2em - 4px);
  }
}
/* stylelint-enable */
/* ------------------------------------------------------------------------ *\
 * Title
\* ------------------------------------------------------------------------ */
.title, .woocommerce-account .woocommerce-MyAccount-content form > h3, .woocommerce-account .woocommerce > h2, .woocommerce .woocommerce-order h2.woocommerce-column__title, .woocommerce .woocommerce-order h2.woocommerce-order-details__title, .woocommerce .checkout h3, .woocommerce .product .related > h2,
.woocommerce .product .upsells > h2, .woocommerce h1.page-title, .woocommerce .woocommerce-customer-details h2,
.woocommerce .woocommerce-order-details h2,
.woocommerce .woocommerce-order-downloads h2, .woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3, .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2, .woocommerce div.product .product_title, .woocommerce .cart-collaterals h2,
.woocommerce-page .cart-collaterals h2 {
  color: #000000;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: calc(1.4375em + 1.25 * ((100vw - 48em) / 32));
  font-weight: 700;
  line-height: 1.3043478261em;
  margin: 0em 0em 0.5em;
}
@media screen and (min-width: 80em) {
  .title, .woocommerce-account .woocommerce-MyAccount-content form > h3, .woocommerce-account .woocommerce > h2, .woocommerce .woocommerce-order h2.woocommerce-column__title, .woocommerce .woocommerce-order h2.woocommerce-order-details__title, .woocommerce .checkout h3, .woocommerce .product .related > h2,
.woocommerce .product .upsells > h2, .woocommerce h1.page-title, .woocommerce .woocommerce-customer-details h2,
.woocommerce .woocommerce-order-details h2,
.woocommerce .woocommerce-order-downloads h2, .woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3, .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2, .woocommerce div.product .product_title, .woocommerce .cart-collaterals h2,
.woocommerce-page .cart-collaterals h2 {
    font-size: 2.6875em;
  }
}
@media screen and (max-width: 48em) {
  .title, .woocommerce-account .woocommerce-MyAccount-content form > h3, .woocommerce-account .woocommerce > h2, .woocommerce .woocommerce-order h2.woocommerce-column__title, .woocommerce .woocommerce-order h2.woocommerce-order-details__title, .woocommerce .checkout h3, .woocommerce .product .related > h2,
.woocommerce .product .upsells > h2, .woocommerce h1.page-title, .woocommerce .woocommerce-customer-details h2,
.woocommerce .woocommerce-order-details h2,
.woocommerce .woocommerce-order-downloads h2, .woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3, .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2, .woocommerce div.product .product_title, .woocommerce .cart-collaterals h2,
.woocommerce-page .cart-collaterals h2 {
    font-size: 1.4375em;
  }
}

.title--h2 {
  color: #99B2AB;
  font-family: "SignPainter HouseScript", "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: calc(2.1875em + 0.5 * ((100vw - 48em) / 32));
  font-weight: 600;
  line-height: 1.0428571429em;
}

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

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

.title--h3 {
  color: #2B4550;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: calc(1.875em + 0.375 * ((100vw - 48em) / 32));
}

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

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

.title--h4 {
  font-size: 1.25em;
}

.title--h5 {
  font-size: 1.125em;
  font-weight: 600;
}

.title--h6 {
  font-size: 1em;
  font-weight: 600;
  margin-bottom: 0;
  text-transform: uppercase;
}

/* divider variant */
@media (min-width: 48em) {
  .title--divider {
    align-items: center;
    display: flex;
  }
  .title--divider::after {
    background: #DADADA;
    content: " ";
    display: block;
    flex: 1 1 0%;
    height: 0.1875rem;
  }
  .title--divider::after {
    margin-left: 0.25em;
  }
}

/* divider-center variant */
@media (min-width: 48em) {
  .title--divider-center {
    align-items: center;
    display: flex;
  }
  .title--divider-center::before, .title--divider-center::after {
    background: #DADADA;
    content: " ";
    display: block;
    flex: 1 1 0%;
    height: 0.1875rem;
  }
  .title--divider-center::before {
    margin-right: 0.25em;
  }
  .title--divider-center::after {
    margin-left: 0.25em;
  }
}

/* featured variant */
.title--featured {
  font-size: calc(2.8125em + 1.75 * ((100vw - 48em) / 32));
}
@media screen and (min-width: 80em) {
  .title--featured {
    font-size: 4.5625em;
  }
}
@media screen and (max-width: 48em) {
  .title--featured {
    font-size: 2.8125em;
  }
}

/* ------------------------------------------------------------------------ *\
 * Text
\* ------------------------------------------------------------------------ */
.text, .woocommerce-order > p, .woocommerce-privacy-policy-text p, .woocommerce-account .woocommerce fieldset, .woocommerce-account .addresses address, .woocommerce form.login p.woocommerce-LostPassword,
.woocommerce form.register p.woocommerce-LostPassword, .woocommerce .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-customer-details address, .woocommerce table.shop_attributes, .woocommerce #review_form #respond label, .woocommerce #review_form #respond span.comment-reply-title, .woocommerce .woocommerce-product-rating, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce .woocommerce-result-count, .woocommerce div.product form.cart .reset_variations, .woocommerce div.product div.summary div.product_meta, .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce-account .woocommerce-MyAccount-navigation ul {
  color: #000000;
  display: block;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: calc(1.125em + 0.125 * ((100vw - 48em) / 32));
  font-weight: 400;
  line-height: 1.45em;
  margin: 0em 0em 1.45em;
}
@media screen and (min-width: 80em) {
  .text, .woocommerce-order > p, .woocommerce-privacy-policy-text p, .woocommerce-account .woocommerce fieldset, .woocommerce-account .addresses address, .woocommerce form.login p.woocommerce-LostPassword,
.woocommerce form.register p.woocommerce-LostPassword, .woocommerce .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-customer-details address, .woocommerce table.shop_attributes, .woocommerce #review_form #respond label, .woocommerce #review_form #respond span.comment-reply-title, .woocommerce .woocommerce-product-rating, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce .woocommerce-result-count, .woocommerce div.product form.cart .reset_variations, .woocommerce div.product div.summary div.product_meta, .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce-account .woocommerce-MyAccount-navigation ul {
    font-size: 1.25em;
  }
}
@media screen and (max-width: 48em) {
  .text, .woocommerce-order > p, .woocommerce-privacy-policy-text p, .woocommerce-account .woocommerce fieldset, .woocommerce-account .addresses address, .woocommerce form.login p.woocommerce-LostPassword,
.woocommerce form.register p.woocommerce-LostPassword, .woocommerce .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-customer-details address, .woocommerce table.shop_attributes, .woocommerce #review_form #respond label, .woocommerce #review_form #respond span.comment-reply-title, .woocommerce .woocommerce-product-rating, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce .woocommerce-result-count, .woocommerce div.product form.cart .reset_variations, .woocommerce div.product div.summary div.product_meta, .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce-account .woocommerce-MyAccount-navigation ul {
    font-size: 1.125em;
  }
}
.text .text, .woocommerce-order > p .text, .woocommerce-privacy-policy-text p .text, .woocommerce-account .woocommerce fieldset .text, .woocommerce-account .addresses address .text, .woocommerce form.login p.woocommerce-LostPassword .text,
.woocommerce form.register p.woocommerce-LostPassword .text, .woocommerce .woocommerce-order p.woocommerce-notice .text, .woocommerce .woocommerce-customer-details address .text, .woocommerce table.shop_attributes .text, .woocommerce #review_form #respond label .text, .woocommerce #review_form #respond span.comment-reply-title .text, .woocommerce .woocommerce-product-rating .text, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .text, .woocommerce .woocommerce-result-count .text, .woocommerce div.product form.cart .reset_variations .text, .woocommerce div.product div.summary div.product_meta .text, .woocommerce-account .woocommerce-MyAccount-content p .text, .woocommerce-account .woocommerce-MyAccount-navigation ul .text, .text .woocommerce-order > p, .text .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .text p, .text .woocommerce-account .woocommerce fieldset, .woocommerce-account .woocommerce .text fieldset, .text .woocommerce-account .addresses address, .woocommerce-account .addresses .text address, .text .woocommerce form.login p.woocommerce-LostPassword, .woocommerce form.login .text p.woocommerce-LostPassword,
.text .woocommerce form.register p.woocommerce-LostPassword,
.woocommerce form.register .text p.woocommerce-LostPassword, .text .woocommerce .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order .text p.woocommerce-notice, .text .woocommerce .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details .text address, .text .woocommerce table.shop_attributes, .woocommerce .text table.shop_attributes, .text .woocommerce #review_form #respond label, .woocommerce #review_form #respond .text label, .text .woocommerce #review_form #respond span.comment-reply-title, .woocommerce #review_form #respond .text span.comment-reply-title, .text .woocommerce .woocommerce-product-rating, .woocommerce .text .woocommerce-product-rating, .text .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text .text p.meta, .text .woocommerce .woocommerce-result-count, .woocommerce .text .woocommerce-result-count, .text .woocommerce div.product form.cart .reset_variations, .woocommerce div.product form.cart .text .reset_variations, .text .woocommerce div.product div.summary div.product_meta, .woocommerce div.product div.summary .text div.product_meta, .text .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce-account .woocommerce-MyAccount-content .text p, .text .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce-account .woocommerce-MyAccount-navigation .text ul, .woocommerce-order > p .woocommerce-order > p, .woocommerce-privacy-policy-text p .woocommerce-order > p, .woocommerce-order > p .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce-order > p p, .woocommerce-privacy-policy-text p p, .woocommerce-account .woocommerce fieldset .woocommerce-order > p, .woocommerce-account .woocommerce fieldset .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce-account .woocommerce fieldset p, .woocommerce-order > p .woocommerce-account .woocommerce fieldset, .woocommerce-privacy-policy-text p .woocommerce-account .woocommerce fieldset, .woocommerce-account .woocommerce .woocommerce-order > p fieldset, .woocommerce-account .woocommerce .woocommerce-privacy-policy-text p fieldset, .woocommerce-privacy-policy-text .woocommerce-account .woocommerce p fieldset, .woocommerce-account .woocommerce fieldset fieldset, .woocommerce-account .addresses address .woocommerce-order > p, .woocommerce-account .addresses address .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce-account .addresses address p, .woocommerce-account .addresses address .woocommerce fieldset, .woocommerce-account .woocommerce .addresses address fieldset, .woocommerce-order > p .woocommerce-account .addresses address, .woocommerce-privacy-policy-text p .woocommerce-account .addresses address, .woocommerce-account .woocommerce fieldset .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce-order > p address, .woocommerce-account .addresses .woocommerce-privacy-policy-text p address, .woocommerce-privacy-policy-text .woocommerce-account .addresses p address, .woocommerce-account .addresses .woocommerce fieldset address, .woocommerce-account .woocommerce .addresses fieldset address, .woocommerce-account .addresses address address, .woocommerce form.login p.woocommerce-LostPassword .woocommerce-order > p, .woocommerce form.login p.woocommerce-LostPassword .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce form.login p.woocommerce-LostPassword p, .woocommerce-account .woocommerce form.login p.woocommerce-LostPassword fieldset, .woocommerce form.login p.woocommerce-LostPassword .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce form.login p.woocommerce-LostPassword address,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce-order > p,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce-privacy-policy-text p,
.woocommerce-privacy-policy-text .woocommerce form.register p.woocommerce-LostPassword p,
.woocommerce-account .woocommerce form.register p.woocommerce-LostPassword fieldset,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce-account .addresses address,
.woocommerce-account .addresses .woocommerce form.register p.woocommerce-LostPassword address, .woocommerce-order > p .woocommerce form.login p.woocommerce-LostPassword, .woocommerce-privacy-policy-text p .woocommerce form.login p.woocommerce-LostPassword, .woocommerce-account .woocommerce fieldset .woocommerce form.login p.woocommerce-LostPassword, .woocommerce-account .addresses address .woocommerce form.login p.woocommerce-LostPassword, .woocommerce form.login .woocommerce-order > p p.woocommerce-LostPassword, .woocommerce form.login .woocommerce-privacy-policy-text p p.woocommerce-LostPassword, .woocommerce-privacy-policy-text .woocommerce form.login p p.woocommerce-LostPassword, .woocommerce-account .woocommerce form.login fieldset p.woocommerce-LostPassword, .woocommerce form.login .woocommerce-account .addresses address p.woocommerce-LostPassword, .woocommerce-account .addresses .woocommerce form.login address p.woocommerce-LostPassword, .woocommerce form.login p.woocommerce-LostPassword p.woocommerce-LostPassword,
.woocommerce form.register p.woocommerce-LostPassword form.login p.woocommerce-LostPassword,
.woocommerce form.login form.register p.woocommerce-LostPassword p.woocommerce-LostPassword,
.woocommerce-order > p .woocommerce form.register p.woocommerce-LostPassword,
.woocommerce-privacy-policy-text p .woocommerce form.register p.woocommerce-LostPassword,
.woocommerce-account .woocommerce fieldset .woocommerce form.register p.woocommerce-LostPassword,
.woocommerce-account .addresses address .woocommerce form.register p.woocommerce-LostPassword,
.woocommerce form.register .woocommerce-order > p p.woocommerce-LostPassword,
.woocommerce form.register .woocommerce-privacy-policy-text p p.woocommerce-LostPassword,
.woocommerce-privacy-policy-text .woocommerce form.register p p.woocommerce-LostPassword,
.woocommerce-account .woocommerce form.register fieldset p.woocommerce-LostPassword,
.woocommerce form.register .woocommerce-account .addresses address p.woocommerce-LostPassword,
.woocommerce-account .addresses .woocommerce form.register address p.woocommerce-LostPassword,
.woocommerce form.login p.woocommerce-LostPassword form.register p.woocommerce-LostPassword,
.woocommerce form.register form.login p.woocommerce-LostPassword p.woocommerce-LostPassword,
.woocommerce form.register p.woocommerce-LostPassword p.woocommerce-LostPassword, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce-order > p, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce .woocommerce-order p.woocommerce-notice p, .woocommerce-account .woocommerce .woocommerce-order p.woocommerce-notice fieldset, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce .woocommerce-order p.woocommerce-notice address, .woocommerce .woocommerce-order p.woocommerce-notice form.login p.woocommerce-LostPassword, .woocommerce form.login .woocommerce-order p.woocommerce-notice p.woocommerce-LostPassword,
.woocommerce .woocommerce-order p.woocommerce-notice form.register p.woocommerce-LostPassword,
.woocommerce form.register .woocommerce-order p.woocommerce-notice p.woocommerce-LostPassword, .woocommerce-order > p .woocommerce .woocommerce-order p.woocommerce-notice, .woocommerce-privacy-policy-text p .woocommerce .woocommerce-order p.woocommerce-notice, .woocommerce-account .woocommerce fieldset .woocommerce .woocommerce-order p.woocommerce-notice, .woocommerce-account .addresses address .woocommerce .woocommerce-order p.woocommerce-notice, .woocommerce form.login p.woocommerce-LostPassword .woocommerce .woocommerce-order p.woocommerce-notice,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order > p p.woocommerce-notice, .woocommerce .woocommerce-order .woocommerce-privacy-policy-text p p.woocommerce-notice, .woocommerce-privacy-policy-text .woocommerce .woocommerce-order p p.woocommerce-notice, .woocommerce-account .woocommerce .woocommerce-order fieldset p.woocommerce-notice, .woocommerce .woocommerce-order .woocommerce-account .addresses address p.woocommerce-notice, .woocommerce-account .addresses .woocommerce .woocommerce-order address p.woocommerce-notice, .woocommerce .woocommerce-order form.login p.woocommerce-LostPassword p.woocommerce-notice, .woocommerce form.login .woocommerce-order p.woocommerce-LostPassword p.woocommerce-notice,
.woocommerce .woocommerce-order form.register p.woocommerce-LostPassword p.woocommerce-notice,
.woocommerce form.register .woocommerce-order p.woocommerce-LostPassword p.woocommerce-notice, .woocommerce .woocommerce-order p.woocommerce-notice p.woocommerce-notice, .woocommerce .woocommerce-customer-details address .woocommerce-order > p, .woocommerce .woocommerce-customer-details address .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce .woocommerce-customer-details address p, .woocommerce-account .woocommerce .woocommerce-customer-details address fieldset, .woocommerce .woocommerce-customer-details address .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce .woocommerce-customer-details address address, .woocommerce .woocommerce-customer-details address form.login p.woocommerce-LostPassword, .woocommerce form.login .woocommerce-customer-details address p.woocommerce-LostPassword,
.woocommerce .woocommerce-customer-details address form.register p.woocommerce-LostPassword,
.woocommerce form.register .woocommerce-customer-details address p.woocommerce-LostPassword, .woocommerce .woocommerce-customer-details address .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order .woocommerce-customer-details address p.woocommerce-notice, .woocommerce-order > p .woocommerce .woocommerce-customer-details address, .woocommerce-privacy-policy-text p .woocommerce .woocommerce-customer-details address, .woocommerce-account .woocommerce fieldset .woocommerce .woocommerce-customer-details address, .woocommerce-account .addresses address .woocommerce .woocommerce-customer-details address, .woocommerce form.login p.woocommerce-LostPassword .woocommerce .woocommerce-customer-details address,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce .woocommerce-customer-details address, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details .woocommerce-order > p address, .woocommerce .woocommerce-customer-details .woocommerce-privacy-policy-text p address, .woocommerce-privacy-policy-text .woocommerce .woocommerce-customer-details p address, .woocommerce-account .woocommerce .woocommerce-customer-details fieldset address, .woocommerce .woocommerce-customer-details .woocommerce-account .addresses address address, .woocommerce-account .addresses .woocommerce .woocommerce-customer-details address address, .woocommerce .woocommerce-customer-details form.login p.woocommerce-LostPassword address, .woocommerce form.login .woocommerce-customer-details p.woocommerce-LostPassword address,
.woocommerce .woocommerce-customer-details form.register p.woocommerce-LostPassword address,
.woocommerce form.register .woocommerce-customer-details p.woocommerce-LostPassword address, .woocommerce .woocommerce-customer-details .woocommerce-order p.woocommerce-notice address, .woocommerce .woocommerce-order .woocommerce-customer-details p.woocommerce-notice address, .woocommerce .woocommerce-customer-details address address, .woocommerce table.shop_attributes .woocommerce-order > p, .woocommerce table.shop_attributes .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce table.shop_attributes p, .woocommerce-account .woocommerce table.shop_attributes fieldset, .woocommerce table.shop_attributes .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce table.shop_attributes address, .woocommerce table.shop_attributes form.login p.woocommerce-LostPassword, .woocommerce form.login table.shop_attributes p.woocommerce-LostPassword,
.woocommerce table.shop_attributes form.register p.woocommerce-LostPassword,
.woocommerce form.register table.shop_attributes p.woocommerce-LostPassword, .woocommerce table.shop_attributes .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order table.shop_attributes p.woocommerce-notice, .woocommerce table.shop_attributes .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details table.shop_attributes address, .woocommerce-order > p .woocommerce table.shop_attributes, .woocommerce-privacy-policy-text p .woocommerce table.shop_attributes, .woocommerce-account .woocommerce fieldset .woocommerce table.shop_attributes, .woocommerce-account .addresses address .woocommerce table.shop_attributes, .woocommerce form.login p.woocommerce-LostPassword .woocommerce table.shop_attributes,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce table.shop_attributes, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce table.shop_attributes, .woocommerce .woocommerce-customer-details address .woocommerce table.shop_attributes, .woocommerce .woocommerce-order > p table.shop_attributes, .woocommerce .woocommerce-privacy-policy-text p table.shop_attributes, .woocommerce-privacy-policy-text .woocommerce p table.shop_attributes, .woocommerce-account .woocommerce fieldset table.shop_attributes, .woocommerce .woocommerce-account .addresses address table.shop_attributes, .woocommerce-account .addresses .woocommerce address table.shop_attributes, .woocommerce form.login p.woocommerce-LostPassword table.shop_attributes,
.woocommerce form.register p.woocommerce-LostPassword table.shop_attributes, .woocommerce .woocommerce-order p.woocommerce-notice table.shop_attributes, .woocommerce .woocommerce-customer-details address table.shop_attributes, .woocommerce table.shop_attributes table.shop_attributes, .woocommerce #review_form #respond label .woocommerce-order > p, .woocommerce #review_form #respond label .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce #review_form #respond label p, .woocommerce-account .woocommerce #review_form #respond label fieldset, .woocommerce #review_form #respond label .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce #review_form #respond label address, .woocommerce #review_form #respond label form.login p.woocommerce-LostPassword, .woocommerce form.login #review_form #respond label p.woocommerce-LostPassword,
.woocommerce #review_form #respond label form.register p.woocommerce-LostPassword,
.woocommerce form.register #review_form #respond label p.woocommerce-LostPassword, .woocommerce #review_form #respond label .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order #review_form #respond label p.woocommerce-notice, .woocommerce #review_form #respond label .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details #review_form #respond label address, .woocommerce #review_form #respond label table.shop_attributes, .woocommerce-order > p .woocommerce #review_form #respond label, .woocommerce-privacy-policy-text p .woocommerce #review_form #respond label, .woocommerce-account .woocommerce fieldset .woocommerce #review_form #respond label, .woocommerce-account .addresses address .woocommerce #review_form #respond label, .woocommerce form.login p.woocommerce-LostPassword .woocommerce #review_form #respond label,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce #review_form #respond label, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce #review_form #respond label, .woocommerce .woocommerce-customer-details address .woocommerce #review_form #respond label, .woocommerce table.shop_attributes .woocommerce #review_form #respond label, .woocommerce #review_form #respond .woocommerce-order > p label, .woocommerce #review_form #respond .woocommerce-privacy-policy-text p label, .woocommerce-privacy-policy-text .woocommerce #review_form #respond p label, .woocommerce-account .woocommerce #review_form #respond fieldset label, .woocommerce #review_form #respond .woocommerce-account .addresses address label, .woocommerce-account .addresses .woocommerce #review_form #respond address label, .woocommerce #review_form #respond form.login p.woocommerce-LostPassword label, .woocommerce form.login #review_form #respond p.woocommerce-LostPassword label,
.woocommerce #review_form #respond form.register p.woocommerce-LostPassword label,
.woocommerce form.register #review_form #respond p.woocommerce-LostPassword label, .woocommerce #review_form #respond .woocommerce-order p.woocommerce-notice label, .woocommerce .woocommerce-order #review_form #respond p.woocommerce-notice label, .woocommerce #review_form #respond .woocommerce-customer-details address label, .woocommerce .woocommerce-customer-details #review_form #respond address label, .woocommerce #review_form #respond table.shop_attributes label, .woocommerce #review_form #respond label label, .woocommerce #review_form #respond span.comment-reply-title .woocommerce-order > p, .woocommerce #review_form #respond span.comment-reply-title .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce #review_form #respond span.comment-reply-title p, .woocommerce-account .woocommerce #review_form #respond span.comment-reply-title fieldset, .woocommerce #review_form #respond span.comment-reply-title .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce #review_form #respond span.comment-reply-title address, .woocommerce #review_form #respond span.comment-reply-title form.login p.woocommerce-LostPassword, .woocommerce form.login #review_form #respond span.comment-reply-title p.woocommerce-LostPassword,
.woocommerce #review_form #respond span.comment-reply-title form.register p.woocommerce-LostPassword,
.woocommerce form.register #review_form #respond span.comment-reply-title p.woocommerce-LostPassword, .woocommerce #review_form #respond span.comment-reply-title .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order #review_form #respond span.comment-reply-title p.woocommerce-notice, .woocommerce #review_form #respond span.comment-reply-title .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details #review_form #respond span.comment-reply-title address, .woocommerce #review_form #respond span.comment-reply-title table.shop_attributes, .woocommerce #review_form #respond span.comment-reply-title label, .woocommerce-order > p .woocommerce #review_form #respond span.comment-reply-title, .woocommerce-privacy-policy-text p .woocommerce #review_form #respond span.comment-reply-title, .woocommerce-account .woocommerce fieldset .woocommerce #review_form #respond span.comment-reply-title, .woocommerce-account .addresses address .woocommerce #review_form #respond span.comment-reply-title, .woocommerce form.login p.woocommerce-LostPassword .woocommerce #review_form #respond span.comment-reply-title,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce #review_form #respond span.comment-reply-title, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce #review_form #respond span.comment-reply-title, .woocommerce .woocommerce-customer-details address .woocommerce #review_form #respond span.comment-reply-title, .woocommerce table.shop_attributes .woocommerce #review_form #respond span.comment-reply-title, .woocommerce #review_form #respond label .woocommerce #review_form #respond span.comment-reply-title, .woocommerce #review_form #respond .woocommerce-order > p span.comment-reply-title, .woocommerce #review_form #respond .woocommerce-privacy-policy-text p span.comment-reply-title, .woocommerce-privacy-policy-text .woocommerce #review_form #respond p span.comment-reply-title, .woocommerce-account .woocommerce #review_form #respond fieldset span.comment-reply-title, .woocommerce #review_form #respond .woocommerce-account .addresses address span.comment-reply-title, .woocommerce-account .addresses .woocommerce #review_form #respond address span.comment-reply-title, .woocommerce #review_form #respond form.login p.woocommerce-LostPassword span.comment-reply-title, .woocommerce form.login #review_form #respond p.woocommerce-LostPassword span.comment-reply-title,
.woocommerce #review_form #respond form.register p.woocommerce-LostPassword span.comment-reply-title,
.woocommerce form.register #review_form #respond p.woocommerce-LostPassword span.comment-reply-title, .woocommerce #review_form #respond .woocommerce-order p.woocommerce-notice span.comment-reply-title, .woocommerce .woocommerce-order #review_form #respond p.woocommerce-notice span.comment-reply-title, .woocommerce #review_form #respond .woocommerce-customer-details address span.comment-reply-title, .woocommerce .woocommerce-customer-details #review_form #respond address span.comment-reply-title, .woocommerce #review_form #respond table.shop_attributes span.comment-reply-title, .woocommerce #review_form #respond label span.comment-reply-title, .woocommerce #review_form #respond span.comment-reply-title span.comment-reply-title, .woocommerce .woocommerce-product-rating .woocommerce-order > p, .woocommerce .woocommerce-product-rating .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce .woocommerce-product-rating p, .woocommerce-account .woocommerce .woocommerce-product-rating fieldset, .woocommerce .woocommerce-product-rating .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce .woocommerce-product-rating address, .woocommerce .woocommerce-product-rating form.login p.woocommerce-LostPassword, .woocommerce form.login .woocommerce-product-rating p.woocommerce-LostPassword,
.woocommerce .woocommerce-product-rating form.register p.woocommerce-LostPassword,
.woocommerce form.register .woocommerce-product-rating p.woocommerce-LostPassword, .woocommerce .woocommerce-product-rating .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order .woocommerce-product-rating p.woocommerce-notice, .woocommerce .woocommerce-product-rating .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details .woocommerce-product-rating address, .woocommerce .woocommerce-product-rating table.shop_attributes, .woocommerce .woocommerce-product-rating #review_form #respond label, .woocommerce #review_form #respond .woocommerce-product-rating label, .woocommerce .woocommerce-product-rating #review_form #respond span.comment-reply-title, .woocommerce #review_form #respond .woocommerce-product-rating span.comment-reply-title, .woocommerce-order > p .woocommerce .woocommerce-product-rating, .woocommerce-privacy-policy-text p .woocommerce .woocommerce-product-rating, .woocommerce-account .woocommerce fieldset .woocommerce .woocommerce-product-rating, .woocommerce-account .addresses address .woocommerce .woocommerce-product-rating, .woocommerce form.login p.woocommerce-LostPassword .woocommerce .woocommerce-product-rating,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce .woocommerce-product-rating, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce .woocommerce-product-rating, .woocommerce .woocommerce-customer-details address .woocommerce .woocommerce-product-rating, .woocommerce table.shop_attributes .woocommerce .woocommerce-product-rating, .woocommerce #review_form #respond label .woocommerce .woocommerce-product-rating, .woocommerce #review_form #respond span.comment-reply-title .woocommerce .woocommerce-product-rating, .woocommerce .woocommerce-order > p .woocommerce-product-rating, .woocommerce .woocommerce-privacy-policy-text p .woocommerce-product-rating, .woocommerce-privacy-policy-text .woocommerce p .woocommerce-product-rating, .woocommerce-account .woocommerce fieldset .woocommerce-product-rating, .woocommerce .woocommerce-account .addresses address .woocommerce-product-rating, .woocommerce-account .addresses .woocommerce address .woocommerce-product-rating, .woocommerce form.login p.woocommerce-LostPassword .woocommerce-product-rating,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce-product-rating, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce-product-rating, .woocommerce .woocommerce-customer-details address .woocommerce-product-rating, .woocommerce table.shop_attributes .woocommerce-product-rating, .woocommerce #review_form #respond label .woocommerce-product-rating, .woocommerce #review_form #respond span.comment-reply-title .woocommerce-product-rating, .woocommerce .woocommerce-product-rating .woocommerce-product-rating, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-order > p, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta p, .woocommerce-account .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta fieldset, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta address, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta form.login p.woocommerce-LostPassword, .woocommerce form.login #reviews #comments ol.commentlist li .comment-text p.meta p.woocommerce-LostPassword,
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta form.register p.woocommerce-LostPassword,
.woocommerce form.register #reviews #comments ol.commentlist li .comment-text p.meta p.woocommerce-LostPassword, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order #reviews #comments ol.commentlist li .comment-text p.meta p.woocommerce-notice, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details #reviews #comments ol.commentlist li .comment-text p.meta address, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta table.shop_attributes, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta #review_form #respond label, .woocommerce #review_form #respond #reviews #comments ol.commentlist li .comment-text p.meta label, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta #review_form #respond span.comment-reply-title, .woocommerce #review_form #respond #reviews #comments ol.commentlist li .comment-text p.meta span.comment-reply-title, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-product-rating, .woocommerce-order > p .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce-privacy-policy-text p .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce-account .woocommerce fieldset .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce-account .addresses address .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce form.login p.woocommerce-LostPassword .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce .woocommerce-customer-details address .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce table.shop_attributes .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce #review_form #respond label .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce #review_form #respond span.comment-reply-title .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce .woocommerce-product-rating .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-order > p p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-privacy-policy-text p p.meta, .woocommerce-privacy-policy-text .woocommerce #reviews #comments ol.commentlist li .comment-text p p.meta, .woocommerce-account .woocommerce #reviews #comments ol.commentlist li .comment-text fieldset p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-account .addresses address p.meta, .woocommerce-account .addresses .woocommerce #reviews #comments ol.commentlist li .comment-text address p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text form.login p.woocommerce-LostPassword p.meta, .woocommerce form.login #reviews #comments ol.commentlist li .comment-text p.woocommerce-LostPassword p.meta,
.woocommerce #reviews #comments ol.commentlist li .comment-text form.register p.woocommerce-LostPassword p.meta,
.woocommerce form.register #reviews #comments ol.commentlist li .comment-text p.woocommerce-LostPassword p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-order p.woocommerce-notice p.meta, .woocommerce .woocommerce-order #reviews #comments ol.commentlist li .comment-text p.woocommerce-notice p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-customer-details address p.meta, .woocommerce .woocommerce-customer-details #reviews #comments ol.commentlist li .comment-text address p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text table.shop_attributes p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text #review_form #respond label p.meta, .woocommerce #review_form #respond #reviews #comments ol.commentlist li .comment-text label p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text #review_form #respond span.comment-reply-title p.meta, .woocommerce #review_form #respond #reviews #comments ol.commentlist li .comment-text span.comment-reply-title p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-product-rating p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta p.meta, .woocommerce .woocommerce-result-count .woocommerce-order > p, .woocommerce .woocommerce-result-count .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce .woocommerce-result-count p, .woocommerce-account .woocommerce .woocommerce-result-count fieldset, .woocommerce .woocommerce-result-count .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce .woocommerce-result-count address, .woocommerce .woocommerce-result-count form.login p.woocommerce-LostPassword, .woocommerce form.login .woocommerce-result-count p.woocommerce-LostPassword,
.woocommerce .woocommerce-result-count form.register p.woocommerce-LostPassword,
.woocommerce form.register .woocommerce-result-count p.woocommerce-LostPassword, .woocommerce .woocommerce-result-count .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order .woocommerce-result-count p.woocommerce-notice, .woocommerce .woocommerce-result-count .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details .woocommerce-result-count address, .woocommerce .woocommerce-result-count table.shop_attributes, .woocommerce .woocommerce-result-count #review_form #respond label, .woocommerce #review_form #respond .woocommerce-result-count label, .woocommerce .woocommerce-result-count #review_form #respond span.comment-reply-title, .woocommerce #review_form #respond .woocommerce-result-count span.comment-reply-title, .woocommerce .woocommerce-result-count .woocommerce-product-rating, .woocommerce .woocommerce-result-count #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-result-count p.meta, .woocommerce-order > p .woocommerce .woocommerce-result-count, .woocommerce-privacy-policy-text p .woocommerce .woocommerce-result-count, .woocommerce-account .woocommerce fieldset .woocommerce .woocommerce-result-count, .woocommerce-account .addresses address .woocommerce .woocommerce-result-count, .woocommerce form.login p.woocommerce-LostPassword .woocommerce .woocommerce-result-count,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-customer-details address .woocommerce .woocommerce-result-count, .woocommerce table.shop_attributes .woocommerce .woocommerce-result-count, .woocommerce #review_form #respond label .woocommerce .woocommerce-result-count, .woocommerce #review_form #respond span.comment-reply-title .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-product-rating .woocommerce .woocommerce-result-count, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-order > p .woocommerce-result-count, .woocommerce .woocommerce-privacy-policy-text p .woocommerce-result-count, .woocommerce-privacy-policy-text .woocommerce p .woocommerce-result-count, .woocommerce-account .woocommerce fieldset .woocommerce-result-count, .woocommerce .woocommerce-account .addresses address .woocommerce-result-count, .woocommerce-account .addresses .woocommerce address .woocommerce-result-count, .woocommerce form.login p.woocommerce-LostPassword .woocommerce-result-count,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce-result-count, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce-result-count, .woocommerce .woocommerce-customer-details address .woocommerce-result-count, .woocommerce table.shop_attributes .woocommerce-result-count, .woocommerce #review_form #respond label .woocommerce-result-count, .woocommerce #review_form #respond span.comment-reply-title .woocommerce-result-count, .woocommerce .woocommerce-product-rating .woocommerce-result-count, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-result-count, .woocommerce .woocommerce-result-count .woocommerce-result-count, .woocommerce div.product form.cart .reset_variations .woocommerce-order > p, .woocommerce div.product form.cart .reset_variations .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce div.product form.cart .reset_variations p, .woocommerce-account .woocommerce div.product form.cart .reset_variations fieldset, .woocommerce div.product form.cart .reset_variations .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce div.product form.cart .reset_variations address, .woocommerce div.product form.cart .reset_variations form.login p.woocommerce-LostPassword, .woocommerce form.login div.product form.cart .reset_variations p.woocommerce-LostPassword,
.woocommerce div.product form.cart .reset_variations form.register p.woocommerce-LostPassword,
.woocommerce form.register div.product form.cart .reset_variations p.woocommerce-LostPassword, .woocommerce div.product form.cart .reset_variations .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order div.product form.cart .reset_variations p.woocommerce-notice, .woocommerce div.product form.cart .reset_variations .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details div.product form.cart .reset_variations address, .woocommerce div.product form.cart .reset_variations table.shop_attributes, .woocommerce div.product form.cart .reset_variations #review_form #respond label, .woocommerce #review_form #respond div.product form.cart .reset_variations label, .woocommerce div.product form.cart .reset_variations #review_form #respond span.comment-reply-title, .woocommerce #review_form #respond div.product form.cart .reset_variations span.comment-reply-title, .woocommerce div.product form.cart .reset_variations .woocommerce-product-rating, .woocommerce div.product form.cart .reset_variations #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text div.product form.cart .reset_variations p.meta, .woocommerce div.product form.cart .reset_variations .woocommerce-result-count, .woocommerce-order > p .woocommerce div.product form.cart .reset_variations, .woocommerce-privacy-policy-text p .woocommerce div.product form.cart .reset_variations, .woocommerce-account .woocommerce fieldset .woocommerce div.product form.cart .reset_variations, .woocommerce-account .addresses address .woocommerce div.product form.cart .reset_variations, .woocommerce form.login p.woocommerce-LostPassword .woocommerce div.product form.cart .reset_variations,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce div.product form.cart .reset_variations, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce div.product form.cart .reset_variations, .woocommerce .woocommerce-customer-details address .woocommerce div.product form.cart .reset_variations, .woocommerce table.shop_attributes .woocommerce div.product form.cart .reset_variations, .woocommerce #review_form #respond label .woocommerce div.product form.cart .reset_variations, .woocommerce #review_form #respond span.comment-reply-title .woocommerce div.product form.cart .reset_variations, .woocommerce .woocommerce-product-rating .woocommerce div.product form.cart .reset_variations, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce div.product form.cart .reset_variations, .woocommerce .woocommerce-result-count .woocommerce div.product form.cart .reset_variations, .woocommerce div.product form.cart .woocommerce-order > p .reset_variations, .woocommerce div.product form.cart .woocommerce-privacy-policy-text p .reset_variations, .woocommerce-privacy-policy-text .woocommerce div.product form.cart p .reset_variations, .woocommerce-account .woocommerce div.product form.cart fieldset .reset_variations, .woocommerce div.product form.cart .woocommerce-account .addresses address .reset_variations, .woocommerce-account .addresses .woocommerce div.product form.cart address .reset_variations, .woocommerce div.product form.cart form.login p.woocommerce-LostPassword .reset_variations, .woocommerce form.login div.product form.cart p.woocommerce-LostPassword .reset_variations,
.woocommerce div.product form.cart form.register p.woocommerce-LostPassword .reset_variations,
.woocommerce form.register div.product form.cart p.woocommerce-LostPassword .reset_variations, .woocommerce div.product form.cart .woocommerce-order p.woocommerce-notice .reset_variations, .woocommerce .woocommerce-order div.product form.cart p.woocommerce-notice .reset_variations, .woocommerce div.product form.cart .woocommerce-customer-details address .reset_variations, .woocommerce .woocommerce-customer-details div.product form.cart address .reset_variations, .woocommerce div.product form.cart table.shop_attributes .reset_variations, .woocommerce div.product form.cart #review_form #respond label .reset_variations, .woocommerce #review_form #respond div.product form.cart label .reset_variations, .woocommerce div.product form.cart #review_form #respond span.comment-reply-title .reset_variations, .woocommerce #review_form #respond div.product form.cart span.comment-reply-title .reset_variations, .woocommerce div.product form.cart .woocommerce-product-rating .reset_variations, .woocommerce div.product form.cart #reviews #comments ol.commentlist li .comment-text p.meta .reset_variations, .woocommerce #reviews #comments ol.commentlist li .comment-text div.product form.cart p.meta .reset_variations, .woocommerce div.product form.cart .woocommerce-result-count .reset_variations, .woocommerce div.product form.cart .reset_variations .reset_variations, .woocommerce div.product div.summary div.product_meta .woocommerce-order > p, .woocommerce div.product div.summary div.product_meta .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce div.product div.summary div.product_meta p, .woocommerce-account .woocommerce div.product div.summary div.product_meta fieldset, .woocommerce div.product div.summary div.product_meta .woocommerce-account .addresses address, .woocommerce-account .addresses .woocommerce div.product div.summary div.product_meta address, .woocommerce div.product div.summary div.product_meta form.login p.woocommerce-LostPassword, .woocommerce form.login div.product div.summary div.product_meta p.woocommerce-LostPassword,
.woocommerce div.product div.summary div.product_meta form.register p.woocommerce-LostPassword,
.woocommerce form.register div.product div.summary div.product_meta p.woocommerce-LostPassword, .woocommerce div.product div.summary div.product_meta .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order div.product div.summary div.product_meta p.woocommerce-notice, .woocommerce div.product div.summary div.product_meta .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details div.product div.summary div.product_meta address, .woocommerce div.product div.summary div.product_meta table.shop_attributes, .woocommerce div.product div.summary div.product_meta #review_form #respond label, .woocommerce #review_form #respond div.product div.summary div.product_meta label, .woocommerce div.product div.summary div.product_meta #review_form #respond span.comment-reply-title, .woocommerce #review_form #respond div.product div.summary div.product_meta span.comment-reply-title, .woocommerce div.product div.summary div.product_meta .woocommerce-product-rating, .woocommerce div.product div.summary div.product_meta #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text div.product div.summary div.product_meta p.meta, .woocommerce div.product div.summary div.product_meta .woocommerce-result-count, .woocommerce div.product div.summary div.product_meta form.cart .reset_variations, .woocommerce div.product form.cart div.summary div.product_meta .reset_variations, .woocommerce-order > p .woocommerce div.product div.summary div.product_meta, .woocommerce-privacy-policy-text p .woocommerce div.product div.summary div.product_meta, .woocommerce-account .woocommerce fieldset .woocommerce div.product div.summary div.product_meta, .woocommerce-account .addresses address .woocommerce div.product div.summary div.product_meta, .woocommerce form.login p.woocommerce-LostPassword .woocommerce div.product div.summary div.product_meta,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce div.product div.summary div.product_meta, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce div.product div.summary div.product_meta, .woocommerce .woocommerce-customer-details address .woocommerce div.product div.summary div.product_meta, .woocommerce table.shop_attributes .woocommerce div.product div.summary div.product_meta, .woocommerce #review_form #respond label .woocommerce div.product div.summary div.product_meta, .woocommerce #review_form #respond span.comment-reply-title .woocommerce div.product div.summary div.product_meta, .woocommerce .woocommerce-product-rating .woocommerce div.product div.summary div.product_meta, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce div.product div.summary div.product_meta, .woocommerce .woocommerce-result-count .woocommerce div.product div.summary div.product_meta, .woocommerce div.product form.cart .reset_variations .woocommerce div.product div.summary div.product_meta, .woocommerce div.product div.summary .woocommerce-order > p div.product_meta, .woocommerce div.product div.summary .woocommerce-privacy-policy-text p div.product_meta, .woocommerce-privacy-policy-text .woocommerce div.product div.summary p div.product_meta, .woocommerce-account .woocommerce div.product div.summary fieldset div.product_meta, .woocommerce div.product div.summary .woocommerce-account .addresses address div.product_meta, .woocommerce-account .addresses .woocommerce div.product div.summary address div.product_meta, .woocommerce div.product div.summary form.login p.woocommerce-LostPassword div.product_meta, .woocommerce form.login div.product div.summary p.woocommerce-LostPassword div.product_meta,
.woocommerce div.product div.summary form.register p.woocommerce-LostPassword div.product_meta,
.woocommerce form.register div.product div.summary p.woocommerce-LostPassword div.product_meta, .woocommerce div.product div.summary .woocommerce-order p.woocommerce-notice div.product_meta, .woocommerce .woocommerce-order div.product div.summary p.woocommerce-notice div.product_meta, .woocommerce div.product div.summary .woocommerce-customer-details address div.product_meta, .woocommerce .woocommerce-customer-details div.product div.summary address div.product_meta, .woocommerce div.product div.summary table.shop_attributes div.product_meta, .woocommerce div.product div.summary #review_form #respond label div.product_meta, .woocommerce #review_form #respond div.product div.summary label div.product_meta, .woocommerce div.product div.summary #review_form #respond span.comment-reply-title div.product_meta, .woocommerce #review_form #respond div.product div.summary span.comment-reply-title div.product_meta, .woocommerce div.product div.summary .woocommerce-product-rating div.product_meta, .woocommerce div.product div.summary #reviews #comments ol.commentlist li .comment-text p.meta div.product_meta, .woocommerce #reviews #comments ol.commentlist li .comment-text div.product div.summary p.meta div.product_meta, .woocommerce div.product div.summary .woocommerce-result-count div.product_meta, .woocommerce div.product div.summary form.cart .reset_variations div.product_meta, .woocommerce div.product form.cart div.summary .reset_variations div.product_meta, .woocommerce div.product div.summary div.product_meta div.product_meta, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce-order > p, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce-account .woocommerce-MyAccount-content p p, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce fieldset, .woocommerce-account .woocommerce .woocommerce-MyAccount-content p fieldset, .woocommerce-account .woocommerce-MyAccount-content p .addresses address, .woocommerce-account .addresses .woocommerce-MyAccount-content p address, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce form.login p.woocommerce-LostPassword, .woocommerce form.login .woocommerce-account .woocommerce-MyAccount-content p p.woocommerce-LostPassword,
.woocommerce-account .woocommerce-MyAccount-content p .woocommerce form.register p.woocommerce-LostPassword,
.woocommerce form.register .woocommerce-account .woocommerce-MyAccount-content p p.woocommerce-LostPassword, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order .woocommerce-account .woocommerce-MyAccount-content p p.woocommerce-notice, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details .woocommerce-account .woocommerce-MyAccount-content p address, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce table.shop_attributes, .woocommerce .woocommerce-account .woocommerce-MyAccount-content p table.shop_attributes, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce #review_form #respond label, .woocommerce #review_form #respond .woocommerce-account .woocommerce-MyAccount-content p label, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce #review_form #respond span.comment-reply-title, .woocommerce #review_form #respond .woocommerce-account .woocommerce-MyAccount-content p span.comment-reply-title, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce .woocommerce-product-rating, .woocommerce .woocommerce-account .woocommerce-MyAccount-content p .woocommerce-product-rating, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-account .woocommerce-MyAccount-content p p.meta, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-account .woocommerce-MyAccount-content p .woocommerce-result-count, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce div.product form.cart .reset_variations, .woocommerce div.product form.cart .woocommerce-account .woocommerce-MyAccount-content p .reset_variations, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce div.product div.summary div.product_meta, .woocommerce div.product div.summary .woocommerce-account .woocommerce-MyAccount-content p div.product_meta, .woocommerce-order > p .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce-privacy-policy-text p .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce-account .woocommerce fieldset .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce-account .addresses address .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce form.login p.woocommerce-LostPassword .woocommerce-account .woocommerce-MyAccount-content p,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce .woocommerce-customer-details address .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce table.shop_attributes .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce #review_form #respond label .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce #review_form #respond span.comment-reply-title .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce .woocommerce-product-rating .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce .woocommerce-result-count .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce div.product form.cart .reset_variations .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce div.product div.summary div.product_meta .woocommerce-account .woocommerce-MyAccount-content p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-order > p p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-privacy-policy-text p p, .woocommerce-privacy-policy-text .woocommerce-account .woocommerce-MyAccount-content p p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce fieldset p, .woocommerce-account .woocommerce .woocommerce-MyAccount-content fieldset p, .woocommerce-account .woocommerce-MyAccount-content .addresses address p, .woocommerce-account .addresses .woocommerce-MyAccount-content address p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce form.login p.woocommerce-LostPassword p, .woocommerce form.login .woocommerce-account .woocommerce-MyAccount-content p.woocommerce-LostPassword p,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce form.register p.woocommerce-LostPassword p,
.woocommerce form.register .woocommerce-account .woocommerce-MyAccount-content p.woocommerce-LostPassword p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce .woocommerce-order p.woocommerce-notice p, .woocommerce .woocommerce-order .woocommerce-account .woocommerce-MyAccount-content p.woocommerce-notice p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce .woocommerce-customer-details address p, .woocommerce .woocommerce-customer-details .woocommerce-account .woocommerce-MyAccount-content address p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce table.shop_attributes p, .woocommerce .woocommerce-account .woocommerce-MyAccount-content table.shop_attributes p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce #review_form #respond label p, .woocommerce #review_form #respond .woocommerce-account .woocommerce-MyAccount-content label p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce #review_form #respond span.comment-reply-title p, .woocommerce #review_form #respond .woocommerce-account .woocommerce-MyAccount-content span.comment-reply-title p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce .woocommerce-product-rating p, .woocommerce .woocommerce-account .woocommerce-MyAccount-content .woocommerce-product-rating p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta p, .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-account .woocommerce-MyAccount-content p.meta p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce .woocommerce-result-count p, .woocommerce .woocommerce-account .woocommerce-MyAccount-content .woocommerce-result-count p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce div.product form.cart .reset_variations p, .woocommerce div.product form.cart .woocommerce-account .woocommerce-MyAccount-content .reset_variations p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce div.product div.summary div.product_meta p, .woocommerce div.product div.summary .woocommerce-account .woocommerce-MyAccount-content div.product_meta p, .woocommerce-account .woocommerce-MyAccount-content p p, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce-order > p, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce-privacy-policy-text p, .woocommerce-privacy-policy-text .woocommerce-account .woocommerce-MyAccount-navigation ul p, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce fieldset, .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul fieldset, .woocommerce-account .woocommerce-MyAccount-navigation ul .addresses address, .woocommerce-account .addresses .woocommerce-MyAccount-navigation ul address, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce form.login p.woocommerce-LostPassword, .woocommerce form.login .woocommerce-account .woocommerce-MyAccount-navigation ul p.woocommerce-LostPassword,
.woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce form.register p.woocommerce-LostPassword,
.woocommerce form.register .woocommerce-account .woocommerce-MyAccount-navigation ul p.woocommerce-LostPassword, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce .woocommerce-order p.woocommerce-notice, .woocommerce .woocommerce-order .woocommerce-account .woocommerce-MyAccount-navigation ul p.woocommerce-notice, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce .woocommerce-customer-details address, .woocommerce .woocommerce-customer-details .woocommerce-account .woocommerce-MyAccount-navigation ul address, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce table.shop_attributes, .woocommerce .woocommerce-account .woocommerce-MyAccount-navigation ul table.shop_attributes, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce #review_form #respond label, .woocommerce #review_form #respond .woocommerce-account .woocommerce-MyAccount-navigation ul label, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce #review_form #respond span.comment-reply-title, .woocommerce #review_form #respond .woocommerce-account .woocommerce-MyAccount-navigation ul span.comment-reply-title, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce .woocommerce-product-rating, .woocommerce .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce-product-rating, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta, .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-account .woocommerce-MyAccount-navigation ul p.meta, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce-result-count, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce div.product form.cart .reset_variations, .woocommerce div.product form.cart .woocommerce-account .woocommerce-MyAccount-navigation ul .reset_variations, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce div.product div.summary div.product_meta, .woocommerce div.product div.summary .woocommerce-account .woocommerce-MyAccount-navigation ul div.product_meta, .woocommerce-account .woocommerce-MyAccount-navigation ul .woocommerce-MyAccount-content p, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-MyAccount-navigation ul p, .woocommerce-order > p .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce-privacy-policy-text p .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce-account .woocommerce fieldset .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce-account .addresses address .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce form.login p.woocommerce-LostPassword .woocommerce-account .woocommerce-MyAccount-navigation ul,
.woocommerce form.register p.woocommerce-LostPassword .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce .woocommerce-order p.woocommerce-notice .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce .woocommerce-customer-details address .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce table.shop_attributes .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce #review_form #respond label .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce #review_form #respond span.comment-reply-title .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce .woocommerce-product-rating .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce .woocommerce-result-count .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce div.product form.cart .reset_variations .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce div.product div.summary div.product_meta .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce-account .woocommerce-MyAccount-content p .woocommerce-account .woocommerce-MyAccount-navigation ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-order > p ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-privacy-policy-text p ul, .woocommerce-privacy-policy-text .woocommerce-account .woocommerce-MyAccount-navigation p ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce fieldset ul, .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation fieldset ul, .woocommerce-account .woocommerce-MyAccount-navigation .addresses address ul, .woocommerce-account .addresses .woocommerce-MyAccount-navigation address ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce form.login p.woocommerce-LostPassword ul, .woocommerce form.login .woocommerce-account .woocommerce-MyAccount-navigation p.woocommerce-LostPassword ul,
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce form.register p.woocommerce-LostPassword ul,
.woocommerce form.register .woocommerce-account .woocommerce-MyAccount-navigation p.woocommerce-LostPassword ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce .woocommerce-order p.woocommerce-notice ul, .woocommerce .woocommerce-order .woocommerce-account .woocommerce-MyAccount-navigation p.woocommerce-notice ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce .woocommerce-customer-details address ul, .woocommerce .woocommerce-customer-details .woocommerce-account .woocommerce-MyAccount-navigation address ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce table.shop_attributes ul, .woocommerce .woocommerce-account .woocommerce-MyAccount-navigation table.shop_attributes ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce #review_form #respond label ul, .woocommerce #review_form #respond .woocommerce-account .woocommerce-MyAccount-navigation label ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce #review_form #respond span.comment-reply-title ul, .woocommerce #review_form #respond .woocommerce-account .woocommerce-MyAccount-navigation span.comment-reply-title ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce .woocommerce-product-rating ul, .woocommerce .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-product-rating ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta ul, .woocommerce #reviews #comments ol.commentlist li .comment-text .woocommerce-account .woocommerce-MyAccount-navigation p.meta ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce .woocommerce-result-count ul, .woocommerce .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-result-count ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce div.product form.cart .reset_variations ul, .woocommerce div.product form.cart .woocommerce-account .woocommerce-MyAccount-navigation .reset_variations ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce div.product div.summary div.product_meta ul, .woocommerce div.product div.summary .woocommerce-account .woocommerce-MyAccount-navigation div.product_meta ul, .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-content p ul, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-MyAccount-navigation p ul, .woocommerce-account .woocommerce-MyAccount-navigation ul ul {
  font-size: 1em;
}
.text > .button:last-child, .woocommerce-order > p > .button:last-child, .woocommerce-privacy-policy-text p > .button:last-child, .woocommerce-account .woocommerce fieldset > .button:last-child, .woocommerce-account .addresses address > .button:last-child, .woocommerce form.login p.woocommerce-LostPassword > .button:last-child,
.woocommerce form.register p.woocommerce-LostPassword > .button:last-child, .woocommerce .woocommerce-order p.woocommerce-notice > .button:last-child, .woocommerce .woocommerce-customer-details address > .button:last-child, .woocommerce table.shop_attributes > .button:last-child, .woocommerce #review_form #respond label > .button:last-child, .woocommerce #review_form #respond span.comment-reply-title > .button:last-child, .woocommerce .woocommerce-product-rating > .button:last-child, .woocommerce #reviews #comments ol.commentlist li .comment-text p.meta > .button:last-child, .woocommerce .woocommerce-result-count > .button:last-child, .woocommerce div.product form.cart .reset_variations > .button:last-child, .woocommerce div.product div.summary div.product_meta > .button:last-child, .woocommerce-account .woocommerce-MyAccount-content p > .button:last-child, .woocommerce-account .woocommerce-MyAccount-navigation ul > .button:last-child {
  margin-bottom: 0 !important;
}

/* label variant */
.text--label {
  cursor: pointer;
  font-weight: 600;
}

/* list variant */
.text--list {
  padding: 0em 0em 0em 2em;
}
.text--list .text__list-item {
  display: list-item;
}
.text--list .text__list-item:not(:last-child) {
  margin-bottom: 0.25em;
}

/* list ordered variant */
.text--list-ordered {
  list-style: decimal;
}

/* list unordered variant */
.text--list-unordered {
  list-style: disc;
}

/* 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: #252525;
  display: table-footer-group;
  font-style: italic;
}
.text--table .text__row {
  display: table-row;
}
.text--table .text__cell {
  border: 0;
  min-width: 7.8125em;
  padding: 0.625em 0.9375em;
  text-align: left;
  vertical-align: top;
}
.text--table .text__header .text__cell,
.text--table .text__body .text__cell--header {
  font-weight: 700;
}
.text--table .text__body .text__cell--header {
  text-align: left;
}
.text--table .text__header + .text__body > .text__row:first-child > .text__cell {
  border-top: 2px solid #a0b1b8;
  border-top: 0.125rem solid #a0b1b8;
}
.text--table > .text__row:nth-child(even) .text__cell,
.text--table .text__body .text__row:nth-child(even) .text__cell {
  background: #a0b1b8;
}
.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 #99B2AB;
  border-left: 0.125rem solid #99B2AB;
  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 .user-content__link,
.user-content--light .user-content__title,
.user-content--light .user-content__text,
.user-content--light .wp-caption-text {
  color: #FFFFFF;
}

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

.article__figure__image {
  display: block;
  width: 100%;
  margin-bottom: 0.75em;
}

/* card variant */
.article--card {
  background: #f0f0f0;
  margin-bottom: 1.25em;
}
.article--card .article__title {
  color: #2B4550;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: calc(1em + 0.1875 * ((100vw - 48em) / 32));
  line-height: 1.4375em;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 80em) {
  .article--card .article__title {
    font-size: 1.1875em;
  }
}
@media screen and (max-width: 48em) {
  .article--card .article__title {
    font-size: 1em;
  }
}
.article--card .article__user-content .user-content__text {
  font-size: calc(0.875em + 0.1875 * ((100vw - 48em) / 32));
  line-height: 1.5714285714em;
  margin-bottom: 1.5714285714em;
}
@media screen and (min-width: 80em) {
  .article--card .article__user-content .user-content__text {
    font-size: 1.0625em;
  }
}
@media screen and (max-width: 48em) {
  .article--card .article__user-content .user-content__text {
    font-size: 0.875em;
  }
}
.article--card .article__user-content > :last-child {
  margin-bottom: 0 !important;
}
.article--card .article__figure {
  margin: 0;
}
.article--card .article__content {
  padding: 1.5625em 1.875em;
}

/* excerpt variant */
.article--excerpt + .article--excerpt {
  border-top: 1px solid #DADADA;
  border-top: 0.0625rem solid #DADADA;
  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;
}

/* ------------------------------------------------------------------------ *\
 * Callout
\* ------------------------------------------------------------------------ */
.callout {
  background: #2B4550;
  color: #FFFFFF;
  display: flex;
  font-family: "SignPainter HouseScript", "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: calc(2.875em + 0.375 * ((100vw - 48em) / 32));
  font-weight: 600;
  height: 230px;
  height: 14.375rem;
  line-height: 0.9565217391em;
  overflow: hidden;
  position: relative;
  text-align: center;
  text-decoration: none;
}
@media screen and (min-width: 80em) {
  .callout {
    font-size: 3.25em;
  }
}
@media screen and (max-width: 48em) {
  .callout {
    font-size: 2.875em;
  }
}

.callout__picture {
  display: flex;
  width: 100%;
}

.callout__picture__image {
  display: block;
  object-fit: cover;
  transition: transform 0.25s ease-in-out;
  width: 100%;
}
.callout:focus .callout__picture__image, .callout:hover .callout__picture__image {
  transform: scale(1.025);
}

.callout__content {
  align-items: center;
  background: rgba(0, 0, 0, 0.265);
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  padding: 25px;
  padding: 1.5625rem;
  position: absolute;
  top: 0;
  width: 100%;
}

.callout__graphic {
  flex: 0 0 auto;
  max-width: 100%;
}

.handorgel {
  display: block;
  width: 100%;
  border: 1px solid #eee;
  border-top: none;
}

.handorgel__header {
  display: block;
  margin: 0;
}

.handorgel__header--open .handorgel__header__button {
  background-color: #eee;
}

.handorgel__header--focus .handorgel__header__button {
  background-color: #dfdfdf;
  outline: none;
}

.handorgel__header__button {
  display: block;
  width: 100%;
  padding: 20px 24px;
  margin: 0;
  border: none;
  border-top: 1px solid #eee;
  background-color: #fff;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  text-align: left;
  transition: background-color 0.2s ease;
  user-select: none;
}

.handorgel__header__button::-moz-focus-inner {
  border: 0;
}

.handorgel__content {
  display: none;
  overflow: hidden;
  height: 0;
  border-top: 1px solid #eee;
  background-color: #fff;
  transition: height 0.1s ease 0.1s;
}

.handorgel__content--open {
  display: block;
  transition: height 0.2s ease;
}

.handorgel__content--opened {
  overflow: visible;
}

.handorgel__content__inner {
  padding: 20px 24px;
  opacity: 0;
  transition: opacity 0.1s ease;
}

.handorgel__content--opened .handorgel__content__inner {
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* ------------------------------------------------------------------------ *\
 * Handorgel (https://www.npmjs.com/package/handorgel)
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * 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;
}
.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;
}

.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: 0;
  opacity: 1;
  top: 100%;
  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--justify-between) {
  text-align: center;
}
.menu-list--flex::after {
  display: none;
}
.menu-list--flex > .menu-list__item {
  flex: 1 1 0%;
}
.menu-list--flex:not(.menu-list--justify-between):not(.menu-list--justify-center) > .menu-list__item {
  min-width: 0;
}

/* flex start variant */
.menu-list--justify-start {
  justify-content: flex-start;
}
.menu-list--justify-start > .menu-list__item {
  flex: 0 0 auto;
}

/* flex center variant */
.menu-list--justify-center {
  justify-content: center;
}
.menu-list--justify-center > .menu-list__item {
  flex: 0 0 auto;
}

/* flex end variant */
.menu-list--justify-end {
  justify-content: flex-end;
}
.menu-list--justify-end > .menu-list__item {
  flex: 0 0 auto;
}

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

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

/* ============================ CUSTOM VARIANTS =========================== */
/* icons variant */
.menu-list--icons {
  font-size: 20px;
  font-size: 1.25rem;
}
.menu-list--icons .menu-list__link {
  padding: 0.4em;
}

/* meta variant */
.menu-list--meta {
  color: #252525;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: 0.875em;
  font-weight: 700;
  margin: 0em 0em 1em;
  text-align: left;
  text-transform: uppercase;
}
.menu-list--meta .menu-list__item:not(:last-child) {
  margin-right: 1.4285714286em;
}
.menu-list--meta .menu-list__link {
  color: #252525;
  display: inline-block;
}
.menu-list--meta .menu-list__link:hover {
  color: #252525;
}

/* navigation variant */
.menu-list--navigation {
  /* child */
  /* child depth 2 */
  /* vertical */
  /* accordions */
}
.menu-list--navigation {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: 1.125em;
  font-weight: 400;
  line-height: 1.2222222222em;
  text-transform: uppercase;
}
.menu-list--navigation .menu-list__item {
  transition: background-color 0.15s;
}
.menu-list--navigation .menu-list__link,
.menu-list--navigation .menu-list__toggle {
  align-items: center;
  color: #000000;
  display: flex;
  justify-content: center;
  padding: 0.6111111111em 0.75em 0.3888888889em;
  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(255, 255, 255, 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: #99B2AB;
}
.menu-list--navigation .menu-list--child {
  background: rgba(185, 199, 195, 0.9);
  font-size: 0.8em;
}
.menu-list--navigation .menu-list--child.menu-list--overlay {
  min-width: 15.625em;
}
.menu-list--navigation .menu-list--child .menu-list__item.is-active,
.menu-list--navigation .menu-list--child .menu-list__item:focus-within,
.menu-list--navigation .menu-list--child .menu-list__item:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.menu-list--navigation .menu-list--child .menu-list__link,
.menu-list--navigation .menu-list--child .menu-list__toggle {
  justify-content: flex-start;
  padding: 0.25em 1em;
}
.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 > .menu-list__item:last-child > .menu-list__link,
.menu-list--navigation .menu-list--child > .menu-list__item: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__item--parent:not(:first-child) > .menu-list--child.menu-list--depth-2.menu-list--overlay {
  transform: translateY(-0.2em);
}
.menu-list--navigation.menu-list--vertical .menu-list__link, .menu-list--navigation.menu-list--vertical .menu-list__toggle {
  justify-content: flex-start;
}
.menu-list--navigation.menu-list--accordion .menu-list--child {
  font-size: 1em;
}
.menu-list--navigation.menu-list--accordion .menu-list--child::after {
  background: #789E94;
  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.4em 0.8em;
}
.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: 0.8em;
}
.menu-list--navigation.menu-list--accordion .menu-list--child > .menu-list__item:last-child > .menu-list__link, .menu-list--navigation.menu-list--accordion .menu-list--child > .menu-list__item:last-child > .menu-list__toggle {
  padding-bottom: 0.8em;
}

/* pagination variant */
.menu-list--pagination {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: 0.875em;
  font-weight: 400;
}
.menu-list--pagination .menu-list__item:not(:last-child) {
  margin-right: 0.5714285714em;
}
.menu-list--pagination .menu-list__link--current {
  color: #000000;
  cursor: auto;
}

/* submenu variant */
.menu-list--submenu {
  background: #2B4550;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: 1.4375em;
  font-weight: 700;
  line-height: 1.4782608696em;
  padding: 30px 40px;
  padding: 1.875rem 2.5rem;
  text-transform: uppercase;
}
.menu-list--submenu .menu-list__link {
  color: #99B2AB;
  padding: 0.2173913043em 0em;
}
.menu-list--submenu .menu-list__link:focus,
.menu-list--submenu .menu-list__link:hover {
  color: #B9C7C3;
}
.menu-list--submenu .menu-list--child {
  font-size: 0.7826086957em;
  font-weight: 400;
  line-height: 1.4444444444em;
  text-transform: none;
}
.menu-list--submenu .menu-list--child > .menu-list__item:not(:last-child) {
  border-bottom: 1px solid #99B2AB;
  border-bottom: 0.0625rem solid #99B2AB;
}
.menu-list--submenu .menu-list--child .menu-list__link {
  color: #FFFFFF;
  padding: 0.7777777778em 0em 0.5555555556em;
}
.menu-list--submenu .menu-list--child .menu-list__link:focus,
.menu-list--submenu .menu-list--child .menu-list__link:hover {
  color: #B9C7C3;
}

/* ------------------------------------------------------------------------ *\
 * 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: "fira-sans", "Helvetica", "Arial", 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: #C62828;
}

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

.ninja-forms-help-tooltip {
  background: #0F0F0F;
  border-radius: 0.4285714286em;
  bottom: 130%;
  font-size: 0.875em;
  left: 50%;
  opacity: 0;
  padding: 0.7142857143em;
  position: absolute;
  text-align: center;
  transform: translateX(-50%) translateY(50%);
  transition: opacity 0.15s, transform 0.15s;
  width: 14.2857142857em;
}
.ninja-forms-help-symbol.is-active .ninja-forms-help-tooltip {
  opacity: 1;
  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 #0F0F0F;
  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--toggle, .nf-field-container .list-checkbox .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox, .woocommerce form.login .nf-field-container .list-checkbox input.woocommerce-form__input.woocommerce-form__input-checkbox,
.nf-field-container .list-checkbox .woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register .nf-field-container .list-checkbox input.woocommerce-form__input.woocommerce-form__input-checkbox,
.nf-field-container .list-radio .input--toggle,
.nf-field-container .list-radio .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.login .nf-field-container .list-radio input.woocommerce-form__input.woocommerce-form__input-checkbox,
.nf-field-container .list-radio .woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register .nf-field-container .list-radio input.woocommerce-form__input.woocommerce-form__input-checkbox {
  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: #D74C4C;
}

.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 .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox, .woocommerce form.login .nf-field-container.label-below .nf-field-element input.woocommerce-form__input.woocommerce-form__input-checkbox,
.nf-field-container.label-below .nf-field-element .woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register .nf-field-container.label-below .nf-field-element input.woocommerce-form__input.woocommerce-form__input-checkbox, .nf-field-container.label-below .nf-field-element .woocommerce form .form-row select, .woocommerce form .form-row .nf-field-container.label-below .nf-field-element select, .nf-field-container.label-below .nf-field-element .woocommerce form .form-row input.input-text, .woocommerce form .form-row .nf-field-container.label-below .nf-field-element input.input-text,
.nf-field-container.label-below .nf-field-element .woocommerce form .form-row textarea,
.woocommerce form .form-row .nf-field-container.label-below .nf-field-element textarea, .nf-field-container.label-below .nf-field-element .woocommerce #review_form #respond .comment-form-author input, .woocommerce #review_form #respond .comment-form-author .nf-field-container.label-below .nf-field-element input,
.nf-field-container.label-below .nf-field-element .woocommerce #review_form #respond .comment-form-email input,
.woocommerce #review_form #respond .comment-form-email .nf-field-container.label-below .nf-field-element input, .nf-field-container.label-below .nf-field-element .woocommerce #review_form #respond textarea, .woocommerce #review_form #respond .nf-field-container.label-below .nf-field-element textarea, .nf-field-container.label-below .nf-field-element .woocommerce .woocommerce-ordering select, .woocommerce .woocommerce-ordering .nf-field-container.label-below .nf-field-element select, .nf-field-container.label-below .nf-field-element .woocommerce div.product form.cart .variations select, .woocommerce div.product form.cart .variations .nf-field-container.label-below .nf-field-element select, .nf-field-container.label-below .nf-field-element .woocommerce .quantity .qty, .woocommerce .quantity .nf-field-container.label-below .nf-field-element .qty, .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--toggle, .nf-field-container.listcheckbox-container .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox, .woocommerce form.login .nf-field-container.listcheckbox-container input.woocommerce-form__input.woocommerce-form__input-checkbox,
.nf-field-container.listcheckbox-container .woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register .nf-field-container.listcheckbox-container input.woocommerce-form__input.woocommerce-form__input-checkbox, .nf-field-container.listradio-container .input--toggle, .nf-field-container.listradio-container .woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox, .woocommerce form.login .nf-field-container.listradio-container input.woocommerce-form__input.woocommerce-form__input-checkbox,
.nf-field-container.listradio-container .woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register .nf-field-container.listradio-container input.woocommerce-form__input.woocommerce-form__input-checkbox {
  margin-right: 0.375em;
}

.noty_layout_mixin, #noty_layout__centerRight, #noty_layout__centerLeft, #noty_layout__center, #noty_layout__bottomRight, #noty_layout__bottomCenter, #noty_layout__bottomLeft, #noty_layout__bottom, #noty_layout__topRight, #noty_layout__topCenter, #noty_layout__topLeft, #noty_layout__top {
  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 0.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: 0.3;
  left: 0;
  top: 0;
}

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

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

@keyframes noty_modal_in {
  100% {
    opacity: 0.3;
  }
}
@keyframes noty_modal_out {
  100% {
    opacity: 0;
  }
}
@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 (https://ned.im/noty/#/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
.noty_bar {
  background-color: #C62828;
  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: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: 1em;
  line-height: 1.5em;
  padding: 1em 1.5em;
}

/* ------------------------------------------------------------------------ *\
 * Panel Toggle
\* ------------------------------------------------------------------------ */
.panel-toggle {
  background: none;
  border: 0;
  color: #2B4550;
  cursor: pointer;
  font-size: 1.5em;
  height: 2em;
  margin: 0;
  padding: 0;
  position: relative;
  width: 2em;
}

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

/* ------------------------------------------------------------------------ *\
 * PhotoSwipe (http://photoswipe.com/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
.pswp {
  z-index: 100000;
}

.pswp__button,
.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
  background-image: url("/source/f6090ce7f1daca3aed4fab4be67d16d7/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("/source/2b613c4695376ec9f12aecd6f04e31c3/photoswipe-preloader.gif");
}

@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 0.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: 0.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;
}

/* ------------------------------------------------------------------------ *\
 * ScrollHint (https://appleple.github.io/scroll-hint/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern */
/* ------------------------------------------------------------------------ *\
 * Search Form
\* ------------------------------------------------------------------------ */
.search-form__container {
  margin: 0em 0em 0.9375em;
}

.search-form {
  position: relative;
}

.search-form__input {
  font-size: 1em;
  margin: 0;
  padding-right: 3em;
}

.search-form__button {
  background: none;
  bottom: 2px;
  bottom: 0.125rem;
  color: #000000;
  font-size: 1em;
  margin: 0;
  padding: 0em 1em;
  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;
  color: #99B2AB;
}

/* ------------------------------------------------------------------------ *\
 * Skip Links
\* ------------------------------------------------------------------------ */
.skip-links {
  background: #99B2AB;
  border: 1px solid #789E94;
  border: 0.0625rem solid #789E94;
  border-radius: 0.25rem;
  color: #FFFFFF;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: 1em;
  font-weight: 700;
  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;
}

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

/* ------------------------------------------------------------------------ *\
 * Swiper (http://idangero.us/swiper/)
\* ------------------------------------------------------------------------ */
.swiper-container__container {
  position: relative;
}

.swiper-slide {
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  height: auto;
  margin: 0;
  overflow: hidden;
}
@media (min-width: 48em) {
  .swiper-slide {
    padding-bottom: 0.65625em;
  }
}

.swiper__picture {
  flex: none;
}
.swiper-slide--enlarge .swiper__picture {
  display: flex;
  height: 25.625em;
}

.swiper__image {
  display: block;
  width: 100%;
}
.swiper-container--height-auto .swiper__image {
  left: 50%;
  min-width: 100%;
  position: relative;
  transform: translateX(-50%);
  width: auto;
}
.swiper__image.lazyloading {
  height: 1px;
}
.swiper-slide--enlarge .swiper__image {
  object-fit: cover;
  object-position: center center;
}

.swiper__caption {
  align-items: center;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0) 95%);
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  padding: 70px 25px;
  padding: 4.375rem 1.5625rem;
  position: absolute;
  top: 0;
  width: 100%;
}
.swiper__caption .swiper__caption__inner {
  margin: 0 auto;
  max-width: 90em;
  width: 100%;
}

.swiper__title {
  color: #FFFFFF;
  text-align: center;
}
.swiper__title:last-child {
  margin-bottom: 0;
}

.swiper__user-content {
  text-align: center;
}
.swiper__user-content .user-content__text {
  font-size: calc(1.0625em + 0.8125 * ((100vw - 48em) / 32));
  line-height: 1.2176470588em;
  margin-bottom: 1.2176470588em;
}
@media screen and (min-width: 80em) {
  .swiper__user-content .user-content__text {
    font-size: 1.875em;
  }
}
@media screen and (max-width: 48em) {
  .swiper__user-content .user-content__text {
    font-size: 1.0625em;
  }
}
.swiper__user-content > :last-child {
  margin-bottom: 0 !important;
}

.swiper-button {
  align-items: center;
  background: none;
  border: 0;
  color: #2B4550;
  cursor: pointer;
  display: flex;
  font-size: 4.6875em;
  height: 100%;
  justify-content: center;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.15s;
  width: 0.5714285714em;
  z-index: 999;
}
.swiper-button.swiper-button--prev, .swiper-container-rtl .swiper-button.swiper-button--next {
  left: 0;
}
.swiper-button.swiper-button--next, .swiper-container-rtl .swiper-button.swiper-button--prev {
  right: 0;
}

.swiper-pagination {
  background: #FFFFFF;
  border-radius: 1.3125em 1.3125em 0em 0em;
  display: flex;
  padding: 0.65625em 1.4375em;
  top: auto;
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: -0.65625em;
  left: 50%;
  transform: translateX(-50%);
  width: auto;
}

.swiper-pagination-bullet {
  background: #DADADA;
  flex: 0 0 auto;
  font-size: 1.3125em;
  height: 1em;
  opacity: 1;
  transition: background-color 0.15s;
  width: 1em;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0em 0.1428571429em;
}

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

/* cards variant */
.swiper-container--cards:not(.swiper-container-initialized) .swiper-wrapper {
  display: block;
}
.swiper-container--cards .swiper-slide {
  flex-direction: row;
}

/* ------------------------------------------------------------------------ *\
 * Tribe Events (https://theeventscalendar.com/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-class-pattern, selector-max-id, selector-max-type, selector-no-qualifying-type */
/* container */
.tribe-events .tribe-events-l-container,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
  padding: 0;
}

/* loader */
.tribe-common .tribe-common-c-loader__dot {
  background-color: rgba(43, 69, 80, 0.07);
}

@keyframes a {
  50% {
    background-color: #2B4550;
  }
}
/* buttons */
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn {
  background-color: #2B4550;
}
.tribe-common .tribe-common-c-btn:focus, .tribe-common .tribe-common-c-btn:hover,
.tribe-common a.tribe-common-c-btn:focus,
.tribe-common a.tribe-common-c-btn:hover {
  background-color: rgba(43, 69, 80, 0.8);
}
.tribe-common .tribe-common-c-btn:active,
.tribe-common a.tribe-common-c-btn:active {
  background-color: rgba(43, 69, 80, 0.9);
}

#tribe-events .tribe-events-button,
.tribe-events-button {
  font-family: "Helvetica Neue", "Helvetica", -apple-system, BlinkMacSystemFont, "Roboto", "Arial", sans-serif;
}

#tribe-events .tribe-events-button,
#tribe-events .tribe-events-button:hover,
#tribe_events_filters_wrapper input[type=submit],
.tribe-events-button,
.tribe-events-button.tribe-active:hover,
.tribe-events-button.tribe-inactive,
.tribe-events-button:hover,
.tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-],
.tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-] > a {
  background-color: #2B4550;
}

/* featured */
.tribe-common .tribe-common-svgicon--featured {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg' fill='%232B4550'%3E %3Cpath d='M0 0h16v20l-7.902-5.122L0 20z'/%3E %3C/svg%3E");
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-datetime-featured-text {
  color: #2B4550;
}

/* notices */
.tribe-events-notices {
  font-family: "Helvetica Neue", "Helvetica", -apple-system, BlinkMacSystemFont, "Roboto", "Arial", sans-serif;
}

.tribe-events .tribe-events-c-messages__message--notice::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 23' stroke='%232B4550'%3E %3Cg fill='none' fill-rule='evenodd'%3E %3Cpath stroke='%23141827' d='M.5 2.5h20v20H.5z'/%3E %3Cpath stroke-linecap='round' d='M7.583 11.583l5.834 5.834m0-5.834l-5.834 5.834'/%3E %3Cpath stroke='%23141827' stroke-linecap='round' d='M4.5.5v4m12-4v4'/%3E %3Cpath stroke='%23141827' stroke-linecap='square' d='M.5 7.5h20'/%3E %3C/g%3E %3C/svg%3E");
}

/* datepicker */
.tribe-events .datepicker .day.active,
.tribe-events .datepicker .day.active.focused,
.tribe-events .datepicker .day.active:focus,
.tribe-events .datepicker .day.active:hover,
.tribe-events .datepicker .month.active,
.tribe-events .datepicker .month.active.focused,
.tribe-events .datepicker .month.active:focus,
.tribe-events .datepicker .month.active:hover,
.tribe-events .datepicker .year.active,
.tribe-events .datepicker .year.active.focused,
.tribe-events .datepicker .year.active:focus,
.tribe-events .datepicker .year.active:hover {
  background-color: #2B4550;
}

/* bar */
.tribe-events .tribe-events-c-search__input-control--keyword-focus .tribe-events-c-search__input,
.tribe-events .tribe-events-c-search__input-control--keyword .tribe-events-c-search__input:focus {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg' fill='%232B4550'%3E %3Cpath d='M20 18.711l-6.044-6.044a7.782 7.782 0 0 0 1.688-4.845c0-2.089-.822-4.044-2.288-5.533C11.866.822 9.91 0 7.822 0S3.778.822 2.29 2.289A7.801 7.801 0 0 0 0 7.822c0 2.09.822 4.045 2.289 5.534a7.801 7.801 0 0 0 5.533 2.288c1.778 0 3.467-.6 4.845-1.688L18.71 20 20 18.711zM3.578 12.067c-2.334-2.334-2.334-6.156 0-8.49a5.968 5.968 0 0 1 4.244-1.755c1.6 0 3.111.622 4.245 1.756 2.333 2.333 2.333 6.155 0 8.489a5.968 5.968 0 0 1-4.245 1.755c-1.6 0-3.11-.622-4.244-1.755z'/%3E %3C/svg%3E");
}

.tribe-events .tribe-events-c-search__input-control--location-focus .tribe-events-c-search__input,
.tribe-events .tribe-events-c-search__input-control--location .tribe-events-c-search__input:focus {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='16' xmlns='http://www.w3.org/2000/svg' fill='%232B4550'%3E %3Cpath d='M8.682 1.548a5.166 5.166 0 0 0-7.375 0C-3.073 5.984 4.959 15.36 4.994 15.36c.051-.001 8.092-9.35 3.688-13.812zM4.994 2.833c1.27 0 2.301 1.043 2.301 2.331 0 1.287-1.03 2.33-2.301 2.33-1.272 0-2.3-1.043-2.3-2.33 0-1.288 1.028-2.331 2.3-2.331z' fill-rule='evenodd'/%3E %3C/svg%3E");
}

.tribe-events .tribe-events-c-events-bar__search-button::before {
  background-color: #2B4550;
}

.tribe-events .tribe-events-c-view-selector__button::before {
  background-color: #2B4550;
}

/* ical link */
.tribe-events .tribe-events-c-ical {
  clear: both;
}

.tribe-events .tribe-events-c-ical__link {
  border-color: #2B4550;
  color: #2B4550;
}
.tribe-events .tribe-events-c-ical__link::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' stroke='%232B4550'%3E %3Cpath d='M6 1v10m5-5H1' fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='1.5'/%3E %3C/svg%3E");
}
.tribe-events .tribe-events-c-ical__link:active, .tribe-events .tribe-events-c-ical__link:focus, .tribe-events .tribe-events-c-ical__link:hover {
  background-color: #2B4550;
}
.tribe-events .tribe-events-c-ical__link:active::before, .tribe-events .tribe-events-c-ical__link:focus::before, .tribe-events .tribe-events-c-ical__link:hover::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' stroke='%23FFFFFF'%3E %3Cpath d='M6 1v10m5-5H1' fill='none' fill-rule='evenodd' stroke-linecap='square' stroke-width='1.5'/%3E %3C/svg%3E");
}

/* list */
.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime::after {
  background-color: #2B4550;
}

.tribe-events .tribe-events-calendar-list__month-separator {
  width: 100%;
}

/* month */
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link {
  color: #2B4550;
}

.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:focus,
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link:hover {
  color: rgba(43, 69, 80, 0.8);
}

.tribe-events .tribe-events-calendar-month__calendar-event--featured::before {
  background-color: #2B4550;
}

/* month mobile */
.tribe-events .tribe-events-calendar-month__week {
  width: 100%;
}

.tribe-events .tribe-events-calendar-month__day-cell--selected,
.tribe-events .tribe-events-calendar-month__day-cell--selected:focus,
.tribe-events .tribe-events-calendar-month__day-cell--selected:hover {
  background-color: #2B4550;
}

.tribe-events .tribe-events-calendar-month__mobile-events-icon--event {
  background-color: #2B4550;
}

.tribe-events .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date {
  color: #FFFFFF;
}

.tribe-events .tribe-events-calendar-month__mobile-events-icon--featured {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='20' xmlns='http://www.w3.org/2000/svg' fill='%232B4550'%3E %3Cpath d='M0 0h16v20l-7.902-5.122L0 20z'/%3E %3C/svg%3E");
}

.tribe-events .tribe-events-calendar-month-mobile-events__mobile-event-datetime-featured-text {
  color: #2B4550;
}

.tribe-events .tribe-events-calendar-month-nav {
  margin-bottom: 1em;
}

/* day */
.tribe-events .tribe-events-calendar-day__time-separator {
  width: 100%;
}

.tribe-events .tribe-events-calendar-day__event--featured::after {
  background-color: #2B4550;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-day__event-datetime-featured-text {
  color: #2B4550;
}

/* single */
.tribe-events-back {
  font-family: "Helvetica Neue", "Helvetica", -apple-system, BlinkMacSystemFont, "Roboto", "Arial", sans-serif;
}

.tribe-events-back a {
  color: #141827;
  transition: color 0.2s ease-out;
}
.tribe-events-back a:hover {
  color: #2B4550;
}

.single-tribe_events .tribe-events-single-event-title {
  font-family: "Helvetica Neue", "Helvetica", -apple-system, BlinkMacSystemFont, "Roboto", "Arial", sans-serif;
}

.tribe-events-schedule h2 {
  font-family: "Helvetica Neue", "Helvetica", -apple-system, BlinkMacSystemFont, "Roboto", "Arial", sans-serif;
}

.single-tribe_events .tribe-events-schedule .tribe-events-cost {
  font-family: "Helvetica Neue", "Helvetica", -apple-system, BlinkMacSystemFont, "Roboto", "Arial", sans-serif;
}

.single-tribe_events .tribe-events-schedule .tribe-events-divider {
  margin: 0 0.25em;
}

.tribe-events-meta-group .tribe-events-single-section-title {
  font-family: "Helvetica Neue", "Helvetica", -apple-system, BlinkMacSystemFont, "Roboto", "Arial", sans-serif;
}

.single-tribe_events .tribe-events-event-meta dl {
  font-family: "Helvetica Neue", "Helvetica", -apple-system, BlinkMacSystemFont, "Roboto", "Arial", sans-serif;
}

.single-tribe_events .tribe-events-event-meta dl a {
  color: #2B4550;
  transition: color 0.2s ease-out;
}
.single-tribe_events .tribe-events-event-meta dl a:active {
  color: black;
}
.single-tribe_events .tribe-events-event-meta dl a:visited {
  color: black;
}

#tribe-events-footer .tribe-events-sub-nav,
#tribe-events-header .tribe-events-sub-nav {
  color: #141827;
  font-family: "Helvetica Neue", "Helvetica", -apple-system, BlinkMacSystemFont, "Roboto", "Arial", sans-serif;
}

#tribe-events-footer .tribe-events-sub-nav a,
#tribe-events-header .tribe-events-sub-nav a {
  color: #2B4550;
}

/* ------------------------------------------------------------------------ *\
 * Widget
\* ------------------------------------------------------------------------ */
.widget {
  background: #2B4550;
  margin-bottom: 2em;
}

.widget__content {
  padding: 45px 35px;
  padding: 2.8125rem 2.1875rem;
}

.widget__button {
  background-color: #99B2AB;
  margin: 0;
  padding-left: 35px;
  padding-left: 2.1875rem;
  padding-right: 35px;
  padding-right: 2.1875rem;
  text-align: left;
  width: 100%;
}
.widget__button:active {
  background-color: #789E94;
}

.widget__user-content .user-content__text {
  font-size: calc(1em + 0.125 * ((100vw - 48em) / 32));
}

@media screen and (min-width: 80em) {
  .widget__user-content .user-content__text {
    font-size: 1.125em;
  }
}

@media screen and (max-width: 48em) {
  .widget__user-content .user-content__text {
    font-size: 1em;
  }
}
.widget__user-content > :last-child {
  margin-bottom: 0 !important;
}

/* ------------------------------------------------------------------------ *\
 * WooCommerce (https://woocommerce.com/)
\* ------------------------------------------------------------------------ */
/* stylelint-disable selector-max-id, selector-max-type, selector-no-qualifying-type, selector-class-pattern */
/* variables and helpers */
/* photoswipe.css */
.woocommerce-page .pswp {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}
.woocommerce-page .pswp .pswp__caption {
  font-size: 1.25em;
}

/* select2.css */
.select2-container--default .select2-selection--single .select2-selection__rendered {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}

.select2-container--default .select2-results > .select2-results__options {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}

/* woocommerce-layout.css */
.woocommerce #content table.cart td.actions .input-text,
.woocommerce table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page table.cart td.actions .input-text {
  width: 7.5em;
}

.woocommerce .cart-collaterals h2,
.woocommerce-page .cart-collaterals h2 {
  font-size: 1.5em;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* woocommerce.css */
.woocommerce .woocommerce-breadcrumb {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}

.woocommerce .quantity .qty {
  padding: 0.375em 0.5em;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
  font-size: 1.5em;
}

.woocommerce div.product form.cart {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1em;
}
.woocommerce div.product form.cart div.quantity {
  margin-right: 0.5em;
}
.woocommerce div.product form.cart div.quantity .qty {
  margin-bottom: 0;
}

.woocommerce span.onsale {
  box-sizing: content-box;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}

.woocommerce div.product form.cart .variations label {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}

.woocommerce div.product form.cart .variations select {
  font-size: 1em;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
  font-size: 1.25em;
  margin-bottom: 0.25em;
  padding: 0;
}

.woocommerce ul.products li.product .price {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}

.woocommerce .woocommerce-result-count {
  float: none;
  margin: 0;
}

.woocommerce .woocommerce-ordering {
  float: none;
  margin: 0;
}
.woocommerce .woocommerce-ordering select {
  margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: #2B4550;
}
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background-color: #22373f;
}

.woocommerce #reviews #comments ol.commentlist {
  padding: 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
  font-size: 0.75em;
}

.woocommerce a.added_to_cart {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}

.woocommerce #respond input#submit.alt.disabled,
.woocommerce #respond input#submit.alt.disabled:hover,
.woocommerce #respond input#submit.alt:disabled,
.woocommerce #respond input#submit.alt:disabled:hover,
.woocommerce #respond input#submit.alt:disabled[disabled],
.woocommerce #respond input#submit.alt:disabled[disabled]:hover,
.woocommerce a.button.alt.disabled,
.woocommerce a.button.alt.disabled:hover,
.woocommerce a.button.alt:disabled,
.woocommerce a.button.alt:disabled:hover,
.woocommerce a.button.alt:disabled[disabled],
.woocommerce a.button.alt:disabled[disabled]:hover,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt.disabled:hover,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt:disabled:hover,
.woocommerce button.button.alt:disabled[disabled],
.woocommerce button.button.alt:disabled[disabled]:hover,
.woocommerce input.button.alt.disabled,
.woocommerce input.button.alt.disabled:hover,
.woocommerce input.button.alt:disabled,
.woocommerce input.button.alt:disabled:hover,
.woocommerce input.button.alt:disabled[disabled],
.woocommerce input.button.alt:disabled[disabled]:hover {
  background-color: #2B4550;
}

.woocommerce .star-rating {
  color: #F08E01;
}

.woocommerce .woocommerce-product-rating .star-rating {
  margin-top: 0.25em;
}
.woocommerce #review_form #respond span.comment-reply-title {
  font-size: 1.25em;
  font-weight: 700;
}
.woocommerce #review_form #respond label {
  font-weight: 700;
  margin-bottom: 0.25em;
}
.woocommerce #review_form #respond label span.required {
  color: #C62828;
}
.woocommerce p.stars {
  color: #000000;
}
.woocommerce p.stars:hover, .woocommerce p.stars.selected {
  color: #F08E01;
}
.woocommerce p.stars a {
  color: inherit;
}

.woocommerce table.shop_attributes {
  border: 0;
  border-collapse: collapse;
  display: table;
}
.woocommerce table.shop_attributes td,
.woocommerce table.shop_attributes th {
  border: 0;
  vertical-align: top;
}
.woocommerce table.shop_attributes tr:nth-child(2n) td,
.woocommerce table.shop_attributes tr:nth-child(2n) th {
  background-color: #EBE9EB;
}
.woocommerce table.shop_attributes td {
  padding: 8px;
  padding-left: 0;
}
.woocommerce table.shop_attributes td p {
  padding: 0;
}
.woocommerce table.shop_attributes th {
  text-align: right;
}

.woocommerce table.shop_table {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}
.woocommerce table.shop_table tfoot th {
  text-align: right;
}
.woocommerce table.shop_table .quantity .qty {
  width: 6em;
}

.woocommerce form .form-row label {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-weight: 700;
}

.woocommerce ul.order_details {
  background-color: #EBE9EB;
  background-image: linear-gradient(135deg, #FFFFFF 50%, transparent 50%), linear-gradient(225deg, #FFFFFF 50%, transparent 50%), linear-gradient(45deg, #FFFFFF 50%, transparent 50%), linear-gradient(-45deg, #FFFFFF 50%, transparent 50%);
  background-position: top left, top left, bottom left, bottom left;
  background-repeat: repeat-x;
  background-size: 1em 1em;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  padding: 2em 0;
}
.woocommerce ul.order_details li {
  border-bottom: 1px dashed #DFDCDE;
  border-right: 0;
  float: none;
  padding: 0.75em 1.25em;
}

.woocommerce .woocommerce-customer-details h2,
.woocommerce .woocommerce-order-details h2,
.woocommerce .woocommerce-order-downloads h2 {
  font-size: 1.5em;
}

.woocommerce .woocommerce-customer-details address {
  margin-bottom: 1em !important;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
}
.woocommerce-account .addresses .title h3, .woocommerce-account .addresses .woocommerce-MyAccount-content form > h3 h3, .woocommerce-account .woocommerce-MyAccount-content .addresses form > h3 h3, .woocommerce-account .addresses .woocommerce > h2 h3, .woocommerce-account .addresses .woocommerce .woocommerce-order h2.woocommerce-column__title h3, .woocommerce .woocommerce-order .woocommerce-account .addresses h2.woocommerce-column__title h3, .woocommerce-account .addresses .woocommerce .woocommerce-order h2.woocommerce-order-details__title h3, .woocommerce .woocommerce-order .woocommerce-account .addresses h2.woocommerce-order-details__title h3, .woocommerce-account .addresses .woocommerce .checkout h3 h3, .woocommerce .checkout .woocommerce-account .addresses h3 h3, .woocommerce-account .addresses .woocommerce .product .related > h2 h3, .woocommerce .product .woocommerce-account .addresses .related > h2 h3,
.woocommerce-account .addresses .woocommerce .product .upsells > h2 h3,
.woocommerce .product .woocommerce-account .addresses .upsells > h2 h3, .woocommerce-account .addresses .woocommerce h1.page-title h3, .woocommerce .woocommerce-account .addresses h1.page-title h3, .woocommerce-account .addresses .woocommerce .cart-collaterals h2 h3, .woocommerce .cart-collaterals .woocommerce-account .addresses h2 h3,
.woocommerce-account .addresses .woocommerce-page .cart-collaterals h2 h3,
.woocommerce-page .cart-collaterals .woocommerce-account .addresses h2 h3, .woocommerce-account .addresses .woocommerce div.product .product_title h3, .woocommerce div.product .woocommerce-account .addresses .product_title h3, .woocommerce-account .addresses .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 h3, .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-account .addresses h2 h3, .woocommerce-account .addresses .woocommerce ul.products li.product .woocommerce-loop-category__title h3, .woocommerce ul.products li.product .woocommerce-account .addresses .woocommerce-loop-category__title h3,
.woocommerce-account .addresses .woocommerce ul.products li.product .woocommerce-loop-product__title h3,
.woocommerce ul.products li.product .woocommerce-account .addresses .woocommerce-loop-product__title h3,
.woocommerce-account .addresses .woocommerce ul.products li.product h3 h3,
.woocommerce ul.products li.product .woocommerce-account .addresses h3 h3, .woocommerce-account .addresses .woocommerce .woocommerce-customer-details h2 h3, .woocommerce .woocommerce-customer-details .woocommerce-account .addresses h2 h3,
.woocommerce-account .addresses .woocommerce .woocommerce-order-details h2 h3,
.woocommerce .woocommerce-order-details .woocommerce-account .addresses h2 h3,
.woocommerce-account .addresses .woocommerce .woocommerce-order-downloads h2 h3,
.woocommerce .woocommerce-order-downloads .woocommerce-account .addresses h2 h3 {
  margin: 0;
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  border-radius: 0;
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  padding: 0;
}

#add_payment_method #payment ul.payment_methods li:not(:last-child),
.woocommerce-cart #payment ul.payment_methods li:not(:last-child),
.woocommerce-checkout #payment ul.payment_methods li:not(:last-child) {
  border-bottom: 1px solid #FFFFFF;
}

#add_payment_method #payment ul.payment_methods li input,
.woocommerce-cart #payment ul.payment_methods li input,
.woocommerce-checkout #payment ul.payment_methods li input {
  left: -999em;
  position: absolute;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
  background: none;
  margin: 0;
}
#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
  display: none;
}

#add_payment_method #payment div.payment_box p:first-child,
.woocommerce-cart #payment div.payment_box p:first-child,
.woocommerce-checkout #payment div.payment_box p:first-child {
  margin-top: 0;
}

#add_payment_method #payment .payment_method_paypal .about_paypal,
.woocommerce-cart #payment .payment_method_paypal .about_paypal,
.woocommerce-checkout #payment .payment_method_paypal .about_paypal {
  display: none;
}

/* custom */
.woocommerce__archive-results {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1em;
}

.woocommerce .product .related > h2,
.woocommerce .product .upsells > h2 {
  font-size: 1.5em;
}

.woocommerce form.woocommerce-checkout .col2-set .col-1,
.woocommerce form.woocommerce-checkout .col2-set .col-2,
.woocommerce-page form.woocommerce-checkout .col2-set .col-1,
.woocommerce-page form.woocommerce-checkout .col2-set .col-2 {
  float: none;
  width: auto;
}

@media (min-width: 48em) {
  .woocommerce form.woocommerce-checkout,
.woocommerce-page form.woocommerce-checkout {
    overflow: hidden;
  }
  .woocommerce form.woocommerce-checkout #customer_details,
.woocommerce-page form.woocommerce-checkout #customer_details {
    float: left;
    margin-right: 4.347826087%;
    width: 47.8260869565%;
  }
  .woocommerce form.woocommerce-checkout #order_review,
.woocommerce form.woocommerce-checkout #order_review_heading,
.woocommerce-page form.woocommerce-checkout #order_review,
.woocommerce-page form.woocommerce-checkout #order_review_heading {
    float: right;
    margin-right: 0;
    width: 47.8260869565%;
  }
}
.woocommerce .checkout h3 {
  font-size: 1.25em;
}

#add_payment_method #payment ul.payment_methods li label,
.woocommerce-cart #payment ul.payment_methods li label,
.woocommerce-checkout #payment ul.payment_methods li label {
  background: #DFDCDE;
  cursor: pointer;
  display: flex;
  font-weight: 700;
  padding: 0.5em 1em;
  transition: background-color 0.15s, color 0.15s;
}
#add_payment_method #payment ul.payment_methods li input:checked + label,
.woocommerce-cart #payment ul.payment_methods li input:checked + label,
.woocommerce-checkout #payment ul.payment_methods li input:checked + label {
  background-color: #2B4550;
  color: #FFFFFF;
}
#add_payment_method #payment ul.payment_methods li label img,
.woocommerce-cart #payment ul.payment_methods li label img,
.woocommerce-checkout #payment ul.payment_methods li label img {
  max-height: 32px;
}

.woocommerce .woocommerce-order h2.woocommerce-order-details__title {
  font-size: 1.5em;
}

.woocommerce .woocommerce-order h2.woocommerce-column__title {
  font-size: 1.25em;
}

.woocommerce-account .woocommerce > h2 {
  font-size: 1.25em;
}

.woocommerce form.login,
.woocommerce form.register {
  margin-top: 0;
}
.woocommerce form.login label.woocommerce-form-login__rememberme,
.woocommerce form.register label.woocommerce-form-login__rememberme {
  align-items: center;
  display: inline-flex;
}
.woocommerce form.login input.woocommerce-form__input.woocommerce-form__input-checkbox,
.woocommerce form.register input.woocommerce-form__input.woocommerce-form__input-checkbox {
  margin: 0 0.5em 0 0;
}
.woocommerce-Address-title {
  font-size: 1em;
}

.woocommerce-account .woocommerce-MyAccount-content form > h3 {
  font-size: 1.5em;
}

.woocommerce-account .woocommerce fieldset legend {
  padding: 0 0.5em;
}

.woocommerce-variation-add-to-cart {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}

/* ------------------------------------------------------------------------ *\
 * WP Caption
\* ------------------------------------------------------------------------ */
.wp-caption {
  margin: 0;
  max-width: 100%;
}

.wp-caption-image {
  display: block;
  width: 100%;
}

.wp-caption-text {
  color: #000000;
  font-family: "fira-sans", "Helvetica", "Arial", sans-serif;
  font-size: 1em;
  font-style: italic;
  line-height: 1.75em;
  margin: 0.875em 0em 1.75em;
}

/* ------------------------------------------------------------------------ *\
 * WP Gallery
\* ------------------------------------------------------------------------ */
.gallery {
  display: grid;
  grid-gap: 6rem;
}

@media (min-width: 48em) {
  .gallery-columns-1 {
    grid-template-columns: repeat(1, 1fr);
  }

  .gallery-columns-2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .gallery-columns-3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .gallery-columns-4 {
    grid-template-columns: repeat(4, 1fr);
  }

  .gallery-columns-5 {
    grid-template-columns: repeat(5, 1fr);
  }

  .gallery-columns-6 {
    grid-template-columns: repeat(6, 1fr);
  }

  .gallery-columns-7 {
    grid-template-columns: repeat(7, 1fr);
  }

  .gallery-columns-8 {
    grid-template-columns: repeat(8, 1fr);
  }

  .gallery-columns-9 {
    grid-template-columns: repeat(9, 1fr);
  }
}
.gallery-item {
  column-span: span 1;
  margin: 0;
}
.gallery-item img {
  width: 100%;
}

/* ------------------------------------------------------------------------ *\
 * Layout
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Page
\* ------------------------------------------------------------------------ */
html,
body {
  background: #434343;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  width: 100%;
}

body {
  overflow-x: hidden;
}

.page__container {
  background: #434343;
  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;
}

/* ------------------------------------------------------------------------ *\
 * Alert
\* ------------------------------------------------------------------------ */
.alert-block {
  position: relative;
}
.alert-block {
  background: #C62828;
  display: none;
  padding: 18.75px 25px;
  padding: 1.171875rem 1.5625rem;
}
.alert-block.is-active {
  display: block;
}

.alert__inner {
  margin: 0 auto;
  max-width: 1440px;
  max-width: 90rem;
}

.alert__row.row--padded {
  width: calc(100% + 1.5em);
}
.alert__row.row--padded > [class*=col-] {
  padding-right: 1.5em;
}

.alert__button, .alert__button:active {
  align-items: center;
  background: none;
  display: flex;
  height: 40px;
  height: 2.5rem;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 40px;
  width: 2.5rem;
}

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

/* ------------------------------------------------------------------------ *\
 * Header
\* ------------------------------------------------------------------------ */
.header-block {
  position: relative;
  z-index: 5;
}
.header-block {
  background: #FFFFFF;
  padding: 0px 25px;
  padding: 0rem 1.5625rem;
}

.header__inner {
  margin: 0 auto;
  max-width: 1440px;
  max-width: 90rem;
  max-width: calc(90rem + (0.75em * 2));
  padding: 25px 0px;
  padding: 1.5625rem 0rem;
  position: relative;
}

@media (max-width: 63.9375em) {
  .header__row.row--padded-tight {
    width: 100%;
  }
  .header__row.row--padded-tight > [class*=col-] {
    padding-right: 0;
  }
}

.header__logo {
  max-width: 100%;
  width: 12.5em;
}
@media (max-width: 63.9375em) {
  .header__logo {
    margin-left: 0.78125em;
  }
}

.header__menu-list__container.menu-list__container--social {
  position: absolute;
  right: 0;
  top: 6px;
  top: 0.375rem;
}
.header__menu-list__container .menu-list--icons {
  transform: translateX(0.4em);
}
.header__menu-list__container .menu-list--navigation {
  display: flex;
  justify-content: space-between;
}
.header__menu-list__container .menu-list--navigation.menu-list--primary {
  transform: translateX(-0.75em);
}
.header__menu-list__container .menu-list--navigation.menu-list--secondary {
  transform: translateX(0.75em);
}
.header__menu-list__container .menu-list--navigation > .menu-list__item {
  display: flex;
  flex: 0 1 auto;
}

/* ------------------------------------------------------------------------ *\
 * Navigation
\* ------------------------------------------------------------------------ */
.navigation-block {
  position: relative;
  z-index: 4;
}
.navigation-block {
  background: #FFFFFF;
}

.navigation__inner {
  margin: 0 auto;
  max-width: 1440px;
  max-width: 90rem;
  max-width: calc(90rem + 1.6em);
}

.navigation__figure {
  margin: 0em 0em 0.5em;
}

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

.navigation__menu-list__container.menu-list__container--social {
  padding-left: 6px;
  padding-left: 0.375rem;
}

/* flyout variant */
.navigation-block--flyout {
  background: none;
  height: 100vh;
  height: -webkit-fill-available;
  position: fixed;
  right: 999em;
  top: -999em;
  transition: right 0s 0.25s, top 0s 0.25s, visibility 0s 0.25s;
  visibility: hidden;
  width: 100vw;
  z-index: 100001;
}
.navigation-block--flyout .navigation__inner {
  background: #FFFFFF;
  border-top: 10px solid #2B4550;
  border-top: 0.625rem solid #2B4550;
  float: right;
  height: 100%;
  margin: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 0;
  position: relative;
  transform: translateX(17.5em);
  transition: transform 0.25s;
  width: 17.5em;
  z-index: 2;
}
.navigation-block--flyout .navigation__overlay {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: rgba(0, 0, 0, 0.6);
  border: 0;
  content: "";
  cursor: pointer;
  display: block;
  height: 100%;
  margin: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  right: 999em;
  top: -999em;
  transition: right 0s 0.25s, top 0s 0.15s, opacity 0.25s, visibility 0s 0.25s;
  visibility: hidden;
  width: 100%;
  z-index: 1;
}
.menu-active .navigation-block--flyout {
  right: 0;
  top: 0;
  transition: none;
  visibility: visible;
}
.menu-active .navigation-block--flyout .navigation__inner {
  transform: translateX(0);
}
.menu-active .navigation-block--flyout .navigation__overlay {
  opacity: 1;
  right: 0;
  top: 0;
  transition: opacity 0.25s;
  visibility: visible;
}

/* ------------------------------------------------------------------------ *\
 * Hero
\* ------------------------------------------------------------------------ */
.hero-block {
  position: relative;
  z-index: 3;
}
.hero-block {
  background: #FFFFFF;
  padding: 31.25px 25px;
  padding: 1.953125rem 1.5625rem;
}

.hero__inner {
  margin: 0 auto;
  max-width: 1440px;
  max-width: 90rem;
}
.hero__inner.hero__inner--width-100 {
  max-width: 100%;
}

/* ------------------------------------------------------------------------ *\
 * Callouts
\* ------------------------------------------------------------------------ */
.callouts-block {
  position: relative;
}
.callouts-block {
  background: #FFFFFF;
  padding: 0px 25px;
  padding: 0rem 1.5625rem;
}

@media (max-width: 47.9375em) {
  .callouts__callout:not(:last-child) {
    margin-bottom: 0.625rem;
  }
}

/* ------------------------------------------------------------------------ *\
 * Content
\* ------------------------------------------------------------------------ */
.content-block {
  position: relative;
  z-index: 2;
}
.content-block {
  background: #FFFFFF;
  padding: 70px 25px;
  padding: 4.375rem 1.5625rem;
}

.content__inner {
  margin: 0 auto;
  max-width: 1440px;
  max-width: 90rem;
}

.content__menu-list__container {
  margin-bottom: 1.25em;
}

.content__sidebar__button {
  padding-left: 35px;
  padding-left: 2.1875rem;
  padding-right: 35px;
  padding-right: 2.1875rem;
  width: 100%;
}

/* ------------------------------------------------------------------------ *\
 * CTA
\* ------------------------------------------------------------------------ */
.cta-block {
  position: relative;
}
.cta-block {
  background: #2B4550;
  padding: 20px 25px;
  padding: 1.25rem 1.5625rem;
  text-align: center;
}

.cta__inner {
  overflow: hidden;
}

.cta__row.row--padded {
  width: calc(100% + 2.8125em);
}
.cta__row.row--padded > [class*=col-] {
  padding-right: 2.8125em;
}

.cta__button {
  background: #406270;
  font-size: calc(1.25em + 0.3125 * ((100vw - 48em) / 32));
  justify-content: center;
  margin-bottom: 0;
  width: 100%;
}

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

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

.cta__text {
  color: #FFFFFF;
  font-size: calc(1.25em + 0.3125 * ((100vw - 48em) / 32));
  font-weight: 700;
  margin-bottom: 1.2em;
}

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

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

/* ------------------------------------------------------------------------ *\
 * Footer
\* ------------------------------------------------------------------------ */
.footer-block {
  position: relative;
  z-index: 1;
}
.footer-block {
  background: #434343;
  padding: 75px 25px 110px;
  padding: 4.6875rem 1.5625rem 6.875rem;
}
@media (max-width: 47.9375em) {
  .footer-block {
    text-align: center;
  }
}

.footer__inner {
  margin: 0 auto;
  max-width: 1440px;
  max-width: 90rem;
}

.footer__row.row--padded {
  width: calc(100% + 1.40625em);
}
.footer__row.row--padded > [class*=col-] {
  padding-right: 1.40625em;
}
.footer__row.row--padded-loose {
  width: calc(100% + 3.75em);
}
.footer__row.row--padded-loose > [class*=col-] {
  padding-right: 3.75em;
}

.footer__button {
  background: #FFFFFF;
  color: #434343;
  font-size: 0.875em;
  text-align: left;
}
.footer__button:active {
  background-color: #F0F0F0;
}

.footer__text {
  color: #FFFFFF;
  font-size: 0.8125em;
  line-height: 1.1538461538em;
  margin-bottom: 1.1538461538em;
}

.footer__award {
  display: block;
  margin: 0em 0em 1.875em;
  width: 4.375em;
}
.footer__award .footer__award__image {
  display: block;
  width: 100%;
}

.footer__logo {
  margin: 0em auto 1.875em;
  max-width: 100%;
  width: 15.625em;
}

@media (min-width: 30em) {
  /* ------------------------------------------------------------------------ *\
   * Module
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Layout
  \* ------------------------------------------------------------------------ */
}
@media (min-width: 40em) {
  /* ------------------------------------------------------------------------ *\
   * Module
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Swiper (http://idangero.us/swiper/)
  \* ------------------------------------------------------------------------ */
  .swiper-slide--enlarge .swiper__picture {
    height: 30.625em;
  }

  /* ------------------------------------------------------------------------ *\
   * Layout
  \* ------------------------------------------------------------------------ */
}
@media (min-width: 48em) {
  /* ------------------------------------------------------------------------ *\
   * Module
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Callout
  \* ------------------------------------------------------------------------ */
  .callout {
    height: 21.25rem;
  }

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

  /* ------------------------------------------------------------------------ *\
   * Swiper (http://idangero.us/swiper/)
  \* ------------------------------------------------------------------------ */
  /* cards variant */
  .swiper-container__container--cards {
    padding: 0em 5em;
  }

  /* ------------------------------------------------------------------------ *\
   * Layout
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * CTA
  \* ------------------------------------------------------------------------ */

  /* ------------------------------------------------------------------------ *\
   * Callouts
  \* ------------------------------------------------------------------------ */

  /* ------------------------------------------------------------------------ *\
   * Footer
  \* ------------------------------------------------------------------------ */
}
@media screen and (min-width: 48em) and (min-width: 1600px) {
  .swiper-container__container--cards {
    margin-left: -5em;
    width: calc(100% + 10em);
  }
}
@media (min-width: 48em) {
  .cta-block {
    border: 1.25em solid #FFFFFF;
    border-left: 0;
    border-right: 0;
    padding: 0;
  }
}
@media (min-width: 48em) {
  .cta__text {
    margin-bottom: 0;
  }
}
@media (min-width: 48em) {
  .callouts-block {
    padding: 0;
  }
}
@media (min-width: 48em) and (max-width: 79.9375em) {
  .callouts-block {
    font-size: 1.25vw;
  }
}
@media (min-width: 48em) {
  .callouts__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media (min-width: 48em) {
  .callouts__callout {
    flex: 1 1 20%;
    min-width: 0;
  }
}
@media (min-width: 48em) {
  .footer-block {
    background-image: url("/source/b37c6538d5c581f39509335731594185/background-footer.jpg");
    background-position: center top;
    background-repeat: no-repeat;
    padding-bottom: 1.5625rem;
    padding-top: 5rem;
  }
}
@media screen and (min-width: 48em) and (min-width: 2000px) {
  .footer-block {
    background-image: url("/source/6c83da7a85042018ae5c7ff3f43ad9e4/background-footer_fade.jpg");
  }
}
@media (min-width: 48em) {
  .footer__award {
    margin-bottom: 3.125em;
    width: 5.3125em;
  }
}
@media (min-width: 48em) {
  .footer__logo {
    margin-bottom: 3.125em;
    width: 14.0625em;
  }
}
@media (min-width: 53.3125em) {
  /* ------------------------------------------------------------------------ *\
   * Module
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Layout
  \* ------------------------------------------------------------------------ */
}
@media (min-width: 60em) {
  /* ------------------------------------------------------------------------ *\
   * Module
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Layout
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Content
  \* ------------------------------------------------------------------------ */
  .content__sidebar {
    width: 22.5rem;
  }
}
@media (min-width: 64em) {
  /* ------------------------------------------------------------------------ *\
   * Module
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Callout
  \* ------------------------------------------------------------------------ */
  .callout {
    height: 28.125rem;
  }

  /* ------------------------------------------------------------------------ *\
   * Swiper (http://idangero.us/swiper/)
  \* ------------------------------------------------------------------------ */
  .swiper-slide--enlarge .swiper__picture {
    height: 35.9375em;
  }

  /* ------------------------------------------------------------------------ *\
   * Layout
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Header
  \* ------------------------------------------------------------------------ */
  .header-block {
    border-top: 0.625rem solid #2B4550;
  }
}
@media (min-width: 64em) and (max-width: 79.9375em) {
  .header-block {
    font-size: 1.25vw;
  }
}
@media (min-width: 64em) {
  .header__inner {
    padding-bottom: 2.8125rem;
    padding-top: 2.8125rem;
  }
}
@media (min-width: 64em) {
  .header__logo {
    margin: 0 auto;
    width: 19.0625em;
  }
}
@media (min-width: 80em) {
  /* ------------------------------------------------------------------------ *\
   * Module
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Layout
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Header
  \* ------------------------------------------------------------------------ */
  .header__logo {
    width: 25.625em;
  }

  /* ------------------------------------------------------------------------ *\
   * Footer
  \* ------------------------------------------------------------------------ */
  .footer__row.row--padded-loose {
    width: calc(100% + 7.5em);
  }
  .footer__row.row--padded-loose > [class*=col-] {
    padding-right: 7.5em;
  }
}
@media (min-width: 85.375em) {
  /* ------------------------------------------------------------------------ *\
   * Module
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Layout
  \* ------------------------------------------------------------------------ */
}
@media (min-width: 90em) {
  /* ------------------------------------------------------------------------ *\
   * Module
  \* ------------------------------------------------------------------------ */
  /* ------------------------------------------------------------------------ *\
   * Layout
  \* ------------------------------------------------------------------------ */
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhlbHBlcnMvX2hlbHBlcnMuc2NzcyIsImhlbHBlcnMvX21peGlucy5zY3NzIiwiaGVscGVycy9fZnVuY3Rpb25zLnNjc3MiLCJoZWxwZXJzL192YXJpYWJsZXMuc2NzcyIsIm1vZGVybi5jc3MiLCJ2aWV3cy9fc2NyZWVuLnNjc3MiLCJiYXNlL2ZvbnRzL19mb250cy5zY3NzIiwiYmFzZS9mb250cy9fc2lnbnBhaW50ZXItaG91c2VzY3JpcHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCJiYXNlL25vcm1hbGl6ZS9fbm9ybWFsaXplLnNjc3MiLCJiYXNlL3NlbGVjdGlvbi9fc2VsZWN0aW9uLnNjc3MiLCJiYXNlL2FsaWduL19hbGlnbi5zY3NzIiwiYmFzZS9kaXZpZGVyL19kaXZpZGVyLnNjc3MiLCJiYXNlL2dyaWQvX2dyaWQuc2NzcyIsImJhc2UvbGluay9fbGluay5zY3NzIiwiYmFzZS9idXR0b24vX2J1dHRvbi5zY3NzIiwiPG5vIHNvdXJjZT4iLCJiYXNlL2lucHV0L19pbnB1dC5zY3NzIiwiYmFzZS90aXRsZS9fdGl0bGUuc2NzcyIsImJhc2UvdGV4dC9fdGV4dC5zY3NzIiwiYmFzZS9ibG9ja3F1b3RlL19ibG9ja3F1b3RlLnNjc3MiLCJiYXNlL3VzZXItY29udGVudC9fdXNlci1jb250ZW50LnNjc3MiLCJtb2R1bGUvYXJ0aWNsZS9fYXJ0aWNsZS5zY3NzIiwibW9kdWxlL2NhbGxvdXQvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9oYW5kb3JnZWwvc3JjL3Njc3Mvc3R5bGUuc2NzcyIsIm1vZHVsZS9oYW5kb3JnZWwvX2hhbmRvcmdlbC5zY3NzIiwibW9kdWxlL2lmcmFtZS9faWZyYW1lLnNjc3MiLCJtb2R1bGUvbG9nby9fbG9nby5zY3NzIiwibW9kdWxlL21lbnUtbGlzdC9fbWVudS1saXN0LnNjc3MiLCJtb2R1bGUvbmluamEtZm9ybXMvX25pbmphLWZvcm1zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm90eS9zcmMvbm90eS5zY3NzIiwibW9kdWxlL25vdHkvX25vdHkuc2NzcyIsIm1vZHVsZS9wYW5lbC10b2dnbGUvX3BhbmVsLXRvZ2dsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bob3Rvc3dpcGUvZGlzdC9waG90b3N3aXBlLmNzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9waG90b3N3aXBlL2Rpc3QvZGVmYXVsdC1za2luL2RlZmF1bHQtc2tpbi5jc3MiLCJtb2R1bGUvcGhvdG9zd2lwZS9fcGhvdG9zd2lwZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Njcm9sbC1oaW50L3Njc3Mvc2Nyb2xsLWhpbnQuc2NzcyIsIm1vZHVsZS9zY3JvbGwtaGludC9fc2Nyb2xsLWhpbnQuc2NzcyIsIm1vZHVsZS9zZWFyY2gtZm9ybS9fc2VhcmNoLWZvcm0uc2NzcyIsIm1vZHVsZS9za2lwLWxpbmtzL19za2lwLWxpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3dpcGVyL2Rpc3QvY3NzL3N3aXBlci5jc3MiLCJtb2R1bGUvc3dpcGVyL19zd2lwZXIuc2NzcyIsIm1vZHVsZS90cmliZS1ldmVudHMvX3RyaWJlLWV2ZW50cy5zY3NzIiwibW9kdWxlL3dpZGdldC9fd2lkZ2V0LnNjc3MiLCJtb2R1bGUvd29vY29tbWVyY2UvX3dvb2NvbW1lcmNlLnNjc3MiLCJtb2R1bGUvd3AtY2FwdGlvbi9fd3AtY2FwdGlvbi5zY3NzIiwibW9kdWxlL3dwLWdhbGxlcnkvX3dwLWdhbGxlcnkuc2NzcyIsImxheW91dC9wYWdlL19wYWdlLnNjc3MiLCJsYXlvdXQvYWxlcnQvX2FsZXJ0LnNjc3MiLCJsYXlvdXQvaGVhZGVyL19oZWFkZXIuc2NzcyIsImxheW91dC9uYXZpZ2F0aW9uL19uYXZpZ2F0aW9uLnNjc3MiLCJsYXlvdXQvaGVyby9faGVyby5zY3NzIiwibGF5b3V0L2NhbGxvdXRzL19jYWxsb3V0cy5zY3NzIiwibGF5b3V0L2NvbnRlbnQvX2NvbnRlbnQuc2NzcyIsImxheW91dC9jdGEvX2N0YS5zY3NzIiwibGF5b3V0L2Zvb3Rlci9fZm9vdGVyLnNjc3MiLCJ2aWV3cy9fc2NyZWVuX3h4eHMuc2NzcyIsInZpZXdzL19zY3JlZW5feHhzLnNjc3MiLCJtb2R1bGUvc3dpcGVyL19zd2lwZXJfeHhzLnNjc3MiLCJ2aWV3cy9fc2NyZWVuX3hzLnNjc3MiLCJtb2R1bGUvY2FsbG91dC9fY2FsbG91dF94cy5zY3NzIiwibW9kdWxlL2NvbHVtbnMvX2NvbHVtbnNfeHMuc2NzcyIsIm1vZHVsZS9zd2lwZXIvX3N3aXBlcl94cy5zY3NzIiwibGF5b3V0L2N0YS9fY3RhX3hzLnNjc3MiLCJsYXlvdXQvY2FsbG91dHMvX2NhbGxvdXRzX3hzLnNjc3MiLCJsYXlvdXQvZm9vdGVyL19mb290ZXJfeHMuc2NzcyIsInZpZXdzL19zY3JlZW5fcy5zY3NzIiwidmlld3MvX3NjcmVlbl9tLnNjc3MiLCJsYXlvdXQvY29udGVudC9fY29udGVudF9tLnNjc3MiLCJ2aWV3cy9fc2NyZWVuX2wuc2NzcyIsIm1vZHVsZS9jYWxsb3V0L19jYWxsb3V0X2wuc2NzcyIsIm1vZHVsZS9zd2lwZXIvX3N3aXBlcl9sLnNjc3MiLCJsYXlvdXQvaGVhZGVyL19oZWFkZXJfbC5zY3NzIiwidmlld3MvX3NjcmVlbl94bC5zY3NzIiwibGF5b3V0L2hlYWRlci9faGVhZGVyX3hsLnNjc3MiLCJsYXlvdXQvZm9vdGVyL19mb290ZXJfeGwuc2NzcyIsInZpZXdzL19zY3JlZW5feHhsLnNjc3MiLCJ2aWV3cy9fc2NyZWVuX3h4eGwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7NkVBQUE7QUNBQTs7NkVBQUE7QUNBQTs7NkVBQUE7QUFJQTs7Ozs7RUFBQTtBQVVBOzs7O0VBQUE7QUFTQTs7Ozs7O0VBQUE7QUErQkE7Ozs7O0VBQUE7QUFhQTs7Ozs7RUFBQTtBQ25FQTs7NkVBQUE7QUFvREE7OzZFQUFBO0FBUUE7OzZFQUFBO0FBUUE7OzZFQUFBO0FBTUE7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LHVEQUFBO0lBQ0EsK0JBQUE7SUFDQSw0QkFBQTtJQUNBLHlCQUFBO0lBQ0EsaUJBQUE7RTdEeXJNTjtBQUNGO0E2RHZyTUk7RUFUSjtJQVVRLDREQUFBO0U3RDByTU47QUFDRjtBSGpsTUk7RWdFckdBO0lBQ0ksc0JBQUE7SUFDQSxlQUFBO0U3RHlyTU47QUFDRjtBSHZsTUk7RWdFOUZBO0lBQ0ksc0JBQUE7SUFDQSxnQkFBQTtFN0R3ck1OO0FBQ0Y7QUg3bE1JO0VpRXhISjs7K0VBQUE7RUFJQTs7K0VBQUE7QTlEeXRNQTtBSHJtTUk7RWtFeEhKOzsrRUFBQTtFQUlBOzsrRUFBQTtFQ0pBOzsrRUFBQTtFQUtJO0lBQ0ksY0FBQTtFaEVvdU1OO0FBQ0Y7QUhubk1JO0VvRXhISjs7K0VBQUE7RUNBQTs7K0VBQUE7RUFLSTtJQUNJLGlCQUFBO0VsRSt1TU47O0VtRXJ2TUY7OytFQUFBO0VBT0k7SUFDSSxpQkFBQTtFbkVvdk1OOztFaUVydk1GOzsrRUFBQTtFR1BBOzsrRUFBQTtFQUtJO0lBQ0ksa0NBQUE7RXBFZ3dNTjtBQUNGO0FIN3BNSTtFdUV0R0o7SUFNUSxpQkFBQTtFcEVpd01OO0FBQ0Y7QUhwcE1JO0V1RXpHQTtJQUNJLHlCQUFBO0lBQ0Esc0JBQUE7RXBFZ3dNTjtBQUNGO0FIMXBNSTtFdUVsR0E7SUFDSSxjQUFBO0lBQ0EsZ0JBQUE7RXBFK3ZNTjtBQUNGO0FIaHFNSTtFd0V4SEo7OytFQUFBO0VBSUE7OytFQUFBO0VDSkE7OytFQUFBO0VBS0k7SUFDSSxlQUFBO0V0RSt4TU47O0V1RXJ5TUY7OytFQUFBO0VBTVE7SUFDSSx5QkFBQTtFdkVxeU1WO0V1RWx5TU07SUFDSSxvQkFBQTtFdkVveU1WO0FBQ0Y7QUh4ck1JO0UyRXhISjs7K0VBQUE7RUFJQTs7K0VBQUE7QXhFb3pNQTtBSGhzTUk7RTRFeEhKOzsrRUFBQTtFQUlBOzsrRUFBQTtBekU0ek1BIiwiZmlsZSI6Im1vZGVybi41MzEwOWM4OS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEhlbHBlcnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gaW1wb3J0c1xuXG5AaW1wb3J0IFwiX21peGluc1wiO1xuQGltcG9ydCBcIl9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJfdmFyaWFibGVzXCI7XG5cbi8vIGdlbmVyaWMgaGVscGVyc1xuXG4uX19kYXJrIHtcbiAgICBjb2xvcjogY29sb3IoXCJkYXJrXCIpICFpbXBvcnRhbnQ7XG59XG5cbi5fX2xpZ2h0IHtcbiAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKSAhaW1wb3J0YW50O1xufVxuXG4uX19iaWcge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtICFpbXBvcnRhbnQ7XG59XG5cbi5fX3NtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVlbSAhaW1wb3J0YW50O1xufVxuXG4uX19ib2xkIHtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbi5fX2l0YWxpYyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbi5fX3VuZGVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbn1cblxuLl9fdGV4dGNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5fX3RleHRsZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5fX3RleHRyaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLl9fbm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi5fX2NlbnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLl9fbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLl9fcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uX19ub21hcmdpbiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5fX25vcGFkZGluZyB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uX19ub3RyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5fX25vdHJhbnNpdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uX19ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLl9fZmxleCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4uX192aXN1YWxseWhpZGRlbiB7XG4gICAgbGVmdDogLTk5OWVtICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAtOTk5ZW0gIWltcG9ydGFudDtcbn1cblxuLl9fcHJpbWFyeSB7XG4gICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiKSAhaW1wb3J0YW50O1xufVxuXG4uX19hY2NlbnQge1xuICAgIGNvbG9yOiBjb2xvcihcImFjY2VudFwiKSAhaW1wb3J0YW50O1xufVxuXG4uX19lcnJvciB7XG4gICAgY29sb3I6IGNvbG9yKFwiZXJyb3JcIikgIWltcG9ydGFudDtcbn1cblxuLyogXCJ2aXNpYmxlXCIgY2xhc3NlcyAqL1xuXG5AZWFjaCAkbmFtZSwgJHNpemUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4oJG5hbWUpIHtcbiAgICAgICAgLl9fdmlzaWJsZS0jeyRuYW1lfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFwiaGlkZGVuXCIgY2xhc3NlcyAtLSBOT1RFOiBJdCBpcyBpbXBvcnRhbnQgdGhhdCBfX2hpZGRlbiBjbGFzc2VzIGNvbWUgYWZ0ZXIgX192aXNpYmxlIGZvciBvdmVycmlkZSBwdXJwb3NlcyAqL1xuXG5AZWFjaCAkbmFtZSwgJHNpemUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbigkbmFtZSkge1xuICAgICAgICAuX19oaWRkZW4tI3skbmFtZX0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNaXhpbnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gbnRoLWNoaWxkOiBodHRwczovL3BhdWx1bmQuY28udWsvbnRoLWNoaWxkLXNhc3MtbWl4aW5zXG5cbkBtaXhpbiBmaXJzdC1jaGlsZCgpIHtcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBsYXN0LWNoaWxkKCkge1xuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZXZlbigpIHtcbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIG9kZCgpIHtcbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZmlyc3QoJG51bSkge1xuICAgIEBpZiAkbnVtID09IDEge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICAmOm50aC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGFzdCgkbnVtKSB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYWZ0ZXIoJG51bSkge1xuICAgICY6bnRoLWNoaWxkKG4rI3skbnVtICsgMX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZnJvbS1lbmQoJG51bSkge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBiZXR3ZWVuKCRmaXJzdCwkbGFzdCkge1xuICAgICY6bnRoLWNoaWxkKG4rI3skZmlyc3R9KTpudGgtY2hpbGQoLW4rI3skbGFzdH0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYWxsLWJ1dCgkbnVtKSB7XG4gICAgJjpub3QoOm50aC1jaGlsZCgjeyRudW19KSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBlYWNoKCRudW0pIHtcbiAgICAmOm50aC1jaGlsZCgjeyRudW19bikge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIGxheWVyc1xuXG5AbWl4aW4gbGF5ZXIoJGxheWVyLW5hbWUpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogbWFwLWdldCgkbGF5ZXJzLCAkbGF5ZXItbmFtZSk7XG59XG5cbi8vIFNjYWxlIGR5bmFpbWNhbGx5IHVudGlsIGEgZ2l2ZW4gdmlld3BvcnRcblxuQG1peGluIHZpZXdwb3J0LXNjYWxlKCRzaXplOiAxNiwgJGJhc2U6IDEwMjQsICRtaW4td2lkdGg6IDAsICRtYXgtd2lkdGg6IG51bGwpIHtcbiAgICAkbWF4LXdpZHRoOiBpZigkbWF4LXdpZHRoID09IG51bGwsICRiYXNlLCAkbWF4LXdpZHRoKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IHJlbWlmeSgkbWluLXdpZHRoLCAxNikpIGFuZCAobWF4LXdpZHRoOiByZW1pZnkoJG1heC13aWR0aCwgMTYpKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogKCRzaXplIC8gJGJhc2UpICogMTAwdnc7XG4gICAgfVxufVxuXG4vLyBDcmVhdGUgYSBtZWRpYSBxdWVyeSByZWxhdGllIHRvIGEgYnJlYWsgcG9pbnQgdmFyaWFibGVcblxuQG1peGluIHNtYWxsZXItdGhhbigkcG9pbnQtbmFtZSwgJGluY2x1c2l2ZTogZmFsc2UpIHtcbiAgICAkd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQtbmFtZSk7XG5cbiAgICBAaWYgJGluY2x1c2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICR3aWR0aDogJHdpZHRoIC0gKDEgLyAxNik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICR3aWR0aCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIENyZWF0ZSBhIG1lZGlhIHF1ZXJ5IHJlbGF0aWUgdG8gYSBicmVhayBwb2ludCB2YXJpYWJsZVxuXG5AbWl4aW4gbGFyZ2VyLXRoYW4oJHBvaW50LW5hbWUsICRpbmNsdXNpdmU6IHRydWUpIHtcbiAgICAkd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQtbmFtZSk7XG5cbiAgICBAaWYgJGluY2x1c2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICR3aWR0aDogJHdpZHRoICsgKDEgLyAxNik7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZ1bmN0aW9uc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKlxuICogUmV0cmlldmUgYSBjb2xvciB2YXJpYWJsZVxuICpcbiAqIEBwYXJhbSAge3N0cmluZ30gICRjb2xvciAtIFRoZSBuYW1lIG9mIHRoZSBjb2xvciBhcyBkZWZpbmVkIGluIF92YXJpYWJsZXNcbiAqIEBwYXJhbSAge3N0cmluZ30gICR0b25lICAtIFRoZSB2YXJpYW50IG9mIHRoZSBjb2xvciAoc2hhZGV8YmFzZXx0aW50KVxuICovXG5AZnVuY3Rpb24gY29sb3IoJGNvbG9yLCAkdG9uZTogYmFzZSkge1xuICAgIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICRjb2xvciksICR0b25lKTtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRudW1iZXJcbiAqL1xuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuICAgIEByZXR1cm4gaWYodHlwZS1vZigkbnVtYmVyKSA9PSBcIm51bWJlclwiIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlciksICRudW1iZXIgLyAoJG51bWJlciAqIDAgKzEpLCAkbnVtYmVyKTtcbn1cblxuLypcbiAqIENvbnZlcnQgUFggdW5pdHMgaW4gdG8gRU0gb3IgUkVNLCByZWxhdGl2ZSB0byBhIHNwZWNpZmllZCBiYXNlIHNpemVzXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgJHNpemUgLSBBcnJheSBvZiB1cCB0byBmb3VyIHNpemVzIGluIFBYIHVuaXRzXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIEZvbnQgc2l6ZSB0byBiYXNlIGNhbGN1bGF0aW9ucyBvZmYgb2ZcbiAqIEBwYXJhbSAge1N0cmluZ30gICR1bml0IC0gRWl0aGVyIFwiZW1cIiBvciBcInJlbVwiXG4gKi9cbkBmdW5jdGlvbiByZW1pZnkoJHNpemVzOiAoJHNpemUxLCAkc2l6ZTIsICRzaXplMywgJHNpemU0KSwgJGJhc2U6IG51bGwsICR1bml0OiBudWxsKSB7XG4gICAgJHVuaXQ6IGlmKCR1bml0ID09IG51bGwsIGlmKCRiYXNlID09IG51bGwsIHJlbSwgZW0pLCAkdW5pdCk7XG4gICAgJGJhc2U6IGlmKCRiYXNlID09IG51bGwsIDE2LCBzdHJpcC11bml0KCRiYXNlKSk7XG4gICAgJG91dHB1dDogXCJcIjtcblxuICAgIEBlYWNoICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICRzaXplOiBzdHJpcC11bml0KCRzaXplKTtcblxuICAgICAgICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gXCJudW1iZXJcIiB7XG4gICAgICAgICAgICAvLyBhZGQgYXMgc3BhY2UgaWYgJG91dHB1dCBhbHJlYWR5IGhhcyBhIHZhbHVlXG4gICAgICAgICAgICAkb3V0cHV0OiBpZigkb3V0cHV0ID09IFwiXCIsIFwiXCIsICRvdXRwdXQgKyBcIiBcIik7XG4gICAgICAgICAgICAvLyBjYWxjdWxhdGUsIGFwcGVuZCB2YWx1ZSB0byAkb3V0cHV0XG4gICAgICAgICAgICAkb3V0cHV0OiAkb3V0cHV0ICsgKChzdHJpcC11bml0KCRzaXplKSAvIHN0cmlwLXVuaXQoJGJhc2UpKSArICR1bml0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIC8vIHBhc3MgdGhlIHZhbHVlIHRocm91Z2ggdW5jaGFnbmVkIGlmICRzaXplIGlzIG5vdCBhIG51bWJlclxuICAgICAgICAgICAgJG91dHB1dDogJG91dHB1dCArIFwiIFwiICsgJHNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIGlmKHR5cGUtb2YoJG91dHB1dCkgPT0gXCJzdHJpbmdcIiwgdW5xdW90ZSgkb3V0cHV0KSwgJG91dHB1dCk7XG59XG5cbi8qXG4gKiBDb252ZXJ0IFBob3Rvc2hvcCBsZWFkaW5nIHRvIENTUyBsaW5lLWhlaWdodFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gVmFsdWUgb2YgTGVhZGluZyBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqIEBwYXJhbSAge051bWJlcn0gICRiYXNlIC0gVmFsdWUgb2YgRm9udCBTaXplIGluIFBob3Rvc29ocCdzIENoYXJhY3RlciBQYW5lbFxuICovXG5AZnVuY3Rpb24gbGVhZGluZygkc2l6ZSwgJGJhc2U6IG51bGwpIHtcbiAgICAkYmFzZTogaWYoJGJhc2UgPT0gbnVsbCwgMTYsIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgICAkb3V0cHV0OiAkYmFzZSArIChzdHJpcC11bml0KCRzaXplKSAvIDIpO1xuXG4gICAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vKlxuICogQ29udmVydCBQaG90b3Nob3AgdHJhY2tpbmcgdG8gQ1NTIGxldHRlci1zcGFjaW5nXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgJHNpemUgLSBWYWx1ZSBvZiBUcmFja2luZyBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqIEBwYXJhbSAge051bWJlcn0gICRiYXNlIC0gVmFsdWUgb2YgRm9udCBTaXplIGluIFBob3Rvc29ocCdzIENoYXJhY3RlciBQYW5lbFxuICovXG5AZnVuY3Rpb24gdHJhY2tpbmcoJHNpemUsICRiYXNlOiBudWxsKSB7XG4gICAgJGJhc2U6IGlmKCRiYXNlID09IG51bGwsIDE2LCBzdHJpcC11bml0KCRiYXNlKSk7XG4gICAgJG91dHB1dDogKCRzaXplIC8gMTAwMCkgKiBzdHJpcC11bml0KCRiYXNlKTtcblxuICAgIEByZXR1cm4gJG91dHB1dDtcbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29sb3JzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRjb2xvcnM6IChcbiAgICBcInByaW1hcnlcIjogKFxuICAgICAgICB0aW50OiAgIzQwNjI3MCxcbiAgICAgICAgYmFzZTogICMyQjQ1NTAsXG4gICAgICAgIHNoYWRlOiAjMTcyODJGLFxuICAgICksXG4gICAgXCJhY2NlbnRcIjogKFxuICAgICAgICB0aW50OiAgI0I5QzdDMyxcbiAgICAgICAgYmFzZTogICM5OUIyQUIsXG4gICAgICAgIHNoYWRlOiAjNzg5RTk0LFxuICAgICksXG4gICAgXCJlcnJvclwiOiAoXG4gICAgICAgIHRpbnQ6ICAjRDc0QzRDLFxuICAgICAgICBiYXNlOiAgI0M2MjgyOCxcbiAgICAgICAgc2hhZGU6ICM5RDFDMUMsXG4gICAgKSxcbiAgICBcInN1Y2Nlc3NcIjogKFxuICAgICAgICB0aW50OiAgIzRDRDc4MixcbiAgICAgICAgYmFzZTogICMyOEM2NjUsXG4gICAgICAgIHNoYWRlOiAjMUM5RDRFLFxuICAgICksXG4gICAgXCJmb3JlZ3JvdW5kXCI6IChcbiAgICAgICAgdGludDogICMyNTI1MjUsXG4gICAgICAgIGJhc2U6ICAjMDAwMDAwLFxuICAgICAgICBzaGFkZTogIzAwMDAwMCxcbiAgICApLFxuICAgIFwiYmFja2dyb3VuZFwiOiAoXG4gICAgICAgIHRpbnQ6ICAjRkZGRkZGLFxuICAgICAgICBiYXNlOiAgI0ZGRkZGRixcbiAgICAgICAgc2hhZGU6ICNEQURBREEsXG4gICAgKSxcbiAgICBcInBhZ2UtYmFja2dyb3VuZFwiOiAoXG4gICAgICAgIHRpbnQ6ICAjNjg2ODY4LFxuICAgICAgICBiYXNlOiAgIzQzNDM0MyxcbiAgICAgICAgc2hhZGU6ICMxRTFFMUUsXG4gICAgKSxcbiAgICBcImxpZ2h0XCI6IChcbiAgICAgICAgdGludDogICNGRkZGRkYsXG4gICAgICAgIGJhc2U6ICAjRkZGRkZGLFxuICAgICAgICBzaGFkZTogI0YwRjBGMCxcbiAgICApLFxuICAgIFwiZGFya1wiOiAoXG4gICAgICAgIHRpbnQ6ICAjMEYwRjBGLFxuICAgICAgICBiYXNlOiAgIzAwMDAwMCxcbiAgICAgICAgc2hhZGU6ICMwMDAwMDAsXG4gICAgKSxcbik7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZvbnRzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRoZWFkaW5nLWZvbnQ6IFwiZmlyYS1zYW5zXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRhY2NlbnQtZm9udDogXCJTaWduUGFpbnRlciBIb3VzZVNjcmlwdFwiLCAkaGVhZGluZy1mb250O1xuJGJvZHktZm9udDogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBXaWR0aHNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJHNpdGUtd2lkdGg6IDE0NDA7XG4kY29sdW1uLWdhcDogOTY7XG4kY29udGVudC1wYWRkaW5nOiAyNTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29sdW1uIENvdW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRjb2x1bW4tY291bnQ6IDEyO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBCcmVhayBQb2ludHNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJHh4eGwtYnJlYWs6IDE0NDBlbSAvIDE2O1xuJHh4bC1icmVhazogIDEzNjZlbSAvIDE2O1xuJHhsLWJyZWFrOiAgIDEyODBlbSAvIDE2O1xuJGwtYnJlYWs6ICAgIDEwMjRlbSAvIDE2O1xuJG0tYnJlYWs6ICAgIDk2MGVtIC8gMTY7XG4kcy1icmVhazogICAgODUzZW0gLyAxNjtcbiR4cy1icmVhazogICA3NjhlbSAvIDE2O1xuJHh4cy1icmVhazogIDY0MGVtIC8gMTY7XG4keHh4cy1icmVhazogNDgwZW0gLyAxNjtcblxuJGJyZWFrcG9pbnRzOiAoXG4gICAgeHh4czogJHh4eHMtYnJlYWssXG4gICAgeHhzOiAgJHh4cy1icmVhayxcbiAgICB4czogICAkeHMtYnJlYWssXG4gICAgczogICAgJHMtYnJlYWssXG4gICAgbTogICAgJG0tYnJlYWssXG4gICAgbDogICAgJGwtYnJlYWssXG4gICAgeGw6ICAgJHhsLWJyZWFrLFxuICAgIHh4bDogICR4eGwtYnJlYWssXG4gICAgeHh4bDogJHh4eGwtYnJlYWssXG4pO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXllcnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJGxheWVyczogKFxuICAgIGhlYWRlcjogNSxcbiAgICBuYXZpZ2F0aW9uOiA0LFxuICAgIGhlcm86IDMsXG4gICAgY29udGVudDogMixcbiAgICBmb290ZXI6IDEsXG4pO1xuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogSGVscGVyc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTWl4aW5zXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGdW5jdGlvbnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gKiBSZXRyaWV2ZSBhIGNvbG9yIHZhcmlhYmxlXG4gKlxuICogQHBhcmFtICB7c3RyaW5nfSAgJGNvbG9yIC0gVGhlIG5hbWUgb2YgdGhlIGNvbG9yIGFzIGRlZmluZWQgaW4gX3ZhcmlhYmxlc1xuICogQHBhcmFtICB7c3RyaW5nfSAgJHRvbmUgIC0gVGhlIHZhcmlhbnQgb2YgdGhlIGNvbG9yIChzaGFkZXxiYXNlfHRpbnQpXG4gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkbnVtYmVyXG4gKi9cbi8qXG4gKiBDb252ZXJ0IFBYIHVuaXRzIGluIHRvIEVNIG9yIFJFTSwgcmVsYXRpdmUgdG8gYSBzcGVjaWZpZWQgYmFzZSBzaXplc1xuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gQXJyYXkgb2YgdXAgdG8gZm91ciBzaXplcyBpbiBQWCB1bml0c1xuICogQHBhcmFtICB7TnVtYmVyfSAgJGJhc2UgLSBGb250IHNpemUgdG8gYmFzZSBjYWxjdWxhdGlvbnMgb2ZmIG9mXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICAkdW5pdCAtIEVpdGhlciBcImVtXCIgb3IgXCJyZW1cIlxuICovXG4vKlxuICogQ29udmVydCBQaG90b3Nob3AgbGVhZGluZyB0byBDU1MgbGluZS1oZWlnaHRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkc2l6ZSAtIFZhbHVlIG9mIExlYWRpbmcgaW4gUGhvdG9zaG9wJ3MgQ2hhcmFjdGVyIFBhbmVsXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIFZhbHVlIG9mIEZvbnQgU2l6ZSBpbiBQaG90b3NvaHAncyBDaGFyYWN0ZXIgUGFuZWxcbiAqL1xuLypcbiAqIENvbnZlcnQgUGhvdG9zaG9wIHRyYWNraW5nIHRvIENTUyBsZXR0ZXItc3BhY2luZ1xuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gVmFsdWUgb2YgVHJhY2tpbmcgaW4gUGhvdG9zaG9wJ3MgQ2hhcmFjdGVyIFBhbmVsXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIFZhbHVlIG9mIEZvbnQgU2l6ZSBpbiBQaG90b3NvaHAncyBDaGFyYWN0ZXIgUGFuZWxcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29sb3JzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGb250c1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogV2lkdGhzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb2x1bW4gQ291bnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEJyZWFrIFBvaW50c1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5ZXJzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uX19kYXJrIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cblxuLl9fbGlnaHQge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4uX19iaWcge1xuICBmb250LXNpemU6IDEuMjVlbSAhaW1wb3J0YW50O1xufVxuXG4uX19zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43NWVtICFpbXBvcnRhbnQ7XG59XG5cbi5fX2JvbGQge1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbi5fX2l0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG4uX191bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xufVxuXG4uX190ZXh0Y2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5fX3RleHRsZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uX190ZXh0cmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uX19ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi5fX2NlbnRlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uX19sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLl9fcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLl9fbm9tYXJnaW4ge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLl9fbm9wYWRkaW5nIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uX19ub3RyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uX19ub3RyYW5zaXRpb24ge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5fX2Jsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLl9fZmxleCB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbn1cblxuLl9fdmlzdWFsbHloaWRkZW4ge1xuICBsZWZ0OiAtOTk5ZW0gIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogLTk5OWVtICFpbXBvcnRhbnQ7XG59XG5cbi5fX3ByaW1hcnkge1xuICBjb2xvcjogIzJCNDU1MCAhaW1wb3J0YW50O1xufVxuXG4uX19hY2NlbnQge1xuICBjb2xvcjogIzk5QjJBQiAhaW1wb3J0YW50O1xufVxuXG4uX19lcnJvciB7XG4gIGNvbG9yOiAjQzYyODI4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFwidmlzaWJsZVwiIGNsYXNzZXMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgLl9fdmlzaWJsZS14eHhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLl9fdmlzaWJsZS14eHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuX192aXNpYmxlLXhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1My4yNWVtKSB7XG4gIC5fX3Zpc2libGUtcyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTkuOTM3NWVtKSB7XG4gIC5fX3Zpc2libGUtbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5fX3Zpc2libGUtbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC5fX3Zpc2libGUteGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAuX192aXNpYmxlLXh4bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5fX3Zpc2libGUteHh4bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBcImhpZGRlblwiIGNsYXNzZXMgLS0gTk9URTogSXQgaXMgaW1wb3J0YW50IHRoYXQgX19oaWRkZW4gY2xhc3NlcyBjb21lIGFmdGVyIF9fdmlzaWJsZSBmb3Igb3ZlcnJpZGUgcHVycG9zZXMgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5fX2hpZGRlbi14eHhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5fX2hpZGRlbi14eHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLl9faGlkZGVuLXhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1My4zMTI1ZW0pIHtcbiAgLl9faGlkZGVuLXMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLl9faGlkZGVuLW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLl9faGlkZGVuLWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLl9faGlkZGVuLXhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAuX19oaWRkZW4teHhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5fX2hpZGRlbi14eHhsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEJhc2VcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZvbnRzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTaWduUGFpbnRlciBIb3VzZVNjcmlwdFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiU2lnblBhaW50ZXIgSG91c2VTY3JpcHRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uL21lZGlhL2ZvbnRzL3NpZ25wYWludGVyLWhvdXNlc2NyaXB0LzQwMC9ub3JtYWwvd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vbWVkaWEvZm9udHMvc2lnbnBhaW50ZXItaG91c2VzY3JpcHQvNDAwL25vcm1hbC93ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTm9ybWFsaXplXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4LCBzZWxlY3Rvci1tYXgtdHlwZSwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlICovXG4vKiBUaGVzZSBzdHlsZXMgYXJlIGludGVuZGVkIHRvIGJlIGdsb2JhbCAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5zdmcge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIFJlbW92ZSBvdXRsaW5lIGZvciBub24ta2V5Ym9hcmQgOmZvY3VzICovXG4qOmZvY3VzOm5vdCguZm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTZWxlY3Rpb25cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5QjJBQjtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEFsaWdubWVudFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFsaWdubGVmdCxcbi5hbGlnbnJpZ2h0LFxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMHJlbSBhdXRvIDIuODEyNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYWxpZ25sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQuNjg3NXJlbTtcbiAgfVxuXG4gIC5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDQuNjg3NXJlbTtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogRGl2aWRlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmRpdmlkZXIge1xuICBiYWNrZ3JvdW5kOiAjMkI0NTUwO1xuICBib3JkZXI6IDA7XG4gIGNsZWFyOiBib3RoO1xuICBoZWlnaHQ6IDAuMTI1cmVtO1xuICBtYXJnaW46IDAuOTM3NWVtIDBlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEdyaWQgKGJhc2VkIGxvb3NlbHkgb24gaHR0cHM6Ly92NC1hbHBoYS5nZXRib290c3RyYXAuY29tL2xheW91dC9ncmlkLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4ucm93ID4gW2NsYXNzKj1jb2wtXSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1zaHJpbms6IDE7XG4gIG1pbi13aWR0aDogMDtcbn1cbi5yb3cgPiAuY29sLS1ncm93LTAge1xuICBmbGV4LWdyb3c6IDA7XG59XG4ucm93ID4gLmNvbC0tc2hyaW5rLTAge1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLnJvdy0tZGlzcGxheS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG59XG4ucm93LS1kaXNwbGF5LWdyaWQucm93LS1lcXVhbCB7XG4gIGdyaWQtYXV0by1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtYXV0by1yb3dzOiAxZnI7XG59XG5cbi5yb3ctLXBhZGRlZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyA2ZW0pO1xufVxuLnJvdy0tcGFkZGVkID4gW2NsYXNzKj1jb2wtXSB7XG4gIHBhZGRpbmctcmlnaHQ6IDZlbTtcbn1cblxuLnJvdy0tcGFkZGVkLXRpZ2h0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDQuNWVtKTtcbn1cbi5yb3ctLXBhZGRlZC10aWdodCA+IFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiA0LjVlbTtcbn1cblxuLnJvdy0tcGFkZGVkLWxvb3NlIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDcuNWVtKTtcbn1cbi5yb3ctLXBhZGRlZC1sb29zZSA+IFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiA3LjVlbTtcbn1cblxuLnJvdy0td3JhcC1ubyB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4ucm93LS13cmFwLXJldmVyc2Uge1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbn1cblxuLnJvdy0tY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yb3ctLWFsaWduLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5yb3ctLWFsaWduLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5yb3ctLWFsaWduLWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLnJvdy0tYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4ucm93LS1qdXN0aWZ5LXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ucm93LS1qdXN0aWZ5LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucm93LS1qdXN0aWZ5LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5yb3ctLWp1c3RpZnktYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5yb3ctLWp1c3RpZnktYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnJvdy0tZGlyZWN0aW9uLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5yb3ctLWRpcmVjdGlvbi1yZXZlcnNlOm5vdCgucm93LS1kaXJlY3Rpb24tY29sdW1uKSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cbi5yb3ctLWRpcmVjdGlvbi1yZXZlcnNlLnJvdy0tZGlyZWN0aW9uLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cblxuLmNvbC1hdXRvIHtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cblxuLmNvbC0wIHtcbiAgZmxleC1iYXNpczogMCU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDA7XG59XG5cbi5jb2wtMSB7XG4gIGZsZXgtYmFzaXM6IDguMzMzMzMzMzMzMyU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDE7XG59XG5cbi5jb2wtMiB7XG4gIGZsZXgtYmFzaXM6IDE2LjY2NjY2NjY2NjclO1xuICBncmlkLWNvbHVtbjogc3BhbiAyO1xufVxuXG4uY29sLTMge1xuICBmbGV4LWJhc2lzOiAyNSU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDM7XG59XG5cbi5jb2wtNCB7XG4gIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzMzMlO1xuICBncmlkLWNvbHVtbjogc3BhbiA0O1xufVxuXG4uY29sLTUge1xuICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NjY3JTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcbn1cblxuLmNvbC02IHtcbiAgZmxleC1iYXNpczogNTAlO1xuICBncmlkLWNvbHVtbjogc3BhbiA2O1xufVxuXG4uY29sLTcge1xuICBmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMzMzJTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gNztcbn1cblxuLmNvbC04IHtcbiAgZmxleC1iYXNpczogNjYuNjY2NjY2NjY2NyU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDg7XG59XG5cbi5jb2wtOSB7XG4gIGZsZXgtYmFzaXM6IDc1JTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gOTtcbn1cblxuLmNvbC0xMCB7XG4gIGZsZXgtYmFzaXM6IDgzLjMzMzMzMzMzMzMlO1xuICBncmlkLWNvbHVtbjogc3BhbiAxMDtcbn1cblxuLmNvbC0xMSB7XG4gIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY2NjclO1xuICBncmlkLWNvbHVtbjogc3BhbiAxMTtcbn1cblxuLmNvbC0xMiB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDEyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAuY29sLXh4eHMtYXV0byB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuXG4gIC5jb2wteHh4cy0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAwO1xuICB9XG5cbiAgLmNvbC14eHhzLTEge1xuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgfVxuXG4gIC5jb2wteHh4cy0yIHtcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG5cbiAgLmNvbC14eHhzLTMge1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICB9XG5cbiAgLmNvbC14eHhzLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gIH1cblxuICAuY29sLXh4eHMtNSB7XG4gICAgZmxleC1iYXNpczogNDEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcbiAgfVxuXG4gIC5jb2wteHh4cy02IHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgfVxuXG4gIC5jb2wteHh4cy03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA3O1xuICB9XG5cbiAgLmNvbC14eHhzLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDg7XG4gIH1cblxuICAuY29sLXh4eHMtOSB7XG4gICAgZmxleC1iYXNpczogNzUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7XG4gIH1cblxuICAuY29sLXh4eHMtMTAge1xuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEwO1xuICB9XG5cbiAgLmNvbC14eHhzLTExIHtcbiAgICBmbGV4LWJhc2lzOiA5MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMTtcbiAgfVxuXG4gIC5jb2wteHh4cy0xMiB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNvbC14eHMtYXV0byB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuXG4gIC5jb2wteHhzLTAge1xuICAgIGZsZXgtYmFzaXM6IDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDA7XG4gIH1cblxuICAuY29sLXh4cy0xIHtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gIH1cblxuICAuY29sLXh4cy0yIHtcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG5cbiAgLmNvbC14eHMtMyB7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG4gIH1cblxuICAuY29sLXh4cy00IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICB9XG5cbiAgLmNvbC14eHMtNSB7XG4gICAgZmxleC1iYXNpczogNDEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcbiAgfVxuXG4gIC5jb2wteHhzLTYge1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA2O1xuICB9XG5cbiAgLmNvbC14eHMtNyB7XG4gICAgZmxleC1iYXNpczogNTguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNztcbiAgfVxuXG4gIC5jb2wteHhzLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDg7XG4gIH1cblxuICAuY29sLXh4cy05IHtcbiAgICBmbGV4LWJhc2lzOiA3NSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gOTtcbiAgfVxuXG4gIC5jb2wteHhzLTEwIHtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMDtcbiAgfVxuXG4gIC5jb2wteHhzLTExIHtcbiAgICBmbGV4LWJhc2lzOiA5MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMTtcbiAgfVxuXG4gIC5jb2wteHhzLTEyIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY29sLXhzLWF1dG8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cblxuICAuY29sLXhzLTAge1xuICAgIGZsZXgtYmFzaXM6IDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDA7XG4gIH1cblxuICAuY29sLXhzLTEge1xuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgfVxuXG4gIC5jb2wteHMtMiB7XG4gICAgZmxleC1iYXNpczogMTYuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxuXG4gIC5jb2wteHMtMyB7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG4gIH1cblxuICAuY29sLXhzLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gIH1cblxuICAuY29sLXhzLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDU7XG4gIH1cblxuICAuY29sLXhzLTYge1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA2O1xuICB9XG5cbiAgLmNvbC14cy03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA3O1xuICB9XG5cbiAgLmNvbC14cy04IHtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA4O1xuICB9XG5cbiAgLmNvbC14cy05IHtcbiAgICBmbGV4LWJhc2lzOiA3NSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gOTtcbiAgfVxuXG4gIC5jb2wteHMtMTAge1xuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEwO1xuICB9XG5cbiAgLmNvbC14cy0xMSB7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTE7XG4gIH1cblxuICAuY29sLXhzLTEyIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTMuMzEyNWVtKSB7XG4gIC5jb2wtcy1hdXRvIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG5cbiAgLmNvbC1zLTAge1xuICAgIGZsZXgtYmFzaXM6IDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDA7XG4gIH1cblxuICAuY29sLXMtMSB7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxO1xuICB9XG5cbiAgLmNvbC1zLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cblxuICAuY29sLXMtMyB7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG4gIH1cblxuICAuY29sLXMtNCB7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgfVxuXG4gIC5jb2wtcy01IHtcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA1O1xuICB9XG5cbiAgLmNvbC1zLTYge1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA2O1xuICB9XG5cbiAgLmNvbC1zLTcge1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG4gIH1cblxuICAuY29sLXMtOCB7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gODtcbiAgfVxuXG4gIC5jb2wtcy05IHtcbiAgICBmbGV4LWJhc2lzOiA3NSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gOTtcbiAgfVxuXG4gIC5jb2wtcy0xMCB7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTA7XG4gIH1cblxuICAuY29sLXMtMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDExO1xuICB9XG5cbiAgLmNvbC1zLTEyIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAuY29sLW0tYXV0byB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuXG4gIC5jb2wtbS0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAwO1xuICB9XG5cbiAgLmNvbC1tLTEge1xuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgfVxuXG4gIC5jb2wtbS0yIHtcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG5cbiAgLmNvbC1tLTMge1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICB9XG5cbiAgLmNvbC1tLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gIH1cblxuICAuY29sLW0tNSB7XG4gICAgZmxleC1iYXNpczogNDEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcbiAgfVxuXG4gIC5jb2wtbS02IHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgfVxuXG4gIC5jb2wtbS03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA3O1xuICB9XG5cbiAgLmNvbC1tLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDg7XG4gIH1cblxuICAuY29sLW0tOSB7XG4gICAgZmxleC1iYXNpczogNzUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7XG4gIH1cblxuICAuY29sLW0tMTAge1xuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEwO1xuICB9XG5cbiAgLmNvbC1tLTExIHtcbiAgICBmbGV4LWJhc2lzOiA5MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMTtcbiAgfVxuXG4gIC5jb2wtbS0xMiB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNvbC1sLWF1dG8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cblxuICAuY29sLWwtMCB7XG4gICAgZmxleC1iYXNpczogMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMDtcbiAgfVxuXG4gIC5jb2wtbC0xIHtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gIH1cblxuICAuY29sLWwtMiB7XG4gICAgZmxleC1iYXNpczogMTYuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxuXG4gIC5jb2wtbC0zIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbiAgfVxuXG4gIC5jb2wtbC00IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICB9XG5cbiAgLmNvbC1sLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDU7XG4gIH1cblxuICAuY29sLWwtNiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7XG4gIH1cblxuICAuY29sLWwtNyB7XG4gICAgZmxleC1iYXNpczogNTguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNztcbiAgfVxuXG4gIC5jb2wtbC04IHtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA4O1xuICB9XG5cbiAgLmNvbC1sLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA5O1xuICB9XG5cbiAgLmNvbC1sLTEwIHtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMDtcbiAgfVxuXG4gIC5jb2wtbC0xMSB7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTE7XG4gIH1cblxuICAuY29sLWwtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5jb2wteGwtYXV0byB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuXG4gIC5jb2wteGwtMCB7XG4gICAgZmxleC1iYXNpczogMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMDtcbiAgfVxuXG4gIC5jb2wteGwtMSB7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxO1xuICB9XG5cbiAgLmNvbC14bC0yIHtcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG5cbiAgLmNvbC14bC0zIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbiAgfVxuXG4gIC5jb2wteGwtNCB7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgfVxuXG4gIC5jb2wteGwtNSB7XG4gICAgZmxleC1iYXNpczogNDEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcbiAgfVxuXG4gIC5jb2wteGwtNiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7XG4gIH1cblxuICAuY29sLXhsLTcge1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG4gIH1cblxuICAuY29sLXhsLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDg7XG4gIH1cblxuICAuY29sLXhsLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA5O1xuICB9XG5cbiAgLmNvbC14bC0xMCB7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTA7XG4gIH1cblxuICAuY29sLXhsLTExIHtcbiAgICBmbGV4LWJhc2lzOiA5MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMTtcbiAgfVxuXG4gIC5jb2wteGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAuY29sLXh4bC1hdXRvIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG5cbiAgLmNvbC14eGwtMCB7XG4gICAgZmxleC1iYXNpczogMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMDtcbiAgfVxuXG4gIC5jb2wteHhsLTEge1xuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgfVxuXG4gIC5jb2wteHhsLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cblxuICAuY29sLXh4bC0zIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbiAgfVxuXG4gIC5jb2wteHhsLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gIH1cblxuICAuY29sLXh4bC01IHtcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA1O1xuICB9XG5cbiAgLmNvbC14eGwtNiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7XG4gIH1cblxuICAuY29sLXh4bC03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA3O1xuICB9XG5cbiAgLmNvbC14eGwtOCB7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gODtcbiAgfVxuXG4gIC5jb2wteHhsLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA5O1xuICB9XG5cbiAgLmNvbC14eGwtMTAge1xuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEwO1xuICB9XG5cbiAgLmNvbC14eGwtMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDExO1xuICB9XG5cbiAgLmNvbC14eGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5jb2wteHh4bC1hdXRvIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG5cbiAgLmNvbC14eHhsLTAge1xuICAgIGZsZXgtYmFzaXM6IDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDA7XG4gIH1cblxuICAuY29sLXh4eGwtMSB7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxO1xuICB9XG5cbiAgLmNvbC14eHhsLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cblxuICAuY29sLXh4eGwtMyB7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG4gIH1cblxuICAuY29sLXh4eGwtNCB7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgfVxuXG4gIC5jb2wteHh4bC01IHtcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA1O1xuICB9XG5cbiAgLmNvbC14eHhsLTYge1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA2O1xuICB9XG5cbiAgLmNvbC14eHhsLTcge1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG4gIH1cblxuICAuY29sLXh4eGwtOCB7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gODtcbiAgfVxuXG4gIC5jb2wteHh4bC05IHtcbiAgICBmbGV4LWJhc2lzOiA3NSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gOTtcbiAgfVxuXG4gIC5jb2wteHh4bC0xMCB7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTA7XG4gIH1cblxuICAuY29sLXh4eGwtMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDExO1xuICB9XG5cbiAgLmNvbC14eHhsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEyO1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMaW5rXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubGluaywgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgYSwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgYSxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIGEsIC53b29jb21tZXJjZS1lcnJvciBhLFxuLndvb2NvbW1lcmNlLWluZm8gYSxcbi53b29jb21tZXJjZS1tZXNzYWdlIGEsIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIGEsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgLndvb2NvbW1lcmNlLXJldmlldy1saW5rLCAud29vY29tbWVyY2UgYS5hZGRlZF90b19jYXJ0LCAud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgYSwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IGEsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiBhLCAudXNlci1jb250ZW50IGFbaHJlZl49XCJ0ZWw6XCJdIHtcbiAgY29sb3I6ICMyQjQ1NTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcbn1cbi5saW5rOmZvY3VzLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBhOmZvY3VzLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBhOmZvY3VzLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgYTpmb2N1cywgLndvb2NvbW1lcmNlLWVycm9yIGE6Zm9jdXMsXG4ud29vY29tbWVyY2UtaW5mbyBhOmZvY3VzLFxuLndvb2NvbW1lcmNlLW1lc3NhZ2UgYTpmb2N1cywgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgYTpmb2N1cywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyAud29vY29tbWVyY2UtcmV2aWV3LWxpbms6Zm9jdXMsIC53b29jb21tZXJjZSBhLmFkZGVkX3RvX2NhcnQ6Zm9jdXMsIC53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhOmZvY3VzLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zOmZvY3VzLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSBhOmZvY3VzLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgYTpmb2N1cywgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGE6Zm9jdXMsIC51c2VyLWNvbnRlbnQgYVtocmVmXj1cInRlbDpcIl06Zm9jdXMsIC5saW5rOmhvdmVyLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBhOmhvdmVyLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBhOmhvdmVyLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgYTpob3ZlciwgLndvb2NvbW1lcmNlLWVycm9yIGE6aG92ZXIsXG4ud29vY29tbWVyY2UtaW5mbyBhOmhvdmVyLFxuLndvb2NvbW1lcmNlLW1lc3NhZ2UgYTpob3ZlciwgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgYTpob3ZlciwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyAud29vY29tbWVyY2UtcmV2aWV3LWxpbms6aG92ZXIsIC53b29jb21tZXJjZSBhLmFkZGVkX3RvX2NhcnQ6aG92ZXIsIC53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhOmhvdmVyLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zOmhvdmVyLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSBhOmhvdmVyLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgYTpob3ZlciwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGE6aG92ZXIsIC51c2VyLWNvbnRlbnQgYVtocmVmXj1cInRlbDpcIl06aG92ZXIge1xuICBjb2xvcjogIzQwNjI3MDtcbn1cblxuLyogaW5oZXJpdCB2YXJpYW50ICovXG4ubGluay0taW5oZXJpdCB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLmxpbmstLWluaGVyaXQ6Zm9jdXMsIC5saW5rLS1pbmhlcml0OmhvdmVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBCdXR0b25cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMkI0NTUwO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAxLjI1cmVtIDEuNDM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzVlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDEuMzVlbTtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMS4yNWVtIDJlbSAxZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cbi5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3MjgyRjtcbn1cblxuLmJ1dHRvbl9faWNvbiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjVlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuMWVtKTtcbn1cblxuLyogZGlzYWJsZWQgdmFyaWFudCAqL1xuLmJ1dHRvbi0tZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBJbnB1dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmlucHV0LCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LCAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgc2VsZWN0LCAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgaW5wdXQuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYSwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAuY29tbWVudC1mb3JtLWF1dGhvciBpbnB1dCxcbi53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLmNvbW1lbnQtZm9ybS1lbWFpbCBpbnB1dCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCB0ZXh0YXJlYSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3QsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgc2VsZWN0LCAud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHkge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNEQURBREE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAxLjEyNWVtIDEuMjVlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDVlbTtcbiAgbWFyZ2luOiAwcmVtIDByZW0gMC42MjVyZW07XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDAuODYxMTExMTExMWVtIDFlbSAwLjYzODg4ODg4ODllbSAxZW07XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzLCBiYWNrZ3JvdW5kLXNpemUgMC4xNXMsIGJvcmRlci1jb2xvciAwLjE1cywgY29sb3IgMC4xNXM7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmlucHV0Om5vdCguaW5wdXQtLWRpc2FibGVkKTphY3RpdmUsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94Om5vdCguaW5wdXQtLWRpc2FibGVkKTphY3RpdmUsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveDpub3QoLmlucHV0LS1kaXNhYmxlZCk6YWN0aXZlLCAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgc2VsZWN0Om5vdCguaW5wdXQtLWRpc2FibGVkKTphY3RpdmUsIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBpbnB1dC5pbnB1dC10ZXh0Om5vdCguaW5wdXQtLWRpc2FibGVkKTphY3RpdmUsXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgdGV4dGFyZWE6bm90KC5pbnB1dC0tZGlzYWJsZWQpOmFjdGl2ZSwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAuY29tbWVudC1mb3JtLWF1dGhvciBpbnB1dDpub3QoLmlucHV0LS1kaXNhYmxlZCk6YWN0aXZlLFxuLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAuY29tbWVudC1mb3JtLWVtYWlsIGlucHV0Om5vdCguaW5wdXQtLWRpc2FibGVkKTphY3RpdmUsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgdGV4dGFyZWE6bm90KC5pbnB1dC0tZGlzYWJsZWQpOmFjdGl2ZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Q6bm90KC5pbnB1dC0tZGlzYWJsZWQpOmFjdGl2ZSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBzZWxlY3Q6bm90KC5pbnB1dC0tZGlzYWJsZWQpOmFjdGl2ZSwgLndvb2NvbW1lcmNlIC5xdWFudGl0eSAucXR5Om5vdCguaW5wdXQtLWRpc2FibGVkKTphY3RpdmUsIC5pbnB1dDpub3QoLmlucHV0LS1kaXNhYmxlZCk6Zm9jdXMsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94Om5vdCguaW5wdXQtLWRpc2FibGVkKTpmb2N1cyxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94Om5vdCguaW5wdXQtLWRpc2FibGVkKTpmb2N1cywgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHNlbGVjdDpub3QoLmlucHV0LS1kaXNhYmxlZCk6Zm9jdXMsIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBpbnB1dC5pbnB1dC10ZXh0Om5vdCguaW5wdXQtLWRpc2FibGVkKTpmb2N1cyxcbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyB0ZXh0YXJlYTpub3QoLmlucHV0LS1kaXNhYmxlZCk6Zm9jdXMsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLmNvbW1lbnQtZm9ybS1hdXRob3IgaW5wdXQ6bm90KC5pbnB1dC0tZGlzYWJsZWQpOmZvY3VzLFxuLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAuY29tbWVudC1mb3JtLWVtYWlsIGlucHV0Om5vdCguaW5wdXQtLWRpc2FibGVkKTpmb2N1cywgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCB0ZXh0YXJlYTpub3QoLmlucHV0LS1kaXNhYmxlZCk6Zm9jdXMsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0Om5vdCguaW5wdXQtLWRpc2FibGVkKTpmb2N1cywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBzZWxlY3Q6bm90KC5pbnB1dC0tZGlzYWJsZWQpOmZvY3VzLCAud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHk6bm90KC5pbnB1dC0tZGlzYWJsZWQpOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjOTlCMkFCO1xufVxuLmlucHV0OjpwbGFjZWhvbGRlciwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3g6OnBsYWNlaG9sZGVyLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3g6OnBsYWNlaG9sZGVyLCAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgc2VsZWN0OjpwbGFjZWhvbGRlciwgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IGlucHV0LmlucHV0LXRleHQ6OnBsYWNlaG9sZGVyLFxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhOjpwbGFjZWhvbGRlciwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAuY29tbWVudC1mb3JtLWF1dGhvciBpbnB1dDo6cGxhY2Vob2xkZXIsXG4ud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIC5jb21tZW50LWZvcm0tZW1haWwgaW5wdXQ6OnBsYWNlaG9sZGVyLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHRleHRhcmVhOjpwbGFjZWhvbGRlciwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Q6OnBsYWNlaG9sZGVyLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHNlbGVjdDo6cGxhY2Vob2xkZXIsIC53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzI1MjUyNTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogZXJyb3IgdmFyaWFudCAqL1xuLmlucHV0LS1lcnJvciwgLm5mLWVycm9yIC5pbnB1dCwgLm5mLWVycm9yIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAubmYtZXJyb3IgaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3gsXG4ubmYtZXJyb3IgLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3gsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciAubmYtZXJyb3IgaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3gsIC5uZi1lcnJvciAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgc2VsZWN0LCAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLm5mLWVycm9yIHNlbGVjdCwgLm5mLWVycm9yIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBpbnB1dC5pbnB1dC10ZXh0LCAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLm5mLWVycm9yIGlucHV0LmlucHV0LXRleHQsXG4ubmYtZXJyb3IgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhLFxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IC5uZi1lcnJvciB0ZXh0YXJlYSwgLm5mLWVycm9yIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLmNvbW1lbnQtZm9ybS1hdXRob3IgaW5wdXQsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLmNvbW1lbnQtZm9ybS1hdXRob3IgLm5mLWVycm9yIGlucHV0LFxuLm5mLWVycm9yIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLmNvbW1lbnQtZm9ybS1lbWFpbCBpbnB1dCxcbi53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLmNvbW1lbnQtZm9ybS1lbWFpbCAubmYtZXJyb3IgaW5wdXQsIC5uZi1lcnJvciAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHRleHRhcmVhLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIC5uZi1lcnJvciB0ZXh0YXJlYSwgLm5mLWVycm9yIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0LCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nIC5uZi1lcnJvciBzZWxlY3QsIC5uZi1lcnJvciAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHNlbGVjdCwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyAubmYtZXJyb3Igc2VsZWN0LCAubmYtZXJyb3IgLndvb2NvbW1lcmNlIC5xdWFudGl0eSAucXR5LCAud29vY29tbWVyY2UgLnF1YW50aXR5IC5uZi1lcnJvciAucXR5IHtcbiAgYm9yZGVyLWNvbG9yOiAjQzYyODI4O1xufVxuXG4vKiBzdWNjZXNzIHZhcmlhbnQgKi9cbi5pbnB1dC0tc3VjY2VzcywgLm5mLXBhc3MgLmlucHV0LCAubmYtcGFzcyAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gLm5mLXBhc3MgaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3gsXG4ubmYtcGFzcyAud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIC5uZi1wYXNzIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LCAubmYtcGFzcyAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgc2VsZWN0LCAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLm5mLXBhc3Mgc2VsZWN0LCAubmYtcGFzcyAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgaW5wdXQuaW5wdXQtdGV4dCwgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IC5uZi1wYXNzIGlucHV0LmlucHV0LXRleHQsXG4ubmYtcGFzcyAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgdGV4dGFyZWEsXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLm5mLXBhc3MgdGV4dGFyZWEsIC5uZi1wYXNzIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLmNvbW1lbnQtZm9ybS1hdXRob3IgaW5wdXQsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLmNvbW1lbnQtZm9ybS1hdXRob3IgLm5mLXBhc3MgaW5wdXQsXG4ubmYtcGFzcyAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIC5jb21tZW50LWZvcm0tZW1haWwgaW5wdXQsXG4ud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIC5jb21tZW50LWZvcm0tZW1haWwgLm5mLXBhc3MgaW5wdXQsIC5uZi1wYXNzIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgdGV4dGFyZWEsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLm5mLXBhc3MgdGV4dGFyZWEsIC5uZi1wYXNzIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0LCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nIC5uZi1wYXNzIHNlbGVjdCwgLm5mLXBhc3MgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBzZWxlY3QsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgLm5mLXBhc3Mgc2VsZWN0LCAubmYtcGFzcyAud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHksIC53b29jb21tZXJjZSAucXVhbnRpdHkgLm5mLXBhc3MgLnF0eSB7XG4gIGJvcmRlci1jb2xvcjogIzI4QzY2NTtcbn1cblxuLyogc2VsZWN0IHZhcmlhbnQgKi9cbi5pbnB1dC0tc2VsZWN0LCAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgc2VsZWN0LCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdCwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBzZWxlY3Qge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtaW5kZW50OiAwLjAxcHg7XG59XG4uaW5wdXQtLXNlbGVjdDo6LW1zLWV4cGFuZCwgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHNlbGVjdDo6LW1zLWV4cGFuZCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Q6Oi1tcy1leHBhbmQsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmlucHV0LS1zZWxlY3QtYXJyb3csIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBzZWxlY3QsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0LCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHNlbGVjdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL2Zhcy1zb3J0LnN2Z1wiLCBmaWxsPSMwMDAwMDApO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMWVtO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVlbTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygwLjc1ZW0gKyAyZW0pO1xufVxuXG4vKiB0b2dnbGUgdmFyaWFudHMgKi9cbi5pbnB1dC0tdG9nZ2xlLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94IHtcbiAgYm9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxLjVlbTtcbn1cbi5pbnB1dC0tdG9nZ2xlOjphZnRlciwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3g6OmFmdGVyLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3g6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjc1ZW07XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IC05OTllbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGxlZnQgMHMgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cztcbiAgd2lkdGg6IDEwMCU7XG59XG4uaW5wdXQtLXRvZ2dsZTpjaGVja2VkOjphZnRlciwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3g6Y2hlY2tlZDo6YWZ0ZXIsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveDpjaGVja2VkOjphZnRlciB7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cztcbn1cbi5pbnB1dC0tdG9nZ2xlICsgLnRleHQtLWxhYmVsLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCArIC50ZXh0LS1sYWJlbCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94ICsgLnRleHQtLWxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaW5wdXQtLXRvZ2dsZS1jaGVja2JveDpjaGVja2VkLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveDpjaGVja2VkLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3g6Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OUIyQUI7XG4gIGJvcmRlci1jb2xvcjogIzk5QjJBQjtcbn1cbi5pbnB1dC0tdG9nZ2xlLWNoZWNrYm94OjphZnRlciwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3g6OmFmdGVyLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3g6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvZmFzLWNoZWNrLnN2Z1wiLCBmaWxsPSNGRkZGRkYpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG4uaW5wdXQtLXRvZ2dsZS1jaGVja2JveDpjaGVja2VkOjphZnRlciwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3g6Y2hlY2tlZDo6YWZ0ZXIsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveDpjaGVja2VkOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xufVxuXG4uaW5wdXQtLXRvZ2dsZS1yYWRpbyB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5pbnB1dC0tdG9nZ2xlLXJhZGlvOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL2Zhcy1jaXJjbGUuc3ZnXCIsIGZpbGw9Izk5QjJBQik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG4uaW5wdXQtLXRvZ2dsZS1yYWRpbzpjaGVja2VkOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi8qIGRpc2FibGVkIHZhcmlhbnQgKi9cbi5pbnB1dC0tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi8qIHNlbGVjdCBicm93c2VyIHZhcmlhbnRzICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtdHlwZSwgc2VsZWN0b3Itbm8tdmVuZG9yLXByZWZpeCwgc2VsZWN0b3ItdHlwZS1uby11bmtub3duICovXG4vKiBJRSAqL1xuXzotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG46cm9vdCAuaW5wdXQtLXNlbGVjdCxcbjpyb290IC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBzZWxlY3QsXG46cm9vdCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdCxcbjpyb290IC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgc2VsZWN0IHtcbiAgcGFkZGluZzogMC42Mzg4ODg4ODg5ZW0gY2FsYygxZW0gLSAzcHgpIGNhbGMoMC42Mzg4ODg4ODg5ZW0gLSAycHgpO1xufVxuXG5fOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbjpyb290IC5pbnB1dC0tc2VsZWN0LWFycm93LFxuOnJvb3QgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHNlbGVjdCxcbjpyb290IC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0LFxuOnJvb3QgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBzZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAuNzVlbSArIDJlbSAtIDNweCk7XG59XG5cbi8qIENocm9tZSAgKi9cbkBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lKSBhbmQgKGZvbnQtc3RyZXRjaDogbm9ybWFsKSBhbmQgKG5vdCAoLW1zLWFjY2VsZXJhdG9yOiB0cnVlKSkge1xuICAuaW5wdXQtLXNlbGVjdCwgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHNlbGVjdCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3QsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAwLjg2MTExMTExMTFlbSAxZW0gMC42Mzg4ODg4ODg5ZW0gMWVtO1xuICB9XG5cbiAgLmlucHV0LS1zZWxlY3QtYXJyb3csIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBzZWxlY3QsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0LCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHNlbGVjdCB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygwLjc1ZW0gKyAyZW0pO1xuICB9XG59XG4vKiBTYWZhcmkgKi9cbl86Oi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhLFxuXzpmdXR1cmUsXG46cm9vdCAuaW5wdXQtLXNlbGVjdCxcbjpyb290IC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBzZWxlY3QsXG46cm9vdCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdCxcbjpyb290IC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgc2VsZWN0IHtcbiAgcGFkZGluZzogMC44NjExMTExMTExZW0gMWVtIDAuNjM4ODg4ODg4OWVtIDFlbTtcbn1cblxuXzo6LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEsXG5fOmZ1dHVyZSxcbjpyb290IC5pbnB1dC0tc2VsZWN0LWFycm93LFxuOnJvb3QgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHNlbGVjdCxcbjpyb290IC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0LFxuOnJvb3QgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBzZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAuNzVlbSArIDJlbSk7XG59XG5cbi8qIEVkZ2UgKi9cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAuaW5wdXQtLXNlbGVjdCwgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHNlbGVjdCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3QsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgc2VsZWN0IHtcbiAgICBwYWRkaW5nOiBjYWxjKDAuODYxMTExMTExMWVtIC0gMXB4KSBjYWxjKDFlbSAtIDJweCkgY2FsYygwLjYzODg4ODg4ODllbSAtIDFweCkgY2FsYygxZW0gLSAycHgpO1xuICB9XG5cbiAgLmlucHV0LS1zZWxlY3QtYXJyb3csIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBzZWxlY3QsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0LCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHNlbGVjdCB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygwLjc1ZW0gKyAyZW0gLSAycHgpO1xuICB9XG59XG4vKiBGaXJlZm94ICovXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KFwiXCIpIHtcbiAgLmlucHV0LS1zZWxlY3QsIC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBzZWxlY3QsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgc2VsZWN0LCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHNlbGVjdCB7XG4gICAgcGFkZGluZzogMC44NjExMTExMTExZW0gY2FsYygxZW0gLSA0cHgpIDAuNjM4ODg4ODg4OWVtIGNhbGMoMWVtIC0gNHB4KTtcbiAgfVxuXG4gIC5pbnB1dC0tc2VsZWN0LWFycm93LCAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgc2VsZWN0LCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdCwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBzZWxlY3Qge1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMC43NWVtICsgMmVtIC0gNHB4KTtcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogVGl0bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi50aXRsZSwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IGZvcm0gPiBoMywgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlID4gaDIsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgaDIud29vY29tbWVyY2UtY29sdW1uX190aXRsZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBoMi53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzX190aXRsZSwgLndvb2NvbW1lcmNlIC5jaGVja291dCBoMywgLndvb2NvbW1lcmNlIC5wcm9kdWN0IC5yZWxhdGVkID4gaDIsXG4ud29vY29tbWVyY2UgLnByb2R1Y3QgLnVwc2VsbHMgPiBoMiwgLndvb2NvbW1lcmNlIGgxLnBhZ2UtdGl0bGUsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBoMixcbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXItZGV0YWlscyBoMixcbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXItZG93bmxvYWRzIGgyLCAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUsXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGgzLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgaDIsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCAucHJvZHVjdF90aXRsZSwgLndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGgyLFxuLndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgaDIge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1mYW1pbHk6IFwiZmlyYS1zYW5zXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1yYW5nZTogNDhlbSA4MGVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMS40Mzc1ZW0gMi42ODc1ZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjMwNDM0NzgyNjFlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDAuNWVtO1xufVxuXG4udGl0bGUtLWgyIHtcbiAgY29sb3I6ICM5OUIyQUI7XG4gIGZvbnQtZmFtaWx5OiBcIlNpZ25QYWludGVyIEhvdXNlU2NyaXB0XCIsIFwiZmlyYS1zYW5zXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1yYW5nZTogNDhlbSA4MGVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMi4xODc1ZW0gMi42ODc1ZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjA0Mjg1NzE0MjllbTtcbn1cblxuLnRpdGxlLS1oMyB7XG4gIGNvbG9yOiAjMkI0NTUwO1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAxLjg3NWVtIDIuMjVlbTtcbn1cblxuLnRpdGxlLS1oNCB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xufVxuXG4udGl0bGUtLWg1IHtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4udGl0bGUtLWg2IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIGRpdmlkZXIgdmFyaWFudCAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnRpdGxlLS1kaXZpZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnRpdGxlLS1kaXZpZGVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI0RBREFEQTtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAxIDEgMCU7XG4gICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gIH1cbiAgLnRpdGxlLS1kaXZpZGVyOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcbiAgfVxufVxuXG4vKiBkaXZpZGVyLWNlbnRlciB2YXJpYW50ICovXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAudGl0bGUtLWRpdmlkZXItY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnRpdGxlLS1kaXZpZGVyLWNlbnRlcjo6YmVmb3JlLCAudGl0bGUtLWRpdmlkZXItY2VudGVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI0RBREFEQTtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAxIDEgMCU7XG4gICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gIH1cbiAgLnRpdGxlLS1kaXZpZGVyLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgfVxuICAudGl0bGUtLWRpdmlkZXItY2VudGVyOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcbiAgfVxufVxuXG4vKiBmZWF0dXJlZCB2YXJpYW50ICovXG4udGl0bGUtLWZlYXR1cmVkIHtcbiAgZm9udC1yYW5nZTogNDhlbSA4MGVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMi44MTI1ZW0gNC41NjI1ZW07XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFRleHRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi50ZXh0LCAud29vY29tbWVyY2Utb3JkZXIgPiBwLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgZmllbGRzZXQsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcywgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MsIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcImZpcmEtc2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtcmFuZ2U6IDQ4ZW0gODBlbTtcbiAgZm9udC1zaXplOiByZXNwb25zaXZlIDEuMTI1ZW0gMS4yNWVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40NWVtO1xuICBtYXJnaW46IDBlbSAwZW0gMS40NWVtO1xufVxuLnRleHQgLnRleHQsIC53b29jb21tZXJjZS1vcmRlciA+IHAgLnRleHQsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLnRleHQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCAudGV4dCwgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIC50ZXh0LCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAudGV4dCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIC50ZXh0LCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIC50ZXh0LCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyAudGV4dCwgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyAudGV4dCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCAudGV4dCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgLnRleHQsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgLnRleHQsIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEgLnRleHQsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IC50ZXh0LCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIC50ZXh0LCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSAudGV4dCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgLnRleHQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCAudGV4dCwgLnRleHQgLndvb2NvbW1lcmNlLW9yZGVyID4gcCwgLnRleHQgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgLnRleHQgcCwgLnRleHQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZpZWxkc2V0LCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgLnRleHQgZmllbGRzZXQsIC50ZXh0IC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAudGV4dCBhZGRyZXNzLCAudGV4dCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gLnRleHQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4udGV4dCAud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIC50ZXh0IHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAudGV4dCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIC50ZXh0IHAud29vY29tbWVyY2Utbm90aWNlLCAudGV4dCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIC50ZXh0IGFkZHJlc3MsIC50ZXh0IC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIC53b29jb21tZXJjZSAudGV4dCB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIC50ZXh0IC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLnRleHQgbGFiZWwsIC50ZXh0IC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIC50ZXh0IHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLnRleHQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZywgLndvb2NvbW1lcmNlIC50ZXh0IC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZywgLnRleHQgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IC50ZXh0IHAubWV0YSwgLnRleHQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZSAudGV4dCAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCAudGV4dCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC50ZXh0IC5yZXNldF92YXJpYXRpb25zLCAudGV4dCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IC50ZXh0IGRpdi5wcm9kdWN0X21ldGEsIC50ZXh0IC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLnRleHQgcCwgLnRleHQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLnRleHQgdWwsIC53b29jb21tZXJjZS1vcmRlciA+IHAgLndvb2NvbW1lcmNlLW9yZGVyID4gcCwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCAud29vY29tbWVyY2Utb3JkZXIgPiBwLCAud29vY29tbWVyY2Utb3JkZXIgPiBwIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IC53b29jb21tZXJjZS1vcmRlciA+IHAgcCwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgZmllbGRzZXQgLndvb2NvbW1lcmNlLW9yZGVyID4gcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZpZWxkc2V0IC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCBwLCAud29vY29tbWVyY2Utb3JkZXIgPiBwIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgZmllbGRzZXQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgPiBwIGZpZWxkc2V0LCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBmaWVsZHNldCwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIHAgZmllbGRzZXQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCBmaWVsZHNldCwgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIC53b29jb21tZXJjZS1vcmRlciA+IHAsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIC53b29jb21tZXJjZSBmaWVsZHNldCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIC5hZGRyZXNzZXMgYWRkcmVzcyBmaWVsZHNldCwgLndvb2NvbW1lcmNlLW9yZGVyID4gcCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgZmllbGRzZXQgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZS1vcmRlciA+IHAgYWRkcmVzcywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIGFkZHJlc3MsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgcCBhZGRyZXNzLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSBmaWVsZHNldCBhZGRyZXNzLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgLmFkZHJlc3NlcyBmaWVsZHNldCBhZGRyZXNzLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MgYWRkcmVzcywgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlLW9yZGVyID4gcCwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgZmllbGRzZXQsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBhZGRyZXNzLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlLW9yZGVyID4gcCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAsXG4ud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBwLFxuLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgZmllbGRzZXQsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MsXG4ud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIGFkZHJlc3MsIC53b29jb21tZXJjZS1vcmRlciA+IHAgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAud29vY29tbWVyY2Utb3JkZXIgPiBwIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBmaWVsZHNldCBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIGFkZHJlc3MgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZSBmb3JtLmxvZ2luIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2Utb3JkZXIgPiBwIC53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCAud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCAud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyAud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIC53b29jb21tZXJjZS1vcmRlciA+IHAgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcCBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIGZpZWxkc2V0IHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBhZGRyZXNzIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSAud29vY29tbWVyY2Utb3JkZXIgPiBwLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSBmaWVsZHNldCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSBhZGRyZXNzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlLW9yZGVyID4gcCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgPiBwIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcCBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBmaWVsZHNldCBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBhZGRyZXNzIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBwLndvb2NvbW1lcmNlLW5vdGljZSxcbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBwLndvb2NvbW1lcmNlLW5vdGljZSxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MgLndvb2NvbW1lcmNlLW9yZGVyID4gcCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MgZmllbGRzZXQsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyBhZGRyZXNzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2Utb3JkZXIgPiBwIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgZmllbGRzZXQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcywgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIC53b29jb21tZXJjZS1vcmRlciA+IHAgYWRkcmVzcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgYWRkcmVzcywgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIHAgYWRkcmVzcywgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGZpZWxkc2V0IGFkZHJlc3MsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MgYWRkcmVzcywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyBhZGRyZXNzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBhZGRyZXNzLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBhZGRyZXNzLFxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgYWRkcmVzcyxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIGFkZHJlc3MsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UgYWRkcmVzcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBwLndvb2NvbW1lcmNlLW5vdGljZSBhZGRyZXNzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyBhZGRyZXNzLCAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIC53b29jb21tZXJjZS1vcmRlciA+IHAsIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIGZpZWxkc2V0LCAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIGFkZHJlc3MsIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIHRhYmxlLnNob3BfYXR0cmlidXRlcyBhZGRyZXNzLCAud29vY29tbWVyY2Utb3JkZXIgPiBwIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZpZWxkc2V0IC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyID4gcCB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgLndvb2NvbW1lcmNlIHAgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgZmllbGRzZXQgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgYWRkcmVzcyB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIHRhYmxlLnNob3BfYXR0cmlidXRlcyxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzIHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgLndvb2NvbW1lcmNlLW9yZGVyID4gcCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsIHAsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgZmllbGRzZXQsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgYWRkcmVzcywgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsIGFkZHJlc3MsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCAud29vY29tbWVyY2Utb3JkZXIgPiBwIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZpZWxkc2V0IC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsLCAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLndvb2NvbW1lcmNlLW9yZGVyID4gcCBsYWJlbCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIGxhYmVsLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHAgbGFiZWwsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgZmllbGRzZXQgbGFiZWwsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIGxhYmVsLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgYWRkcmVzcyBsYWJlbCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIGxhYmVsLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgbGFiZWwsXG4ud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgbGFiZWwsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgbGFiZWwsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIGxhYmVsLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBwLndvb2NvbW1lcmNlLW5vdGljZSBsYWJlbCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzIGxhYmVsLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgI3Jldmlld19mb3JtICNyZXNwb25kIGFkZHJlc3MgbGFiZWwsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIGxhYmVsLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsIGxhYmVsLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSAud29vY29tbWVyY2Utb3JkZXIgPiBwLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSBmaWVsZHNldCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIGFkZHJlc3MsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIGFkZHJlc3MsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgbGFiZWwsIC53b29jb21tZXJjZS1vcmRlciA+IHAgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAud29vY29tbWVyY2Utb3JkZXIgPiBwIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBwIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBmaWVsZHNldCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGFkZHJlc3Mgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLFxuLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgcC53b29jb21tZXJjZS1ub3RpY2Ugc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3Mgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgI3Jldmlld19mb3JtICNyZXNwb25kIGFkZHJlc3Mgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHRhYmxlLnNob3BfYXR0cmlidXRlcyBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgLndvb2NvbW1lcmNlLW9yZGVyID4gcCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIHAsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgZmllbGRzZXQsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgYWRkcmVzcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIGFkZHJlc3MsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgbGFiZWwsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2Utb3JkZXIgPiBwIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZywgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZpZWxkc2V0IC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZywgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciA+IHAgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IC53b29jb21tZXJjZSBwIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZywgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZpZWxkc2V0IC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlIGFkZHJlc3MgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcsIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZywgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZywgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSAud29vY29tbWVyY2Utb3JkZXIgPiBwLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSBmaWVsZHNldCwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSBhZGRyZXNzLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEgYWRkcmVzcywgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMsIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSBsYWJlbCwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2Utb3JkZXIgPiBwIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZpZWxkc2V0IC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhLCAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgLndvb2NvbW1lcmNlLW9yZGVyID4gcCBwLm1ldGEsIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIHAubWV0YSwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAgcC5tZXRhLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgZmllbGRzZXQgcC5tZXRhLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIHAubWV0YSwgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgYWRkcmVzcyBwLm1ldGEsIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIHAubWV0YSwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgcC5tZXRhLFxuLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgcC5tZXRhLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgcC5tZXRhLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIHAubWV0YSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLndvb2NvbW1lcmNlLW5vdGljZSBwLm1ldGEsIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzIHAubWV0YSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IGFkZHJlc3MgcC5tZXRhLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHAubWV0YSwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0ICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCBwLm1ldGEsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgbGFiZWwgcC5tZXRhLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSBwLm1ldGEsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIHAubWV0YSwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyBwLm1ldGEsIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEgcC5tZXRhLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCAud29vY29tbWVyY2Utb3JkZXIgPiBwLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCBmaWVsZHNldCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IGFkZHJlc3MsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IGFkZHJlc3MsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQgbGFiZWwsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50ICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCBwLm1ldGEsIC53b29jb21tZXJjZS1vcmRlciA+IHAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgPiBwIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IC53b29jb21tZXJjZSBwIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlIGFkZHJlc3MgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIC53b29jb21tZXJjZS1vcmRlciA+IHAsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucyBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIGZpZWxkc2V0LCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIGFkZHJlc3MsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucyBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucyBhZGRyZXNzLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucyAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIGxhYmVsLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucyAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIHAubWV0YSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucyAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCAud29vY29tbWVyY2Utb3JkZXIgPiBwIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZpZWxkc2V0IC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLndvb2NvbW1lcmNlLW9yZGVyID4gcCAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwIC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IHAgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgZmllbGRzZXQgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgYWRkcmVzcyAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBkaXYucHJvZHVjdCBmb3JtLmNhcnQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLnJlc2V0X3ZhcmlhdGlvbnMsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLnJlc2V0X3ZhcmlhdGlvbnMsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBkaXYucHJvZHVjdCBmb3JtLmNhcnQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIGRpdi5wcm9kdWN0IGZvcm0uY2FydCBwLndvb2NvbW1lcmNlLW5vdGljZSAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzIC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IGFkZHJlc3MgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0ICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBkaXYucHJvZHVjdCBmb3JtLmNhcnQgbGFiZWwgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBkaXYucHJvZHVjdCBmb3JtLmNhcnQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBkaXYucHJvZHVjdCBmb3JtLmNhcnQgcC5tZXRhIC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC53b29jb21tZXJjZS1yZXN1bHQtY291bnQgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhIC53b29jb21tZXJjZS1vcmRlciA+IHAsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhIHAsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhIGZpZWxkc2V0LCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgYWRkcmVzcywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgYWRkcmVzcywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSBsYWJlbCwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEsIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhIHAubWV0YSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZS1vcmRlciA+IHAgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBhZGRyZXNzIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgLndvb2NvbW1lcmNlLW9yZGVyID4gcCBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgcCBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZmllbGRzZXQgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBhZGRyZXNzIGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIGRpdi5wcm9kdWN0X21ldGEsXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBkaXYucHJvZHVjdF9tZXRhLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IHAud29vY29tbWVyY2Utbm90aWNlIGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzIGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBhZGRyZXNzIGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5ICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGxhYmVsIGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5ICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgcC5tZXRhIGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IGRpdi5wcm9kdWN0X21ldGEsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCBkaXYuc3VtbWFyeSAucmVzZXRfdmFyaWF0aW9ucyBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCAud29vY29tbWVyY2Utb3JkZXIgPiBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCAud29vY29tbWVyY2UgZmllbGRzZXQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCBmaWVsZHNldCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgLmFkZHJlc3NlcyBhZGRyZXNzLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwIGFkZHJlc3MsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCxcbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwIC53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgcC53b29jb21tZXJjZS1ub3RpY2UsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgYWRkcmVzcywgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwIHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCBsYWJlbCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgcC5tZXRhLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlLW9yZGVyID4gcCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCwgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZpZWxkc2V0IC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwLCAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnJlc2V0X3ZhcmlhdGlvbnMgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLndvb2NvbW1lcmNlLW9yZGVyID4gcCBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQgcCBwLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLndvb2NvbW1lcmNlIGZpZWxkc2V0IHAsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgZmllbGRzZXQgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC5hZGRyZXNzZXMgYWRkcmVzcyBwLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBhZGRyZXNzIHAsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBwLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgcCxcbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCBwLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkIHAsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlIHAsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAud29vY29tbWVyY2Utbm90aWNlIHAsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyBwLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IGFkZHJlc3MgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgcCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgcCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgbGFiZWwgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIHAsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHNwYW4uY29tbWVudC1yZXBseS10aXRsZSBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyBwLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSBwLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAubWV0YSBwLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQgcCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHAsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIHAsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC5yZXNldF92YXJpYXRpb25zIHAsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSBwLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IGRpdi5wcm9kdWN0X21ldGEgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIC53b29jb21tZXJjZS1vcmRlciA+IHAsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgcCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIC53b29jb21tZXJjZSBmaWVsZHNldCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCBmaWVsZHNldCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIC5hZGRyZXNzZXMgYWRkcmVzcywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgYWRkcmVzcywgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIHAud29vY29tbWVyY2UtTG9zdFBhc3N3b3JkLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIHAud29vY29tbWVyY2Utbm90aWNlLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCBwLndvb2NvbW1lcmNlLW5vdGljZSwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIGFkZHJlc3MsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCAud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIHRhYmxlLnNob3BfYXR0cmlidXRlcywgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIGxhYmVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCBwLm1ldGEsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50LCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgLnJlc2V0X3ZhcmlhdGlvbnMsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgZGl2LnByb2R1Y3RfbWV0YSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCBkaXYucHJvZHVjdF9tZXRhLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgcCwgLndvb2NvbW1lcmNlLW9yZGVyID4gcCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgZmllbGRzZXQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGFkZHJlc3MgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsLCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgYWRkcmVzcyAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwsIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsLCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBzcGFuLmNvbW1lbnQtcmVwbHktdGl0bGUgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCwgLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCBsaSAuY29tbWVudC10ZXh0IHAubWV0YSAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucyAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiB1bCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IHAgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLndvb2NvbW1lcmNlLW9yZGVyID4gcCB1bCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHAgdWwsIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiBwIHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLndvb2NvbW1lcmNlIGZpZWxkc2V0IHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGZpZWxkc2V0IHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLmFkZHJlc3NlcyBhZGRyZXNzIHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiBhZGRyZXNzIHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgdWwsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCB1bCxcbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCB1bCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCB1bCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2UgdWwsIC53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHAud29vY29tbWVyY2Utbm90aWNlIHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MgdWwsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gYWRkcmVzcyB1bCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdWwsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCB1bCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gbGFiZWwgdWwsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSB1bCwgLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyB1bCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAud29vY29tbWVyY2UtcHJvZHVjdC1yYXRpbmcgdWwsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhIHVsLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIHAubWV0YSB1bCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHVsLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC53b29jb21tZXJjZS1yZXN1bHQtY291bnQgdWwsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIHVsLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAucmVzZXRfdmFyaWF0aW9ucyB1bCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCBkaXYuc3VtbWFyeSBkaXYucHJvZHVjdF9tZXRhIHVsLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZGl2LnN1bW1hcnkgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGRpdi5wcm9kdWN0X21ldGEgdWwsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgcCB1bCwgLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbiBwIHVsLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgdWwge1xuICBmb250LXNpemU6IDFlbTtcbn1cbi50ZXh0ID4gLmJ1dHRvbjpsYXN0LWNoaWxkLCAud29vY29tbWVyY2Utb3JkZXIgPiBwID4gLmJ1dHRvbjpsYXN0LWNoaWxkLCAud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCBwID4gLmJ1dHRvbjpsYXN0LWNoaWxkLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UgZmllbGRzZXQgPiAuYnV0dG9uOmxhc3QtY2hpbGQsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyA+IC5idXR0b246bGFzdC1jaGlsZCwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQgPiAuYnV0dG9uOmxhc3QtY2hpbGQsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBwLndvb2NvbW1lcmNlLUxvc3RQYXNzd29yZCA+IC5idXR0b246bGFzdC1jaGlsZCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBwLndvb2NvbW1lcmNlLW5vdGljZSA+IC5idXR0b246bGFzdC1jaGlsZCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3MgPiAuYnV0dG9uOmxhc3QtY2hpbGQsIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgPiAuYnV0dG9uOmxhc3QtY2hpbGQsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgbGFiZWwgPiAuYnV0dG9uOmxhc3QtY2hpbGQsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlID4gLmJ1dHRvbjpsYXN0LWNoaWxkLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nID4gLmJ1dHRvbjpsYXN0LWNoaWxkLCAud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhID4gLmJ1dHRvbjpsYXN0LWNoaWxkLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCA+IC5idXR0b246bGFzdC1jaGlsZCwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAucmVzZXRfdmFyaWF0aW9ucyA+IC5idXR0b246bGFzdC1jaGlsZCwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IGRpdi5wcm9kdWN0X21ldGEgPiAuYnV0dG9uOmxhc3QtY2hpbGQsIC53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudCBwID4gLmJ1dHRvbjpsYXN0LWNoaWxkLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwgPiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIGxhYmVsIHZhcmlhbnQgKi9cbi50ZXh0LS1sYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogbGlzdCB2YXJpYW50ICovXG4udGV4dC0tbGlzdCB7XG4gIHBhZGRpbmc6IDBlbSAwZW0gMGVtIDJlbTtcbn1cbi50ZXh0LS1saXN0IC50ZXh0X19saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG4udGV4dC0tbGlzdCAudGV4dF9fbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG59XG5cbi8qIGxpc3Qgb3JkZXJlZCB2YXJpYW50ICovXG4udGV4dC0tbGlzdC1vcmRlcmVkIHtcbiAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbn1cblxuLyogbGlzdCB1bm9yZGVyZWQgdmFyaWFudCAqL1xuLnRleHQtLWxpc3QtdW5vcmRlcmVkIHtcbiAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuLyogdGFibGUgdmFyaWFudCAqL1xuLnRleHRfX3RhYmxlX19jb250YWluZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50ZXh0LS10YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbn1cbi50ZXh0LS10YWJsZSAudGV4dF9faGVhZGVyIHtcbiAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xufVxuLnRleHQtLXRhYmxlIC50ZXh0X19ib2R5IHtcbiAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xufVxuLnRleHQtLXRhYmxlIC50ZXh0X19mb290ZXIge1xuICBjb2xvcjogIzI1MjUyNTtcbiAgZGlzcGxheTogdGFibGUtZm9vdGVyLWdyb3VwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4udGV4dC0tdGFibGUgLnRleHRfX3JvdyB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcbn1cbi50ZXh0LS10YWJsZSAudGV4dF9fY2VsbCB7XG4gIGJvcmRlcjogMDtcbiAgbWluLXdpZHRoOiA3LjgxMjVlbTtcbiAgcGFkZGluZzogMC42MjVlbSAwLjkzNzVlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi50ZXh0LS10YWJsZSAudGV4dF9faGVhZGVyIC50ZXh0X19jZWxsLFxuLnRleHQtLXRhYmxlIC50ZXh0X19ib2R5IC50ZXh0X19jZWxsLS1oZWFkZXIge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnRleHQtLXRhYmxlIC50ZXh0X19ib2R5IC50ZXh0X19jZWxsLS1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnRleHQtLXRhYmxlIC50ZXh0X19oZWFkZXIgKyAudGV4dF9fYm9keSA+IC50ZXh0X19yb3c6Zmlyc3QtY2hpbGQgPiAudGV4dF9fY2VsbCB7XG4gIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNhMGIxYjg7XG59XG4udGV4dC0tdGFibGUgPiAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbCxcbi50ZXh0LS10YWJsZSAudGV4dF9fYm9keSAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbCB7XG4gIGJhY2tncm91bmQ6ICNhMGIxYjg7XG59XG4udGV4dC0tdGFibGUgPiAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbDpmaXJzdC1jaGlsZCxcbi50ZXh0LS10YWJsZSAudGV4dF9fYm9keSAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMzc1cmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjM3NXJlbTtcbn1cbi50ZXh0LS10YWJsZSA+IC50ZXh0X19yb3c6bnRoLWNoaWxkKGV2ZW4pIC50ZXh0X19jZWxsOmxhc3QtY2hpbGQsXG4udGV4dC0tdGFibGUgLnRleHRfX2JvZHkgLnRleHRfX3JvdzpudGgtY2hpbGQoZXZlbikgLnRleHRfX2NlbGw6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjM3NXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMzc1cmVtO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBCbG9ja3F1b3RlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiAwLjEyNXJlbSBzb2xpZCAjOTlCMkFCO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDBlbSAwZW0gMGVtIDAuOTM3NWVtO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBVc2VyIENvbnRlbnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51c2VyLWNvbnRlbnQge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHNlbGVjdG9yLW1heC10eXBlICovXG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbn1cbi51c2VyLWNvbnRlbnQgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIGxpZ2h0IHZhcmlhbnQgKi9cbi51c2VyLWNvbnRlbnQtLWxpZ2h0IHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci1tYXgtdHlwZSAqL1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG59XG4udXNlci1jb250ZW50LS1saWdodCAudXNlci1jb250ZW50X19saW5rLFxuLnVzZXItY29udGVudC0tbGlnaHQgLnVzZXItY29udGVudF9fdGl0bGUsXG4udXNlci1jb250ZW50LS1saWdodCAudXNlci1jb250ZW50X190ZXh0LFxuLnVzZXItY29udGVudC0tbGlnaHQgLndwLWNhcHRpb24tdGV4dCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEFydGljbGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hcnRpY2xlX19maWd1cmUge1xuICBtYXJnaW46IDBlbSAwZW0gMS44NzVlbTtcbn1cblxuLmFydGljbGVfX2ZpZ3VyZV9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVlbTtcbn1cblxuLyogY2FyZCB2YXJpYW50ICovXG4uYXJ0aWNsZS0tY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVlbTtcbn1cbi5hcnRpY2xlLS1jYXJkIC5hcnRpY2xlX190aXRsZSB7XG4gIGNvbG9yOiAjMkI0NTUwO1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAxZW0gMS4xODc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQzNzVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cbi5hcnRpY2xlLS1jYXJkIC5hcnRpY2xlX191c2VyLWNvbnRlbnQgLnVzZXItY29udGVudF9fdGV4dCB7XG4gIGZvbnQtcmFuZ2U6IDQ4ZW0gODBlbTtcbiAgZm9udC1zaXplOiByZXNwb25zaXZlIDAuODc1ZW0gMS4wNjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU3MTQyODU3MTRlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41NzE0Mjg1NzE0ZW07XG59XG4uYXJ0aWNsZS0tY2FyZCAuYXJ0aWNsZV9fdXNlci1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uYXJ0aWNsZS0tY2FyZCAuYXJ0aWNsZV9fZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuLmFydGljbGUtLWNhcmQgLmFydGljbGVfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAxLjU2MjVlbSAxLjg3NWVtO1xufVxuXG4vKiBleGNlcnB0IHZhcmlhbnQgKi9cbi5hcnRpY2xlLS1leGNlcnB0ICsgLmFydGljbGUtLWV4Y2VycHQge1xuICBib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgI0RBREFEQTtcbiAgcGFkZGluZy10b3A6IDFlbTtcbn1cbi5hcnRpY2xlLS1leGNlcnB0IC5hcnRpY2xlX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcbn1cbi5hcnRpY2xlLS1leGNlcnB0IC5hcnRpY2xlX19oZWFkZXIgPiAuYXJ0aWNsZV9fdGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYXJ0aWNsZS0tZXhjZXJwdCAuYXJ0aWNsZV9faGVhZGVyID4gLmFydGljbGVfX3RpdGxlOm5vdCg6bGFzdC1jaGlsZCkgKyAqIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVlbTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ2FsbG91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNhbGxvdXQge1xuICBiYWNrZ3JvdW5kOiAjMkI0NTUwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IFwiU2lnblBhaW50ZXIgSG91c2VTY3JpcHRcIiwgXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAyLjg3NWVtIDMuMjVlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgaGVpZ2h0OiAxNC4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjk1NjUyMTczOTFlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNhbGxvdXRfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhbGxvdXRfX3BpY3R1cmVfX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmNhbGxvdXQ6Zm9jdXMgLmNhbGxvdXRfX3BpY3R1cmVfX2ltYWdlLCAuY2FsbG91dDpob3ZlciAuY2FsbG91dF9fcGljdHVyZV9faW1hZ2Uge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDI1KTtcbn1cblxuLmNhbGxvdXRfX2NvbnRlbnQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjY1KTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMS41NjI1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYWxsb3V0X19ncmFwaGljIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmhhbmRvcmdlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmhhbmRvcmdlbF9faGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbn1cblxuLmhhbmRvcmdlbF9faGVhZGVyLS1vcGVuIC5oYW5kb3JnZWxfX2hlYWRlcl9fYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbn1cblxuLmhhbmRvcmdlbF9faGVhZGVyLS1mb2N1cyAuaGFuZG9yZ2VsX19oZWFkZXJfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5oYW5kb3JnZWxfX2hlYWRlcl9fYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5oYW5kb3JnZWxfX2hlYWRlcl9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4uaGFuZG9yZ2VsX19jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMXMgZWFzZSAwLjFzO1xufVxuXG4uaGFuZG9yZ2VsX19jb250ZW50LS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjJzIGVhc2U7XG59XG5cbi5oYW5kb3JnZWxfX2NvbnRlbnQtLW9wZW5lZCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uaGFuZG9yZ2VsX19jb250ZW50X19pbm5lciB7XG4gIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG59XG5cbi5oYW5kb3JnZWxfX2NvbnRlbnQtLW9wZW5lZCAuaGFuZG9yZ2VsX19jb250ZW50X19pbm5lciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIYW5kb3JnZWwgKGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL2hhbmRvcmdlbClcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIGlmcmFtZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmlmcmFtZV9fY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmlmcmFtZV9fY29udGFpbmVyID4gLmlmcmFtZSB7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMb2dvXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG59XG4ubG9nbzpob3ZlciB7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLmxvZ29fX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNZW51IExpc3RcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT0gR0xPQkFMIFZBUklBTlRTID09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm1lbnUtbGlzdF9fY29udGFpbmVyIHtcbiAgY2xlYXI6IGZpeDtcbn1cblxuLm1lbnUtbGlzdCB7XG4gIGNsZWFyOiBmaXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWVudS1saXN0X19pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1lbnUtbGlzdF9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWVudS1saXN0X190b2dnbGUge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luOiAwO1xufVxuLm1lbnUtbGlzdF9fdG9nZ2xlIC50b2dnbGVfX2ljb24ge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXM7XG59XG4ubWVudS1saXN0X19pdGVtLmlzLWFjdGl2ZSA+IC5tZW51LWxpc3RfX3RvZ2dsZSAudG9nZ2xlX19pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG59XG5cbi8qIGFjY29yZGlvbiB2YXJpYW50ICovXG4ubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudCA+IC5tZW51LWxpc3RfX2xpbmsge1xuICBmbGV4OiAxIDEgMCU7XG59XG5cbi8qIGNoaWxkIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QtLWNoaWxkIHtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9faXRlbSB7XG4gIGZsb2F0OiBub25lO1xufVxuXG4vKiBjaGlsZCBhY2NvcmRpb24gdmFyaWFudCAqL1xuLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1hY2NvcmRpb24ge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1cyAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4ubWVudS1saXN0X19pdGVtLS1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1hY2NvcmRpb24ge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4xNXMgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLyogY2hpbGQgb3ZlcmxheSB2YXJpYW50ICovXG4ubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkge1xuICBsZWZ0OiAtOTk5ZW07XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5ZW07XG4gIHRyYW5zaXRpb246IGxlZnQgMHMgMC4xNXMsIG9wYWNpdHkgMC4xNXMsIHRvcCAwcyAwLjE1cywgdmlzaWJpbGl0eSAwcyAwLjE1cztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50OmhvdmVyID4gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1vdmVybGF5LCAubWVudS1saXN0X19pdGVtLS1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1vdmVybGF5IHtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMTtcbiAgdG9wOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLm5vLWphdmFzY3JpcHQgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50OmZvY3VzLXdpdGhpbiA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheSB7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDE7XG4gIHRvcDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLyogY2hpbGQgb3ZlcmxheSBkZXB0aCAyIHZhcmlhbnQgKi9cbi5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLWRlcHRoLTIsIC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudC5pcy1hY3RpdmUgPiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkubWVudS1saXN0LS1kZXB0aC0yIHtcbiAgbGVmdDogMTAwJTtcbiAgdG9wOiAwO1xufVxuLm5vLWphdmFzY3JpcHQgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50OmZvY3VzLXdpdGhpbiA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLWRlcHRoLTIge1xuICBsZWZ0OiAxMDAlO1xuICB0b3A6IDA7XG59XG5cbi8qIGNoaWxkIG92ZXJsYXkgcmV2ZXJzZSB2YXJpYW50ICovXG4ubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkubWVudS1saXN0LS1yZXZlcnNlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDk5OWVtO1xuICB0cmFuc2l0aW9uOiByaWdodCAwcyAwLjE1cywgb3BhY2l0eSAwLjE1cywgdG9wIDBzIDAuMTVzLCB2aXNpYmlsaXR5IDBzIDAuMTVzO1xufVxuLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50OmhvdmVyID4gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1vdmVybGF5Lm1lbnUtbGlzdC0tcmV2ZXJzZSwgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50LmlzLWFjdGl2ZSA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLXJldmVyc2Uge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbn1cbi5uby1qYXZhc2NyaXB0IC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpmb2N1cy13aXRoaW4gPiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkubWVudS1saXN0LS1yZXZlcnNlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG59XG5cbi8qIGNoaWxkIG92ZXJsYXkgcmV2ZXJzZSBkZXB0aCAyIHZhcmlhbnQgKi9cbi5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpob3ZlciA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLXJldmVyc2UubWVudS1saXN0LS1kZXB0aC0yLCAubWVudS1saXN0X19pdGVtLS1wYXJlbnQuaXMtYWN0aXZlID4gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1vdmVybGF5Lm1lbnUtbGlzdC0tcmV2ZXJzZS5tZW51LWxpc3QtLWRlcHRoLTIge1xuICByaWdodDogMTAwJTtcbiAgdG9wOiAwO1xufVxuLm5vLWphdmFzY3JpcHQgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50OmZvY3VzLXdpdGhpbiA+IC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLXJldmVyc2UubWVudS1saXN0LS1kZXB0aC0yIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbn1cblxuLyogZmxleCB2YXJpYW50ICovXG4ubWVudS1saXN0LS1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5tZW51LWxpc3QtLWZsZXg6bm90KC5tZW51LWxpc3QtLWp1c3RpZnktYmV0d2Vlbikge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubWVudS1saXN0LS1mbGV4OjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubWVudS1saXN0LS1mbGV4ID4gLm1lbnUtbGlzdF9faXRlbSB7XG4gIGZsZXg6IDEgMSAwJTtcbn1cbi5tZW51LWxpc3QtLWZsZXg6bm90KC5tZW51LWxpc3QtLWp1c3RpZnktYmV0d2Vlbik6bm90KC5tZW51LWxpc3QtLWp1c3RpZnktY2VudGVyKSA+IC5tZW51LWxpc3RfX2l0ZW0ge1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi8qIGZsZXggc3RhcnQgdmFyaWFudCAqL1xuLm1lbnUtbGlzdC0tanVzdGlmeS1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5tZW51LWxpc3QtLWp1c3RpZnktc3RhcnQgPiAubWVudS1saXN0X19pdGVtIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi8qIGZsZXggY2VudGVyIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QtLWp1c3RpZnktY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ubWVudS1saXN0LS1qdXN0aWZ5LWNlbnRlciA+IC5tZW51LWxpc3RfX2l0ZW0ge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLyogZmxleCBlbmQgdmFyaWFudCAqL1xuLm1lbnUtbGlzdC0tanVzdGlmeS1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuLm1lbnUtbGlzdC0tanVzdGlmeS1lbmQgPiAubWVudS1saXN0X19pdGVtIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi8qIGZsZXggYmV0d2VlbiB2YXJpYW50ICovXG4ubWVudS1saXN0LS1qdXN0aWZ5LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ubWVudS1saXN0LS1qdXN0aWZ5LWJldHdlZW4gPiAubWVudS1saXN0X19pdGVtIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi8qIHZlcnRpY2FsIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QtLXZlcnRpY2FsID4gLm1lbnUtbGlzdF9faXRlbSB7XG4gIGZsb2F0OiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09IENVU1RPTSBWQVJJQU5UUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIGljb25zIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QtLWljb25zIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLm1lbnUtbGlzdC0taWNvbnMgLm1lbnUtbGlzdF9fbGluayB7XG4gIHBhZGRpbmc6IDAuNGVtO1xufVxuXG4vKiBtZXRhIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QtLW1ldGEge1xuICBjb2xvcjogIzI1MjUyNTtcbiAgZm9udC1mYW1pbHk6IFwiZmlyYS1zYW5zXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDBlbSAwZW0gMWVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm1lbnUtbGlzdC0tbWV0YSAubWVudS1saXN0X19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDEuNDI4NTcxNDI4NmVtO1xufVxuLm1lbnUtbGlzdC0tbWV0YSAubWVudS1saXN0X19saW5rIHtcbiAgY29sb3I6ICMyNTI1MjU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5tZW51LWxpc3QtLW1ldGEgLm1lbnUtbGlzdF9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMjUyNTI1O1xufVxuXG4vKiBuYXZpZ2F0aW9uIHZhcmlhbnQgKi9cbi5tZW51LWxpc3QtLW5hdmlnYXRpb24ge1xuICAvKiBjaGlsZCAqL1xuICAvKiBjaGlsZCBkZXB0aCAyICovXG4gIC8qIHZlcnRpY2FsICovXG4gIC8qIGFjY29yZGlvbnMgKi9cbn1cbi5tZW51LWxpc3QtLW5hdmlnYXRpb24ge1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMTI1ZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjIyMjIyMjIyMjJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9faXRlbSB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfX2xpbmssXG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC42MTExMTExMTExZW0gMC43NWVtIDAuMzg4ODg4ODg4OWVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuMTVzO1xufVxuLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0X19saW5rOmFjdGl2ZSxcbi5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdF9fdG9nZ2xlOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjE1cztcbn1cbi5tZW51LWxpc3QtLW5hdmlnYXRpb24gPiAubWVudS1saXN0X19pdGVtLmlzLWFjdGl2ZSA+IC5tZW51LWxpc3RfX2xpbmssXG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uID4gLm1lbnUtbGlzdF9faXRlbS5pcy1hY3RpdmUgPiAubWVudS1saXN0X190b2dnbGUsXG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uID4gLm1lbnUtbGlzdF9faXRlbTpmb2N1cy13aXRoaW4gPiAubWVudS1saXN0X19saW5rLFxuLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiA+IC5tZW51LWxpc3RfX2l0ZW06Zm9jdXMtd2l0aGluID4gLm1lbnUtbGlzdF9fdG9nZ2xlLFxuLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiA+IC5tZW51LWxpc3RfX2l0ZW06aG92ZXIgPiAubWVudS1saXN0X19saW5rLFxuLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiA+IC5tZW51LWxpc3RfX2l0ZW06aG92ZXIgPiAubWVudS1saXN0X190b2dnbGUge1xuICBjb2xvcjogIzk5QjJBQjtcbn1cbi5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE4NSwgMTk5LCAxOTUsIDAuOSk7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheSB7XG4gIG1pbi13aWR0aDogMTUuNjI1ZW07XG59XG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3QtLWNoaWxkIC5tZW51LWxpc3RfX2l0ZW0uaXMtYWN0aXZlLFxuLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X19pdGVtOmZvY3VzLXdpdGhpbixcbi5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9faXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9fbGluayxcbi5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAwLjI1ZW0gMWVtO1xufVxuLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0LS1jaGlsZCA+IC5tZW51LWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgPiAubWVudS1saXN0X19saW5rLFxuLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0LS1jaGlsZCA+IC5tZW51LWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgPiAubWVudS1saXN0X190b2dnbGUge1xuICBwYWRkaW5nLXRvcDogMC41ZW07XG59XG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3QtLWNoaWxkID4gLm1lbnUtbGlzdF9faXRlbTpsYXN0LWNoaWxkID4gLm1lbnUtbGlzdF9fbGluayxcbi5tZW51LWxpc3QtLW5hdmlnYXRpb24gLm1lbnUtbGlzdC0tY2hpbGQgPiAubWVudS1saXN0X19pdGVtOmxhc3QtY2hpbGQgPiAubWVudS1saXN0X190b2dnbGUge1xuICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG59XG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uIC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tZGVwdGgtMiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgMTAwJSk7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiAubWVudS1saXN0X19pdGVtLS1wYXJlbnQ6bm90KDpmaXJzdC1jaGlsZCkgPiAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLWRlcHRoLTIubWVudS1saXN0LS1vdmVybGF5IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjJlbSk7XG59XG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uLm1lbnUtbGlzdC0tdmVydGljYWwgLm1lbnUtbGlzdF9fbGluaywgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbi5tZW51LWxpc3QtLXZlcnRpY2FsIC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5tZW51LWxpc3QtLW5hdmlnYXRpb24ubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQge1xuICBmb250LXNpemU6IDFlbTtcbn1cbi5tZW51LWxpc3QtLW5hdmlnYXRpb24ubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzc4OUU5NDtcbiAgYm90dG9tOiAwO1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkIC5tZW51LWxpc3RfX2xpbmssIC5tZW51LWxpc3QtLW5hdmlnYXRpb24ubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQgLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgcGFkZGluZzogMC40ZW0gMC44ZW07XG59XG4ubWVudS1saXN0LS1uYXZpZ2F0aW9uLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkID4gLm1lbnUtbGlzdF9faXRlbTpmaXJzdC1jaGlsZCA+IC5tZW51LWxpc3RfX2xpbmssIC5tZW51LWxpc3QtLW5hdmlnYXRpb24ubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQgPiAubWVudS1saXN0X19pdGVtOmZpcnN0LWNoaWxkID4gLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgcGFkZGluZy10b3A6IDAuOGVtO1xufVxuLm1lbnUtbGlzdC0tbmF2aWdhdGlvbi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZCA+IC5tZW51LWxpc3RfX2l0ZW06bGFzdC1jaGlsZCA+IC5tZW51LWxpc3RfX2xpbmssIC5tZW51LWxpc3QtLW5hdmlnYXRpb24ubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQgPiAubWVudS1saXN0X19pdGVtOmxhc3QtY2hpbGQgPiAubWVudS1saXN0X190b2dnbGUge1xuICBwYWRkaW5nLWJvdHRvbTogMC44ZW07XG59XG5cbi8qIHBhZ2luYXRpb24gdmFyaWFudCAqL1xuLm1lbnUtbGlzdC0tcGFnaW5hdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcImZpcmEtc2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5tZW51LWxpc3QtLXBhZ2luYXRpb24gLm1lbnUtbGlzdF9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjU3MTQyODU3MTRlbTtcbn1cbi5tZW51LWxpc3QtLXBhZ2luYXRpb24gLm1lbnUtbGlzdF9fbGluay0tY3VycmVudCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IGF1dG87XG59XG5cbi8qIHN1Ym1lbnUgdmFyaWFudCAqL1xuLm1lbnUtbGlzdC0tc3VibWVudSB7XG4gIGJhY2tncm91bmQ6ICMyQjQ1NTA7XG4gIGZvbnQtZmFtaWx5OiBcImZpcmEtc2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS40Mzc1ZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ3ODI2MDg2OTZlbTtcbiAgcGFkZGluZzogMS44NzVyZW0gMi41cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm1lbnUtbGlzdC0tc3VibWVudSAubWVudS1saXN0X19saW5rIHtcbiAgY29sb3I6ICM5OUIyQUI7XG4gIHBhZGRpbmc6IDAuMjE3MzkxMzA0M2VtIDBlbTtcbn1cbi5tZW51LWxpc3QtLXN1Ym1lbnUgLm1lbnUtbGlzdF9fbGluazpmb2N1cyxcbi5tZW51LWxpc3QtLXN1Ym1lbnUgLm1lbnUtbGlzdF9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjQjlDN0MzO1xufVxuLm1lbnUtbGlzdC0tc3VibWVudSAubWVudS1saXN0LS1jaGlsZCB7XG4gIGZvbnQtc2l6ZTogMC43ODI2MDg2OTU3ZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ0NDQ0NDQ0NDRlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4ubWVudS1saXN0LS1zdWJtZW51IC5tZW51LWxpc3QtLWNoaWxkID4gLm1lbnUtbGlzdF9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICM5OUIyQUI7XG59XG4ubWVudS1saXN0LS1zdWJtZW51IC5tZW51LWxpc3QtLWNoaWxkIC5tZW51LWxpc3RfX2xpbmsge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZzogMC43Nzc3Nzc3Nzc4ZW0gMGVtIDAuNTU1NTU1NTU1NmVtO1xufVxuLm1lbnUtbGlzdC0tc3VibWVudSAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X19saW5rOmZvY3VzLFxuLm1lbnUtbGlzdC0tc3VibWVudSAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNCOUM3QzM7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE5pbmphIEZvcm1zXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuICovXG4ubmYtZm9ybS1ocCB7XG4gIGxlZnQ6IC05OTllbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTllbTtcbn1cblxuLm5mLWZpZWxkLWNvbnRhaW5lciAucGlrYWRheV9fY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3gsXG4ubmYtZmllbGQtY29udGFpbmVyIC5saXN0LXJhZGlvIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1hYm92ZSAuZmllbGQtd3JhcCwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1yaWdodCAuZmllbGQtd3JhcCwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAuZmllbGQtd3JhcCwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1sZWZ0IC5maWVsZC13cmFwIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1sZWZ0IC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCB7XG4gIGZsZXg6IG5vbmU7XG59XG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWFib3ZlIC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50LCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50LCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWxlZnQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtcmlnaHQgLmNoZWNrYm94LXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQsIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtbGVmdCAuY2hlY2tib3gtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gIGZsZXg6IG5vbmU7XG59XG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWFib3ZlIC5maWVsZC13cmFwIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAuZmllbGQtd3JhcCAubmYtZmllbGQtbGFiZWwge1xuICBvcmRlcjogMjtcbn1cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICBvcmRlcjogMTtcbn1cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtcmlnaHQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWxhYmVsIHtcbiAgb3JkZXI6IDI7XG59XG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgb3JkZXI6IDE7XG59XG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWhpZGRlbiAuZmllbGQtd3JhcCAubmYtZmllbGQtbGFiZWwge1xuICBsZWZ0OiAtOTk5ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5ZW07XG59XG5cbi5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgei1pbmRleDogOTk5O1xufVxuXG4ubmYtaGFzLWNvbHVtbnMgLm5mLXJvdyB7XG4gIG1hcmdpbjogMCAtNXB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBPcGluaW9uYXRlZCBUd2Vha3NcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5pcy1vZmZsaW5lIC5uZi1mb3JtLWNvbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaXMtb2ZmbGluZSAubmYtZm9ybS1jb250OjpiZWZvcmUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICBjb250ZW50OiBcIlNvcnJ5LCBpdCBsb29rcyBsaWtlIHlvdSdyZSBvZmZsaW5lLiBQbGVhc2UgcmVjb25uZWN0IHRvIHRoZSBpbnRlcm5ldCB0byB1c2UgdGhpcyBmb3JtLlwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMS4yNWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm5pbmphLWZvcm1zLXJlcS1zeW1ib2wge1xuICBjb2xvcjogI0M2MjgyODtcbn1cblxuLm5pbmphLWZvcm1zLWhlbHAtc3ltYm9sIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uaW5qYS1mb3Jtcy1oZWxwLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kOiAjMEYwRjBGO1xuICBib3JkZXItcmFkaXVzOiAwLjQyODU3MTQyODZlbTtcbiAgYm90dG9tOiAxMzAlO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGxlZnQ6IDUwJTtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMC43MTQyODU3MTQzZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSg1MCUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzLCB0cmFuc2Zvcm0gMC4xNXM7XG4gIHdpZHRoOiAxNC4yODU3MTQyODU3ZW07XG59XG4ubmluamEtZm9ybXMtaGVscC1zeW1ib2wuaXMtYWN0aXZlIC5uaW5qYS1mb3Jtcy1oZWxwLXRvb2x0aXAge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4ubmluamEtZm9ybXMtaGVscC10b29sdGlwOjphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiAwLjM3NWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDAuMzc1ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDAuMzc1ZW0gc29saWQgIzBGMEYwRjtcbiAgY29udGVudDogXCJcIjtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuLm5pbmphLWZvcm1zLWhlbHAtdG9vbHRpcCAubmluamEtZm9ybXMtdXNlci1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3gsXG4ubmYtZmllbGQtY29udGFpbmVyIC5saXN0LXJhZGlvIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMjVlbTtcbn1cbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3ggLmlucHV0LS10b2dnbGUsIC5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3ggLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3gsIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIC5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtY2hlY2tib3ggaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3gsXG4ubmYtZmllbGQtY29udGFpbmVyIC5saXN0LWNoZWNrYm94IC53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveCBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCxcbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW8gLmlucHV0LS10b2dnbGUsXG4ubmYtZmllbGQtY29udGFpbmVyIC5saXN0LXJhZGlvIC53b29jb21tZXJjZSBmb3JtLmxvZ2luIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LFxuLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1yYWRpbyBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCxcbi5uZi1maWVsZC1jb250YWluZXIgLmxpc3QtcmFkaW8gLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3gsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciAubmYtZmllbGQtY29udGFpbmVyIC5saXN0LXJhZGlvIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xufVxuLm5mLWZpZWxkLWNvbnRhaW5lciAubGlzdC1jaGVja2JveCAudGV4dC0tbGFiZWwsXG4ubmYtZmllbGQtY29udGFpbmVyIC5saXN0LXJhZGlvIC50ZXh0LS1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVlbTtcbn1cblxuLm5mLWZpZWxkLWNvbnRhaW5lciAuc3RhcnMge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuLm5mLWVycm9yLW1zZyB7XG4gIGNvbG9yOiAjRDc0QzRDO1xufVxuXG4ubmYtZmllbGQtY29udGFpbmVyIC5nLXJlY2FwdGNoYTpub3QoW2RhdGEtc2l6ZT1pbnZpc2libGVdKSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG4ubmYtZmllbGQtY29udGFpbmVyIC50ZXh0LS1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1hYm92ZSAubmYtZmllbGQtbGFiZWwgPiAudGV4dC0tbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG59XG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1sYWJlbCA+IC50ZXh0LS1sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDAuMjVlbTtcbn1cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWVsZW1lbnQgLmlucHV0LCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IC53b29jb21tZXJjZSBmb3JtLmxvZ2luIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LCAud29vY29tbWVyY2UgZm9ybS5sb2dpbiAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LFxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtZWxlbWVudCAud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCxcbi53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3gsIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWVsZW1lbnQgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHNlbGVjdCwgLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWVsZW1lbnQgc2VsZWN0LCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IC53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBpbnB1dC5pbnB1dC10ZXh0LCAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtZWxlbWVudCBpbnB1dC5pbnB1dC10ZXh0LFxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtZWxlbWVudCAud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgdGV4dGFyZWEsXG4ud29vY29tbWVyY2UgZm9ybSAuZm9ybS1yb3cgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtZWxlbWVudCB0ZXh0YXJlYSwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtZWxlbWVudCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIC5jb21tZW50LWZvcm0tYXV0aG9yIGlucHV0LCAud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIC5jb21tZW50LWZvcm0tYXV0aG9yIC5uZi1maWVsZC1jb250YWluZXIubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWVsZW1lbnQgaW5wdXQsXG4ubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLmNvbW1lbnQtZm9ybS1lbWFpbCBpbnB1dCxcbi53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLmNvbW1lbnQtZm9ybS1lbWFpbCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IGlucHV0LCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgdGV4dGFyZWEsIC53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtZWxlbWVudCB0ZXh0YXJlYSwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtZWxlbWVudCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyaW5nIHNlbGVjdCwgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IHNlbGVjdCwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtZWxlbWVudCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC52YXJpYXRpb25zIHNlbGVjdCwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IHNlbGVjdCwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtZWxlbWVudCAud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHksIC53b29jb21tZXJjZSAucXVhbnRpdHkgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubmYtZmllbGQtZWxlbWVudCAucXR5LCAubmYtZmllbGQtY29udGFpbmVyLmxhYmVsLWJlbG93IC5uZi1maWVsZC1lbGVtZW50IC5zdGFycywgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubGlzdC1jaGVja2JveCwgLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1iZWxvdyAubGlzdC1yYWRpbyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9yZGVyOiAxO1xufVxuLm5mLWZpZWxkLWNvbnRhaW5lci5sYWJlbC1sZWZ0IC5uZi1maWVsZC1sYWJlbCA+IC50ZXh0LS1sYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMC42MjVlbTtcbn1cbi5uZi1maWVsZC1jb250YWluZXIubGFiZWwtcmlnaHQgLm5mLWZpZWxkLWxhYmVsID4gLnRleHQtLWxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1ZW07XG59XG4ubmYtZmllbGQtY29udGFpbmVyLmxpc3RjaGVja2JveC1jb250YWluZXIgLmlucHV0LS10b2dnbGUsIC5uZi1maWVsZC1jb250YWluZXIubGlzdGNoZWNrYm94LWNvbnRhaW5lciAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gLm5mLWZpZWxkLWNvbnRhaW5lci5saXN0Y2hlY2tib3gtY29udGFpbmVyIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LFxuLm5mLWZpZWxkLWNvbnRhaW5lci5saXN0Y2hlY2tib3gtY29udGFpbmVyIC53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgLm5mLWZpZWxkLWNvbnRhaW5lci5saXN0Y2hlY2tib3gtY29udGFpbmVyIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LCAubmYtZmllbGQtY29udGFpbmVyLmxpc3RyYWRpby1jb250YWluZXIgLmlucHV0LS10b2dnbGUsIC5uZi1maWVsZC1jb250YWluZXIubGlzdHJhZGlvLWNvbnRhaW5lciAud29vY29tbWVyY2UgZm9ybS5sb2dpbiBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCwgLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gLm5mLWZpZWxkLWNvbnRhaW5lci5saXN0cmFkaW8tY29udGFpbmVyIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LFxuLm5mLWZpZWxkLWNvbnRhaW5lci5saXN0cmFkaW8tY29udGFpbmVyIC53b29jb21tZXJjZSBmb3JtLnJlZ2lzdGVyIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94LFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgLm5mLWZpZWxkLWNvbnRhaW5lci5saXN0cmFkaW8tY29udGFpbmVyIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94IHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjM3NWVtO1xufVxuXG4ubm90eV9sYXlvdXRfbWl4aW4sICNub3R5X2xheW91dF9fY2VudGVyUmlnaHQsICNub3R5X2xheW91dF9fY2VudGVyTGVmdCwgI25vdHlfbGF5b3V0X19jZW50ZXIsICNub3R5X2xheW91dF9fYm90dG9tUmlnaHQsICNub3R5X2xheW91dF9fYm90dG9tQ2VudGVyLCAjbm90eV9sYXlvdXRfX2JvdHRvbUxlZnQsICNub3R5X2xheW91dF9fYm90dG9tLCAjbm90eV9sYXlvdXRfX3RvcFJpZ2h0LCAjbm90eV9sYXlvdXRfX3RvcENlbnRlciwgI25vdHlfbGF5b3V0X190b3BMZWZ0LCAjbm90eV9sYXlvdXRfX3RvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMSwgMSk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gIGZpbHRlcjogYmx1cigwKTtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMCk7XG4gIG1heC13aWR0aDogOTAlO1xufVxuXG4jbm90eV9sYXlvdXRfX3RvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogNSU7XG4gIHdpZHRoOiA5MCU7XG59XG5cbiNub3R5X2xheW91dF9fdG9wTGVmdCB7XG4gIHRvcDogMjBweDtcbiAgbGVmdDogMjBweDtcbiAgd2lkdGg6IDMyNXB4O1xufVxuXG4jbm90eV9sYXlvdXRfX3RvcENlbnRlciB7XG4gIHRvcDogNSU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDMyNXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC01MCUgLSAuNXB4KSkgdHJhbnNsYXRlWigwKSBzY2FsZSgxLCAxKTtcbn1cblxuI25vdHlfbGF5b3V0X190b3BSaWdodCB7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAzMjVweDtcbn1cblxuI25vdHlfbGF5b3V0X19ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUlO1xuICB3aWR0aDogOTAlO1xufVxuXG4jbm90eV9sYXlvdXRfX2JvdHRvbUxlZnQge1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6IDIwcHg7XG4gIHdpZHRoOiAzMjVweDtcbn1cblxuI25vdHlfbGF5b3V0X19ib3R0b21DZW50ZXIge1xuICBib3R0b206IDUlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAzMjVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYygtNTAlIC0gLjVweCkpIHRyYW5zbGF0ZVooMCkgc2NhbGUoMSwgMSk7XG59XG5cbiNub3R5X2xheW91dF9fYm90dG9tUmlnaHQge1xuICBib3R0b206IDIwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICB3aWR0aDogMzI1cHg7XG59XG5cbiNub3R5X2xheW91dF9fY2VudGVyIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDMyNXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC01MCUgLSAuNXB4KSwgY2FsYygtNTAlIC0gLjVweCkpIHRyYW5zbGF0ZVooMCkgc2NhbGUoMSwgMSk7XG59XG5cbiNub3R5X2xheW91dF9fY2VudGVyTGVmdCB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAyMHB4O1xuICB3aWR0aDogMzI1cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIGNhbGMoLTUwJSAtIC41cHgpKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xufVxuXG4jbm90eV9sYXlvdXRfX2NlbnRlclJpZ2h0IHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAyMHB4O1xuICB3aWR0aDogMzI1cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIGNhbGMoLTUwJSAtIC41cHgpKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xufVxuXG4ubm90eV9wcm9ncmVzc2JhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ub3R5X2hhc190aW1lb3V0Lm5vdHlfaGFzX3Byb2dyZXNzYmFyIC5ub3R5X3Byb2dyZXNzYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDY0NjQ7XG4gIG9wYWNpdHk6IDAuMjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwKTtcbn1cblxuLm5vdHlfYmFyIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgdHJhbnNsYXRlWigwKSBzY2FsZSgxLCAxKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSwgMSk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubm90eV9lZmZlY3RzX29wZW4ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUpO1xuICBhbmltYXRpb246IG5vdHlfYW5pbV9pbiAwLjVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbn1cblxuLm5vdHlfZWZmZWN0c19jbG9zZSB7XG4gIGFuaW1hdGlvbjogbm90eV9hbmltX291dCAwLjVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbn1cblxuLm5vdHlfZml4X2VmZmVjdHNfaGVpZ2h0IHtcbiAgYW5pbWF0aW9uOiBub3R5X2FuaW1faGVpZ2h0IDc1bXMgZWFzZS1vdXQ7XG59XG5cbi5ub3R5X2Nsb3NlX3dpdGhfY2xpY2sge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5ub3R5X2Nsb3NlX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIHJpZ2h0OiAycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5ub3R5X2Nsb3NlX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLm5vdHlfbW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBvcGFjaXR5OiAwLjM7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cblxuLm5vdHlfbW9kYWwubm90eV9tb2RhbF9vcGVuIHtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uOiBub3R5X21vZGFsX2luIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi5ub3R5X21vZGFsLm5vdHlfbW9kYWxfY2xvc2Uge1xuICBhbmltYXRpb246IG5vdHlfbW9kYWxfb3V0IDAuM3MgZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIG5vdHlfbW9kYWxfaW4ge1xuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbm90eV9tb2RhbF9vdXQge1xuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG5vdHlfbW9kYWxfb3V0IHtcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBub3R5X2FuaW1faW4ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIG5vdHlfYW5pbV9vdXQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbm90eV9hbmltX2hlaWdodCB7XG4gIDEwMCUge1xuICAgIGhlaWdodDogMDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTm90eSAoaHR0cHM6Ly9uZWQuaW0vbm90eS8jLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cbi5ub3R5X2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDNjI4Mjg7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1ZW07XG4gIGJveC1zaGFkb3c6IDBlbSAwLjEyNWVtIDAuMzEyNWVtIDBlbSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBtYXJnaW46IDAuMzEyNWVtIDBlbTtcbn1cbi5ub3R5X2JhciAubm90eV9ib2R5IHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtZmFtaWx5OiBcImZpcmEtc2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07XG4gIHBhZGRpbmc6IDFlbSAxLjVlbTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogUGFuZWwgVG9nZ2xlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucGFuZWwtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzJCNDU1MDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyZW07XG59XG5cbi8qISBQaG90b1N3aXBlIG1haW4gQ1NTIGJ5IERtaXRyeSBTZW1lbm92IHwgcGhvdG9zd2lwZS5jb20gfCBNSVQgbGljZW5zZSAqL1xuLypcblx0U3R5bGVzIGZvciBiYXNpYyBQaG90b1N3aXBlIGZ1bmN0aW9uYWxpdHkgKHNsaWRpbmcgYXJlYSwgb3Blbi9jbG9zZSB0cmFuc2l0aW9ucylcbiovXG4vKiBwc3dwID0gcGhvdG9zd2lwZSAqL1xuLnBzd3Age1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICB6LWluZGV4OiAxNTAwO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIGNyZWF0ZSBzZXBhcmF0ZSBsYXllciwgdG8gYXZvaWQgcGFpbnQgb24gd2luZG93Lm9uc2Nyb2xsIGluIHdlYmtpdC9ibGluayAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnBzd3AgKiB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnBzd3AgaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vKiBzdHlsZSBpcyBhZGRlZCB3aGVuIEpTIG9wdGlvbiBzaG93SGlkZU9wYWNpdHkgaXMgc2V0IHRvIHRydWUgKi9cbi5wc3dwLS1hbmltYXRlX29wYWNpdHkge1xuICAvKiAwLjAwMSwgYmVjYXVzZSBvcGFjaXR5OjAgZG9lc24ndCB0cmlnZ2VyIFBhaW50IGFjdGlvbiwgd2hpY2ggY2F1c2VzIGxhZyBhdCBzdGFydCBvZiB0cmFuc2l0aW9uICovXG4gIG9wYWNpdHk6IDAuMDAxO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG59XG5cbi5wc3dwLS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2ltZyB7XG4gIC8qIGF1dG9wcmVmaXhlcjogb2ZmICovXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluO1xufVxuXG4ucHN3cC0tem9vbWVkLWluIC5wc3dwX19pbWcge1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiAtbW96LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLnBzd3AtLWRyYWdnaW5nIC5wc3dwX19pbWcge1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW1vei1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuLypcblx0QmFja2dyb3VuZCBpcyBhZGRlZCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQuXG5cdEFzIGFuaW1hdGluZyBvcGFjaXR5IGlzIG11Y2ggZmFzdGVyIHRoYW4gYW5pbWF0aW5nIHJnYmEoKSBiYWNrZ3JvdW5kLWNvbG9yLlxuKi9cbi5wc3dwX19iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi5wc3dwX19zY3JvbGwtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHN3cF9fY29udGFpbmVyLFxuLnBzd3BfX3pvb20td3JhcCB7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG59XG5cbi8qIFByZXZlbnQgc2VsZWN0aW9uIGFuZCB0YXAgaGlnaGxpZ2h0cyAqL1xuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX19pbWcge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG5cbi5wc3dwX196b29tLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbn1cblxuLnBzd3BfX2JnIHtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIC8qIGZvciBvcGVuL2Nsb3NlIHRyYW5zaXRpb24gKi9cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xufVxuXG4ucHN3cC0tYW5pbWF0ZWQtaW4gLnBzd3BfX2JnLFxuLnBzd3AtLWFuaW1hdGVkLWluIC5wc3dwX196b29tLXdyYXAge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5wc3dwX19pdGVtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wc3dwX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLypcblx0c3RyZXRjaGVkIHRodW1ibmFpbCBvciBkaXYgcGxhY2Vob2xkZXIgZWxlbWVudCAoc2VlIGJlbG93KVxuXHRzdHlsZSBpcyBhZGRlZCB0byBhdm9pZCBmbGlja2VyaW5nIGluIHdlYmtpdC9ibGluayB3aGVuIGxheWVycyBvdmVybGFwXG4qL1xuLnBzd3BfX2ltZy0tcGxhY2Vob2xkZXIge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcblx0ZGl2IGVsZW1lbnQgdGhhdCBtYXRjaGVzIHNpemUgb2YgbGFyZ2UgaW1hZ2Vcblx0bGFyZ2UgaW1hZ2UgbG9hZHMgb24gdG9wIG9mIGl0XG4qL1xuLnBzd3BfX2ltZy0tcGxhY2Vob2xkZXItLWJsYW5rIHtcbiAgYmFja2dyb3VuZDogIzIyMjtcbn1cblxuLnBzd3AtLWllIC5wc3dwX19pbWcge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuXG4vKlxuXHRFcnJvciBtZXNzYWdlIGFwcGVhcnMgd2hlbiBpbWFnZSBpcyBub3QgbG9hZGVkXG5cdChKUyBvcHRpb24gZXJyb3JNc2cgY29udHJvbHMgbWFya3VwKVxuKi9cbi5wc3dwX19lcnJvci1tc2cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tdG9wOiAtOHB4O1xuICBjb2xvcjogI0NDQztcbn1cblxuLnBzd3BfX2Vycm9yLW1zZyBhIHtcbiAgY29sb3I6ICNDQ0M7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiEgUGhvdG9Td2lwZSBEZWZhdWx0IFVJIENTUyBieSBEbWl0cnkgU2VtZW5vdiB8IHBob3Rvc3dpcGUuY29tIHwgTUlUIGxpY2Vuc2UgKi9cbi8qXG5cblx0Q29udGVudHM6XG5cblx0MS4gQnV0dG9uc1xuXHQyLiBTaGFyZSBtb2RhbCBhbmQgbGlua3Ncblx0My4gSW5kZXggaW5kaWNhdG9yIChcIjEgb2YgWFwiIGNvdW50ZXIpXG5cdDQuIENhcHRpb25cblx0NS4gTG9hZGluZyBpbmRpY2F0b3Jcblx0Ni4gQWRkaXRpb25hbCBzdHlsZXMgKHJvb3QgZWxlbWVudCwgdG9wIGJhciwgaWRsZSBzdGF0ZSwgaGlkZGVuIHN0YXRlLCBldGMuKVxuXG4qL1xuLypcblxuXHQxLiBCdXR0b25zXG5cbiAqL1xuLyogPGJ1dHRvbj4gY3NzIHJlc2V0ICovXG4ucHN3cF9fYnV0dG9uIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBvcGFjaXR5OiAwLjc1O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5wc3dwX19idXR0b246Zm9jdXMsIC5wc3dwX19idXR0b246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucHN3cF9fYnV0dG9uOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLnBzd3BfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLyogcHN3cF9fdWktLW92ZXItY2xvc2UgY2xhc3MgaXQgYWRkZWQgd2hlbiBtb3VzZSBpcyBvdmVyIGVsZW1lbnQgdGhhdCBzaG91bGQgY2xvc2UgZ2FsbGVyeSAqL1xuLnBzd3BfX3VpLS1vdmVyLWNsb3NlIC5wc3dwX19idXR0b24tLWNsb3NlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBzd3BfX2J1dHRvbixcbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoZGVmYXVsdC1za2luLnBuZykgMCAwIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAyNjRweCA4OHB4O1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xufVxuXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4xKSwgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4wOTM3NSksIChtaW4tcmVzb2x1dGlvbjogMTA1ZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAxLjFkcHB4KSB7XG4gIC8qIFNlcnZlIFNWRyBzcHJpdGUgaWYgYnJvd3NlciBzdXBwb3J0cyBTVkcgYW5kIHJlc29sdXRpb24gaXMgbW9yZSB0aGFuIDEwNWRwaSAqL1xuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24sXG4ucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbi5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRlZmF1bHQtc2tpbi5zdmcpO1xuICB9XG5cbiAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG59XG4ucHN3cF9fYnV0dG9uLS1jbG9zZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ0cHg7XG59XG5cbi5wc3dwX19idXR0b24tLXNoYXJlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0cHggLTQ0cHg7XG59XG5cbi5wc3dwX19idXR0b24tLWZzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBzd3AtLXN1cHBvcnRzLWZzIC5wc3dwX19idXR0b24tLWZzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wc3dwLS1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IDA7XG59XG5cbi5wc3dwX19idXR0b24tLXpvb20ge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODhweCAwO1xufVxuXG4ucHN3cC0tem9vbS1hbGxvd2VkIC5wc3dwX19idXR0b24tLXpvb20ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBzd3AtLXpvb21lZC1pbiAucHN3cF9fYnV0dG9uLS16b29tIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzMnB4IDA7XG59XG5cbi8qIG5vIGFycm93cyBvbiB0b3VjaCBzY3JlZW5zICovXG4ucHN3cC0tdG91Y2ggLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0tdG91Y2ggLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuXHRBcnJvdyBidXR0b25zIGhpdCBhcmVhXG5cdChpY29uIGlzIGFkZGVkIHRvIDpiZWZvcmUgcHNldWRvLWVsZW1lbnQpXG4qL1xuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTUwcHg7XG4gIHdpZHRoOiA3MHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0IHtcbiAgbGVmdDogMDtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDM1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUge1xuICBsZWZ0OiA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMzhweCAtNDRweDtcbn1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gIHJpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NHB4IC00NHB4O1xufVxuXG4vKlxuXG5cdDIuIFNoYXJlIG1vZGFsL3BvcHVwIGFuZCBsaW5rc1xuXG4gKi9cbi5wc3dwX19jb3VudGVyLFxuLnBzd3BfX3NoYXJlLW1vZGFsIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnBzd3BfX3NoYXJlLW1vZGFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE2MDA7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wc3dwX19zaGFyZS10b29sdGlwIHtcbiAgei1pbmRleDogMTYyMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICB0b3A6IDU2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICByaWdodDogNDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXM7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG5cbi5wc3dwX19zaGFyZS10b29sdGlwIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG5cbi5wc3dwX19zaGFyZS10b29sdGlwIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4ucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmZpcnN0LWNoaWxkIHtcbiAgLyogcm91bmQgY29ybmVycyBvbiB0aGUgZmlyc3QvbGFzdCBsaXN0IGl0ZW0gKi9cbiAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7XG59XG5cbi5wc3dwX19zaGFyZS10b29sdGlwIGE6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAycHggMnB4O1xufVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4ge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4gLnBzd3BfX3NoYXJlLXRvb2x0aXAge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBpbmNyZWFzZSBzaXplIG9mIHNoYXJlIGxpbmtzIG9uIHRvdWNoIGRldmljZXMgKi9cbi5wc3dwLS10b3VjaCAucHN3cF9fc2hhcmUtdG9vbHRpcCBhIHtcbiAgcGFkZGluZzogMTZweCAxMnB4O1xufVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMnB4O1xuICByaWdodDogMTVweDtcbiAgYm9yZGVyOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkY7XG4gIC13ZWJraXQtcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC1tb3otcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzRTVDOUE7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpob3ZlcjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjM0U1QzlBO1xufVxuXG5hLnBzd3BfX3NoYXJlLS10d2l0dGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzU1QUNFRTtcbiAgY29sb3I6ICNGRkY7XG59XG5cbmEucHN3cF9fc2hhcmUtLXBpbnRlcmVzdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNDQ0M7XG4gIGNvbG9yOiAjQ0UyNzJEO1xufVxuXG5hLnBzd3BfX3NoYXJlLS1kb3dubG9hZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNEREQ7XG59XG5cbi8qXG5cblx0My4gSW5kZXggaW5kaWNhdG9yIChcIjEgb2YgWFwiIGNvdW50ZXIpXG5cbiAqL1xuLnBzd3BfX2NvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgb3BhY2l0eTogMC43NTtcbiAgcGFkZGluZzogMCAxMHB4O1xufVxuXG4vKlxuXG5cdDQuIENhcHRpb25cblxuICovXG4ucHN3cF9fY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNDRweDtcbn1cblxuLnBzd3BfX2NhcHRpb24gc21hbGwge1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjQkJCO1xufVxuXG4ucHN3cF9fY2FwdGlvbl9fY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LXdpZHRoOiA0MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcGFkZGluZzogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjQ0NDO1xufVxuXG4ucHN3cF9fY2FwdGlvbi0tZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBGYWtlIGNhcHRpb24gZWxlbWVudCwgdXNlZCB0byBjYWxjdWxhdGUgaGVpZ2h0IG9mIG5leHQvcHJldiBpbWFnZSAqL1xuLnBzd3BfX2NhcHRpb24tLWZha2Uge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG5cblx0NS4gTG9hZGluZyBpbmRpY2F0b3IgKHByZWxvYWRlcilcblxuXHRZb3UgY2FuIHBsYXkgd2l0aCBpdCBoZXJlIC0gaHR0cDovL2NvZGVwZW4uaW8vZGltc2VtZW5vdi9wZW4veXlCV29SXG5cbiAqL1xuLnBzd3BfX3ByZWxvYWRlciB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbi5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMTJweDtcbn1cblxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gIC8qIFdlIHVzZSAuZ2lmIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBDU1MgYW5pbWF0aW9uICovXG4gIGJhY2tncm91bmQ6IHVybChwcmVsb2FkZXIuZ2lmKSAwIDAgbm8tcmVwZWF0O1xufVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUgLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGNsb2Nrd2lzZSA1MDBtcyBsaW5lYXIgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogY2xvY2t3aXNlIDUwMG1zIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2RvbnV0IHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGRvbnV0LXJvdGF0ZSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogZG9udXQtcm90YXRlIDEwMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKSBpbmZpbml0ZTtcbn1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgb3BhY2l0eTogMC43NTtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxNXB4O1xuICB0b3A6IDE1cHg7XG4gIG1hcmdpbjogMDtcbn1cblxuLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlcl9fY3V0IHtcbiAgLyogXG4gIFx0VGhlIGlkZWEgb2YgYW5pbWF0aW5nIGlubmVyIGNpcmNsZSBpcyBiYXNlZCBvbiBQb2x5bWVyIChcIm1hdGVyaWFsXCIpIGxvYWRpbmcgaW5kaWNhdG9yIFxuICBcdCBieSBLZWFudSBMZWUgaHR0cHM6Ly9ibG9nLmtlYW51bGVlLmNvbS8yMDE0LzEwLzIwL3RoZS10YWxlLW9mLXRocmVlLXNwaW5uZXJzLmh0bWxcbiAgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogN3B4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2RvbnV0IHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjRkZGO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAucHN3cF9fcHJlbG9hZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGNsb2Nrd2lzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNsb2Nrd2lzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZG9udXQtcm90YXRlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZG9udXQtcm90YXRlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbn1cbi8qXG5cblx0Ni4gQWRkaXRpb25hbCBzdHlsZXNcblxuICovXG4vKiByb290IGVsZW1lbnQgb2YgVUkgKi9cbi5wc3dwX191aSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDE1NTA7XG59XG5cbi8qIHRvcCBibGFjayBiYXIgd2l0aCBidXR0b25zIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvciAqL1xuLnBzd3BfX3RvcC1iYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiA0NHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnBzd3BfX2NhcHRpb24sXG4ucHN3cF9fdG9wLWJhcixcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xufVxuXG4vKiBwc3dwLS1oYXNfbW91c2UgY2xhc3MgaXMgYWRkZWQgb25seSB3aGVuIHR3byBzdWJzZXF1ZW50IG1vdXNlbW92ZSBldmVudHMgb2NjdXIgKi9cbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5wc3dwX190b3AtYmFyLFxuLnBzd3BfX2NhcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi8qIHBzd3BfX3VpLS1maXQgY2xhc3MgaXMgYWRkZWQgd2hlbiBtYWluIGltYWdlIFwiZml0c1wiIGJldHdlZW4gdG9wIGJhciBhbmQgYm90dG9tIGJhciAoY2FwdGlvbikgKi9cbi5wc3dwX191aS0tZml0IC5wc3dwX190b3AtYmFyLFxuLnBzd3BfX3VpLS1maXQgLnBzd3BfX2NhcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi8qIHBzd3BfX3VpLS1pZGxlIGNsYXNzIGlzIGFkZGVkIHdoZW4gbW91c2UgaXNuJ3QgbW92aW5nIGZvciBzZXZlcmFsIHNlY29uZHMgKEpTIG9wdGlvbiB0aW1lVG9JZGxlKSAqL1xuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX190b3AtYmFyIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qXG5cdHBzd3BfX3VpLS1oaWRkZW4gY2xhc3MgaXMgYWRkZWQgd2hlbiBjb250cm9scyBhcmUgaGlkZGVuXG5cdGUuZy4gd2hlbiB1c2VyIHRhcHMgdG8gdG9nZ2xlIHZpc2liaWxpdHkgb2YgY29udHJvbHNcbiovXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fdG9wLWJhcixcbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX19jYXB0aW9uLFxuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAvKiBGb3JjZSBwYWludCAmIGNyZWF0ZSBjb21wb3NpdGlvbiBsYXllciBmb3IgY29udHJvbHMuICovXG4gIG9wYWNpdHk6IDAuMDAxO1xufVxuXG4vKiBwc3dwX191aS0tb25lLXNsaWRlIGNsYXNzIGlzIGFkZGVkIHdoZW4gdGhlcmUgaXMganVzdCBvbmUgaXRlbSBpbiBnYWxsZXJ5ICovXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19jb3VudGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBzd3BfX2VsZW1lbnQtLWRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucHN3cC0tbWluaW1hbC0tZGFyayAucHN3cF9fdG9wLWJhciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFBob3RvU3dpcGUgKGh0dHA6Ly9waG90b3N3aXBlLmNvbS8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuICovXG4ucHN3cCB7XG4gIHotaW5kZXg6IDEwMDAwMDtcbn1cblxuLnBzd3BfX2J1dHRvbixcbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OjpiZWZvcmUsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL21lZGlhL3ZlbmRvci9waG90b3N3aXBlLWRlZmF1bHQtc2tpbi5wbmdcIik7XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMSksICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMDkzNzUpLCAobWluLXJlc29sdXRpb246IDEwNWRwaSksIChtaW4tcmVzb2x1dGlvbjogMS4xZHBweCkge1xuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24sXG4ucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OjpiZWZvcmUsXG4ucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmctbG9hZChcIi4uL21lZGlhL3ZlbmRvci9waG90b3N3aXBlLWRlZmF1bHQtc2tpbi5zdmdcIik7XG4gIH1cblxuICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbn1cbi5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9tZWRpYS92ZW5kb3IvcGhvdG9zd2lwZS1wcmVsb2FkZXIuZ2lmXCIpO1xufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbC1oaW50LWFwcGVhciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNTAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5zY3JvbGwtaGludC5pcy1yaWdodC1zY3JvbGxhYmxlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgwLCAwLCAwLCAwLjE1KSAwLCByZ2JhKDAsIDAsIDAsIDApIDE2cHgsIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuXG4uc2Nyb2xsLWhpbnQuaXMtcmlnaHQtc2Nyb2xsYWJsZS5pcy1sZWZ0LXNjcm9sbGFibGUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwgMCwgMCwgMC4xNSkgMCwgcmdiYSgwLCAwLCAwLCAwKSAxNnB4LCByZ2JhKDAsIDAsIDAsIDApKSwgbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgwLCAwLCAwLCAwLjE1KSAwLCByZ2JhKDAsIDAsIDAsIDApIDE2cHgsIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuXG4uc2Nyb2xsLWhpbnQuaXMtbGVmdC1zY3JvbGxhYmxlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMTUpIDAsIHJnYmEoMCwgMCwgMCwgMCkgMTZweCwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG5cbi5zY3JvbGwtaGludC1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gMjVweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNjBweCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTBweCAxMHB4IDEwcHg7XG59XG5cbi5zY3JvbGwtaGludC1pY29uLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zY3JvbGwtaGludC10ZXh0IHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uc2Nyb2xsLWhpbnQtaWNvbi13cmFwLmlzLWFjdGl2ZSAuc2Nyb2xsLWhpbnQtaWNvbiB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLnNjcm9sbC1oaW50LWljb246YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOUzQzTnlJZ2FHVnBaMmgwUFNJek1DNDFNaUlnZG1sbGQwSnZlRDBpTUNBd0lESTFMamMzSURNd0xqVXlJajQ4ZEdsMGJHVSs0NEtpNDRLNzQ0T0Q0NE9JSURNOEwzUnBkR3hsUGp4bklHbGtQU0xqZzZ6amdxVGpnNlRqZzd4Zk1pSWdaR0YwWVMxdVlXMWxQU0xqZzZ6amdxVGpnNlRqZzd3Z01pSStQR2NnYVdROUl1T0RyT09DcE9PRHBPT0R2Rjh4TFRJaUlHUmhkR0V0Ym1GdFpUMGk0NE9zNDRLazQ0T2s0NE84SURFaVBqeHdZWFJvSUdROUlrMHlNUzR6TXl3ek1DNDFNa2czTGpnMVFURXVOVFVzTVM0MU5Td3dMREFzTVN3MkxqTXNNamxoTVRJdU5EWXNNVEl1TkRZc01Dd3dMREF0TGpZekxUUXVORElzTWpVdU1UWXNNalV1TVRZc01Dd3dMREF0TkM0eU5TMDFiQzB1TURZdExqQTJRVFVzTlN3d0xEQXNNU3d3TERFMUxqZzJZVE11TmpRc015NDJOQ3d3TERBc01Td3hMakUzTFRJdU5qSXNNeTQyTXl3ekxqWXpMREFzTUN3eExEVXVNVFF1TURkV015NDNOMkV6TGpjM0xETXVOemNzTUN3eExERXNOeTQxTkN3d1ZqZ3VNek5oTXk0ek5Td3pMak0xTERBc01Dd3hMREV1TWpZc01Dd3pMRE1zTUN3d0xERXNNaXd4TGpJeUxETXVOU3d6TGpVc01Dd3dMREVzTWkwdU1EWXNNeTR5TVN3ekxqSXhMREFzTUN3eExESXNNUzQxTkN3ekxqYzBMRE11TnpRc01Dd3dMREVzTXl3dU5EZEJOQzR5TVN3MExqSXhMREFzTUN3eExESTFMamMwTERFMVl6QXNMakV4TERBc0xqSTNMREFzTGpRMllURTVMakkyTERFNUxqSTJMREFzTUN3eExTNDROQ3czWXkwdU1UUXVNemd0TGpNMkxqZ3hMUzQxTml3eExqSXliQzB1TVRFdU1qSmpNQ3d1TURjdExqQTVMakUwTFM0eE5DNHlNV0UzTGpFekxEY3VNVE1zTUN3d0xEQXRNUzR4Tnl3eUxqRTNZeTB1TURZdU5UWXRMakEyTERJdU1UVXRMakExTERJdU56RkJNUzQxTlN3eExqVTFMREFzTUN3eExESXhMak16TERNd0xqVXlXazA0TGpZeExESTRMakl4YURFeVl6QXRMamN4TERBdE1TNDNNUzR3TnkweUxqSXpZVGd1TnpRc09DNDNOQ3d3TERBc01Td3hMalU1TFRNdU1qVnNMakEyTFM0eE1tRXhNQ3d4TUN3d0xEQXNNQ3d1TkRZdE1Td3hOaTQ0TERFMkxqZ3NNQ3d3TERBc0xqY3ROaTR4TW1Nd0xTNHlNeXd3TFM0ME1Td3dMUzQxTkdnd1lUSXNNaXd3TERBc01DMHVOalF0TVM0MU1pd3hMak16TERFdU16TXNNQ3d3TERBdE1TNDFOUzR3T0N3eExqRXpMREV1TVRNc01Dd3dMREV0TVM0eE9DNHlPQ3d4TGpFMUxERXVNVFVzTUN3d0xERXRMamM0TFM0NU5Dd3hMakkyTERFdU1qWXNNQ3d3TERBdExqYzFMVEV1TVRFc01Td3hMREFzTUN3d0xURXVNVEV1TWpoc0xTNHhMakZoTVM0eE5Td3hMakUxTERBc01Dd3hMVEV1TVRrdU1qa3NNUzR4Tml3eExqRTJMREFzTUN3eExTNDNPQzB1T1RWakxTNHdPUzB1TmpndExqSXhMUzQzTnkwdU55MHVPRGRoTGpneUxqZ3lMREFzTUN3d0xURXNMalE0TERFdU1UWXNNUzR4Tml3d0xEQXNNUzB5TGpFMkxTNDFPRll6TGpjM1lURXVORFlzTVM0ME5pd3dMREVzTUMweUxqa3lMREIyTnk0NE5Xd3dMRFF1TXpOaE1TNHhOeXd4TGpFM0xEQXNNQ3d4TFM0NE15d3hMakV4TERFdU1UVXNNUzR4TlN3d0xEQXNNUzB4TGpJdExqTTFiQzB4TFM0NU1XTXRMalEzTFM0ME1pMHVOek10TGpZMkxTNDROQzB1TnpkaE1TNHpOU3d4TGpNMUxEQXNNQ3d3TFRJdExqRXlUREl1Tnl3eE5XRXhMak15TERFdU16SXNNQ3d3TERBdExqTTVMREZCTWk0MU55d3lMalUzTERBc01Dd3dMRE1zTVRjdU9EVnNNQ3d3WVRJM0xqSTBMREkzTGpJMExEQXNNQ3d4TERRdU55dzFMall5UVRFeUxqWXpMREV5TGpZekxEQXNNQ3d4TERndU5qRXNNamd1TWpGYVRUSXpMaklzTWpNdU16VmFUVFl1TlRFc01UWXVOVGxhSWlCbWFXeHNQU0lqWm1abUlpOCtQQzluUGp3dlp6NDhMM04yWno0PSk7XG59XG5cbi5zY3JvbGwtaGludC1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek15NHlPU0lnYUdWcFoyaDBQU0l4TWk0d01pSWdkbWxsZDBKdmVEMGlNQ0F3SURNekxqSTVJREV5TGpBeUlqNDhkR2wwYkdVKzQ0S2k0NEs3NDRPRDQ0T0lJREU4TDNScGRHeGxQanhuSUdsa1BTTGpnNnpqZ3FUamc2VGpnN3hmTWlJZ1pHRjBZUzF1WVcxbFBTTGpnNnpqZ3FUamc2VGpnN3dnTWlJK1BHY2dhV1E5SXVPRHJPT0NwT09EcE9PRHZGOHhMVElpSUdSaGRHRXRibUZ0WlQwaTQ0T3M0NEtrNDRPazQ0TzhJREVpUGp4c2FXNWxJSGd4UFNJeExqZzFJaUI1TVQwaU5pNHdNU0lnZURJOUlqRXdMalFpSUhreVBTSTJMakF4SWlCbWFXeHNQU0lqWm1abUlpOCtQSEJoZEdnZ1pEMGlUVEV3TGpRc055NHhOMGd4TGpnMVlURXVNVFlzTVM0eE5pd3dMREVzTVN3d0xUSXVNekZJTVRBdU5HRXhMakUyTERFdU1UWXNNQ3d4TERFc01Dd3lMak14V2lJZ1ptbHNiRDBpSTJabVppSXZQanh3WVhSb0lHUTlJazAzTGpRc01USmhNUzR4TlN3eExqRTFMREFzTUN3eExTNDNNaTB1TWpWc0xUWXVNalV0TlVFeExqSXNNUzR5TERBc01Dd3hMREFzTlM0NE55d3hMakUwTERFdU1UUXNNQ3d3TERFc0xqUTJMRFZNTmk0M0xqSXpRVEV1TVRZc01TNHhOaXd3TERBc01TdzRMakVzTWk0d09Fd3pMRFV1T1RFc09DNHhNaXd4TUVFeExqRTJMREV1TVRZc01Dd3dMREVzTnk0MExERXlXaUlnWm1sc2JEMGlJMlptWmlJdlBqeHNhVzVsSUhneFBTSXpNUzQwTlNJZ2VURTlJall1TURFaUlIZ3lQU0l5TWk0NE9TSWdlVEk5SWpZdU1ERWlJR1pwYkd3OUlpTm1abVlpTHo0OGNHRjBhQ0JrUFNKTk16RXVORFVzTnk0eE4wZ3lNaTQ0T1dFeExqRTJMREV1TVRZc01Dd3hMREVzTUMweUxqTXhhRGd1TlRaaE1TNHhOaXd4TGpFMkxEQXNNQ3d4TERBc01pNHpNVm9pSUdacGJHdzlJaU5tWm1ZaUx6NDhjR0YwYUNCa1BTSk5NalV1T1N3eE1tRXhMakU0TERFdU1UZ3NNQ3d3TERFdExqa3hMUzQwTTBFeExqRTNMREV1TVRjc01Dd3dMREVzTWpVdU1UY3NNVEJzTlM0d09TMDBMakExVERJMUxqSXNNaTR3T0VFeExqRTJMREV1TVRZc01Dd3dMREVzTWpZdU5Ua3VNak5NTXpJdU9EUXNOV0V4TGpFMkxERXVNVFlzTUN3d0xERXNMalExTGpreExERXVNVFFzTVM0eE5Dd3dMREFzTVMwdU5ETXVPVEpzTFRZdU1qUXNOVUV4TGpFM0xERXVNVGNzTUN3d0xERXNNalV1T1N3eE1sb2lJR1pwYkd3OUlpTm1abVlpTHo0OEwyYytQQzluUGp3dmMzWm5QZz09KTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMi40cztcbn1cblxuLnNjcm9sbC1oaW50LWljb24td3JhcC5pcy1hY3RpdmUgLnNjcm9sbC1oaW50LWljb246YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2Nyb2xsLWhpbnQtaWNvbi13cmFwLmlzLWFjdGl2ZSAuc2Nyb2xsLWhpbnQtaWNvbjpiZWZvcmUge1xuICBhbmltYXRpb246IHNjcm9sbC1oaW50LWFwcGVhciAxLjJzIGxpbmVhcjtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMjtcbn1cblxuLnNjcm9sbC1oaW50LWljb24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBib3gtc2hhZG93OiAwIDRweCA1cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4uc2Nyb2xsLWhpbnQtaWNvbi13aGl0ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TlM0M055SWdhR1ZwWjJoMFBTSXpNQzQxTWlJZ2RtbGxkMEp2ZUQwaU1DQXdJREkxTGpjM0lETXdMalV5SWo0OGRHbDBiR1UrNDRLaTQ0Szc0NE9ENDRPSUlEUThMM1JwZEd4bFBqeG5JR2xrUFNMamc2empncVRqZzZUamc3eGZNaUlnWkdGMFlTMXVZVzFsUFNMamc2empncVRqZzZUamc3d2dNaUkrUEdjZ2FXUTlJdU9Eck9PQ3BPT0RwT09EdkY4eExUSWlJR1JoZEdFdGJtRnRaVDBpNDRPczQ0S2s0NE9rNDRPOElERWlQanh3WVhSb0lHUTlJazB5TVM0ek15d3pNQzQxTWtnM0xqZzFRVEV1TlRVc01TNDFOU3d3TERBc01TdzJMak1zTWpsaE1USXVORFlzTVRJdU5EWXNNQ3d3TERBdExqWXpMVFF1TkRJc01qVXVNVFlzTWpVdU1UWXNNQ3d3TERBdE5DNHlOUzAxYkMwdU1EWXRMakEyUVRVc05Td3dMREFzTVN3d0xERTFMamcyWVRNdU5qUXNNeTQyTkN3d0xEQXNNU3d4TGpFM0xUSXVOaklzTXk0Mk15d3pMall6TERBc01Dd3hMRFV1TVRRdU1EZFdNeTQzTjJFekxqYzNMRE11Tnpjc01Dd3hMREVzTnk0MU5Dd3dWamd1TXpOaE15NHpOU3d6TGpNMUxEQXNNQ3d4TERFdU1qWXNNQ3d6TERNc01Dd3dMREVzTWl3eExqSXlMRE11TlN3ekxqVXNNQ3d3TERFc01pMHVNRFlzTXk0eU1Td3pMakl4TERBc01Dd3hMRElzTVM0MU5Dd3pMamMwTERNdU56UXNNQ3d3TERFc015d3VORGRCTkM0eU1TdzBMakl4TERBc01Dd3hMREkxTGpjMExERTFZekFzTGpFeExEQXNMakkzTERBc0xqUTJZVEU1TGpJMkxERTVMakkyTERBc01Dd3hMUzQ0TkN3M1l5MHVNVFF1TXpndExqTTJMamd4TFM0MU5pd3hMakl5YkMwdU1URXVNakpqTUN3dU1EY3RMakE1TGpFMExTNHhOQzR5TVdFM0xqRXpMRGN1TVRNc01Dd3dMREF0TVM0eE55d3lMakUzWXkwdU1EWXVOVFl0TGpBMkxESXVNVFV0TGpBMUxESXVOekZCTVM0MU5Td3hMalUxTERBc01Dd3hMREl4TGpNekxETXdMalV5V2swNExqWXhMREk0TGpJeGFERXlZekF0TGpjeExEQXRNUzQzTVM0d055MHlMakl6WVRndU56UXNPQzQzTkN3d0xEQXNNU3d4TGpVNUxUTXVNalZzTGpBMkxTNHhNbUV4TUN3eE1Dd3dMREFzTUN3dU5EWXRNU3d4Tmk0NExERTJMamdzTUN3d0xEQXNMamN0Tmk0eE1tTXdMUzR5TXl3d0xTNDBNU3d3TFM0MU5HZ3dZVElzTWl3d0xEQXNNQzB1TmpRdE1TNDFNaXd4TGpNekxERXVNek1zTUN3d0xEQXRNUzQxTlM0d09Dd3hMakV6TERFdU1UTXNNQ3d3TERFdE1TNHhPQzR5T0N3eExqRTFMREV1TVRVc01Dd3dMREV0TGpjNExTNDVOQ3d4TGpJMkxERXVNallzTUN3d0xEQXRMamMxTFRFdU1URXNNU3d4TERBc01Dd3dMVEV1TVRFdU1qaHNMUzR4TGpGaE1TNHhOU3d4TGpFMUxEQXNNQ3d4TFRFdU1Ua3VNamtzTVM0eE5pd3hMakUyTERBc01Dd3hMUzQzT0MwdU9UVmpMUzR3T1MwdU5qZ3RMakl4TFM0M055MHVOeTB1T0RkaExqZ3lMamd5TERBc01Dd3dMVEVzTGpRNExERXVNVFlzTVM0eE5pd3dMREFzTVMweUxqRTJMUzQxT0ZZekxqYzNZVEV1TkRZc01TNDBOaXd3TERFc01DMHlMamt5TERCMk55NDROV3d3TERRdU16TmhNUzR4Tnl3eExqRTNMREFzTUN3eExTNDRNeXd4TGpFeExERXVNVFVzTVM0eE5Td3dMREFzTVMweExqSXRMak0xYkMweExTNDVNV010TGpRM0xTNDBNaTB1TnpNdExqWTJMUzQ0TkMwdU56ZGhNUzR6TlN3eExqTTFMREFzTUN3d0xUSXRMakV5VERJdU55d3hOV0V4TGpNeUxERXVNeklzTUN3d0xEQXRMak01TERGQk1pNDFOeXd5TGpVM0xEQXNNQ3d3TERNc01UY3VPRFZzTUN3d1lUSTNMakkwTERJM0xqSTBMREFzTUN3eExEUXVOeXcxTGpZeVFURXlMall6TERFeUxqWXpMREFzTUN3eExEZ3VOakVzTWpndU1qRmFUVEl6TGpJc01qTXVNelZhVFRZdU5URXNNVFl1TlRsYUlpOCtQQzluUGp3dlp6NDhMM04yWno0PSk7XG59XG5cbi5zY3JvbGwtaGludC1pY29uLXdoaXRlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek15NHlPU0lnYUdWcFoyaDBQU0l4TWk0d01pSWdkbWxsZDBKdmVEMGlNQ0F3SURNekxqSTVJREV5TGpBeUlqNDhkR2wwYkdVKzQ0S2k0NEs3NDRPRDQ0T0lJREk4TDNScGRHeGxQanhuSUdsa1BTTGpnNnpqZ3FUamc2VGpnN3hmTWlJZ1pHRjBZUzF1WVcxbFBTTGpnNnpqZ3FUamc2VGpnN3dnTWlJK1BHY2dhV1E5SXVPRHJPT0NwT09EcE9PRHZGOHhMVElpSUdSaGRHRXRibUZ0WlQwaTQ0T3M0NEtrNDRPazQ0TzhJREVpUGp4c2FXNWxJSGd4UFNJeExqZzFJaUI1TVQwaU5pNHdNU0lnZURJOUlqRXdMalFpSUhreVBTSTJMakF4SWk4K1BIQmhkR2dnWkQwaVRURXdMalFzTnk0eE4wZ3hMamcxWVRFdU1UWXNNUzR4Tml3d0xERXNNU3d3TFRJdU16RklNVEF1TkdFeExqRTJMREV1TVRZc01Dd3hMREVzTUN3eUxqTXhXaUl2UGp4d1lYUm9JR1E5SWswM0xqUXNNVEpoTVM0eE5Td3hMakUxTERBc01Dd3hMUzQzTWkwdU1qVnNMVFl1TWpVdE5VRXhMaklzTVM0eUxEQXNNQ3d4TERBc05TNDROeXd4TGpFMExERXVNVFFzTUN3d0xERXNMalEyTERWTU5pNDNMakl6UVRFdU1UWXNNUzR4Tml3d0xEQXNNU3c0TGpFc01pNHdPRXd6TERVdU9URXNPQzR4TWl3eE1FRXhMakUyTERFdU1UWXNNQ3d3TERFc055NDBMREV5V2lJdlBqeHNhVzVsSUhneFBTSXpNUzQwTlNJZ2VURTlJall1TURFaUlIZ3lQU0l5TWk0NE9TSWdlVEk5SWpZdU1ERWlMejQ4Y0dGMGFDQmtQU0pOTXpFdU5EVXNOeTR4TjBneU1pNDRPV0V4TGpFMkxERXVNVFlzTUN3eExERXNNQzB5TGpNeGFEZ3VOVFpoTVM0eE5pd3hMakUyTERBc01Dd3hMREFzTWk0ek1Wb2lMejQ4Y0dGMGFDQmtQU0pOTWpVdU9Td3hNbUV4TGpFNExERXVNVGdzTUN3d0xERXRMamt4TFM0ME0wRXhMakUzTERFdU1UY3NNQ3d3TERFc01qVXVNVGNzTVRCc05TNHdPUzAwTGpBMVRESTFMaklzTWk0d09FRXhMakUyTERFdU1UWXNNQ3d3TERFc01qWXVOVGt1TWpOTU16SXVPRFFzTldFeExqRTJMREV1TVRZc01Dd3dMREVzTGpRMUxqa3hMREV1TVRRc01TNHhOQ3d3TERBc01TMHVORE11T1RKc0xUWXVNalFzTlVFeExqRTNMREV1TVRjc01Dd3dMREVzTWpVdU9Td3hNbG9pTHo0OEwyYytQQzluUGp3dmMzWm5QZz09KTtcbn1cblxuLnNjcm9sbC1oaW50LWljb24td2hpdGUgLnNjcm9sbC1oaW50LXRleHQge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogU2Nyb2xsSGludCAoaHR0cHM6Ly9hcHBsZXBsZS5naXRodWIuaW8vc2Nyb2xsLWhpbnQvKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogU2VhcmNoIEZvcm1cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWFyY2gtZm9ybV9fY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwZW0gMGVtIDAuOTM3NWVtO1xufVxuXG4uc2VhcmNoLWZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWFyY2gtZm9ybV9faW5wdXQge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAzZW07XG59XG5cbi5zZWFyY2gtZm9ybV9fYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm90dG9tOiAwLjEyNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDBlbSAxZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDAuMTI1cmVtO1xuICB0b3A6IDAuMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcbn1cbi5zZWFyY2gtZm9ybV9fYnV0dG9uOmZvY3VzLCAuc2VhcmNoLWZvcm1fX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjOTlCMkFCO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTa2lwIExpbmtzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2tpcC1saW5rcyB7XG4gIGJhY2tncm91bmQ6ICM5OUIyQUI7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICM3ODlFOTQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGVmdDogLTk5OWVtO1xuICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IC05OTllbTtcbiAgei1pbmRleDogOTk5O1xufVxuLnNraXAtbGlua3M6Zm9jdXMge1xuICBsZWZ0OiAxLjI1ZW07XG4gIHRvcDogMS4yNWVtO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFN3aXBlciA0LjUuMVxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMTkgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogU2VwdGVtYmVyIDEzLCAyMDE5XG4gKi9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTtcbn1cblxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG59XG5cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG59XG5cbi8qIDNEIEVmZmVjdHMgKi9cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbn1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvO1xufVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cblxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIHRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7XG59XG5cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4vKiBDb21tb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG59XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjI7XG59XG5cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogNnB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4O1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMCA0cHg7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbn1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLXJ0bCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuXG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cblxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzcHg7XG4gIHRvcDogMSU7XG4gIHotaW5kZXg6IDUwO1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDk4JTtcbn1cblxuLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuXG4uc3dpcGVyLXNjcm9sbGJhci1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuXG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbn1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjM2YzZjNmMnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzZmZmJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDtcbn1cblxuLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zd2lwZXItY29udGFpbmVyLWNvdmVyZmxvdyAuc3dpcGVyLXdyYXBwZXIge1xuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTd2lwZXIgKGh0dHA6Ly9pZGFuZ2Vyby51cy9zd2lwZXIvKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnN3aXBlci1jb250YWluZXJfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN3aXBlci1zbGlkZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc3dpcGVyLXNsaWRlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42NTYyNWVtO1xuICB9XG59XG5cbi5zd2lwZXJfX3BpY3R1cmUge1xuICBmbGV4OiBub25lO1xufVxuLnN3aXBlci1zbGlkZS0tZW5sYXJnZSAuc3dpcGVyX19waWN0dXJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAyNS42MjVlbTtcbn1cblxuLnN3aXBlcl9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0taGVpZ2h0LWF1dG8gLnN3aXBlcl9faW1hZ2Uge1xuICBsZWZ0OiA1MCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdpZHRoOiBhdXRvO1xufVxuLnN3aXBlcl9faW1hZ2UubGF6eWxvYWRpbmcge1xuICBoZWlnaHQ6IDFweDtcbn1cbi5zd2lwZXItc2xpZGUtLWVubGFyZ2UgLnN3aXBlcl9faW1hZ2Uge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG4uc3dpcGVyX19jYXB0aW9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSA1JSwgcmdiYSgwLCAwLCAwLCAwLjMpIDUwJSwgcmdiYSgwLCAwLCAwLCAwKSA5NSUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiA0LjM3NXJlbSAxLjU2MjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5zd2lwZXJfX2NhcHRpb24gLnN3aXBlcl9fY2FwdGlvbl9faW5uZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA5MGVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnN3aXBlcl9fdGl0bGUge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnN3aXBlcl9fdGl0bGU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zd2lwZXJfX3VzZXItY29udGVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zd2lwZXJfX3VzZXItY29udGVudCAudXNlci1jb250ZW50X190ZXh0IHtcbiAgZm9udC1yYW5nZTogNDhlbSA4MGVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMS4wNjI1ZW0gMS44NzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE3NjQ3MDU4OGVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjIxNzY0NzA1ODhlbTtcbn1cbi5zd2lwZXJfX3VzZXItY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uc3dpcGVyLWJ1dHRvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICMyQjQ1NTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiA0LjY4NzVlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgd2lkdGg6IDAuNTcxNDI4NTcxNGVtO1xuICB6LWluZGV4OiA5OTk7XG59XG4uc3dpcGVyLWJ1dHRvbi5zd2lwZXItYnV0dG9uLS1wcmV2LCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24uc3dpcGVyLWJ1dHRvbi0tbmV4dCB7XG4gIGxlZnQ6IDA7XG59XG4uc3dpcGVyLWJ1dHRvbi5zd2lwZXItYnV0dG9uLS1uZXh0LCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24uc3dpcGVyLWJ1dHRvbi0tcHJldiB7XG4gIHJpZ2h0OiAwO1xufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiAxLjMxMjVlbSAxLjMxMjVlbSAwZW0gMGVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwLjY1NjI1ZW0gMS40Mzc1ZW07XG4gIHRvcDogYXV0bztcbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIGJvdHRvbTogLTAuNjU2MjVlbTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYmFja2dyb3VuZDogI0RBREFEQTtcbiAgZmxleDogMCAwIGF1dG87XG4gIGZvbnQtc2l6ZTogMS4zMTI1ZW07XG4gIGhlaWdodDogMWVtO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuICB3aWR0aDogMWVtO1xufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMGVtIDAuMTQyODU3MTQyOWVtO1xufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7XG59XG5cbi8qIGNhcmRzIHZhcmlhbnQgKi9cbi5zd2lwZXItY29udGFpbmVyLS1jYXJkczpub3QoLnN3aXBlci1jb250YWluZXItaW5pdGlhbGl6ZWQpIC5zd2lwZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnN3aXBlci1jb250YWluZXItLWNhcmRzIC5zd2lwZXItc2xpZGUge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBUcmliZSBFdmVudHMgKGh0dHBzOi8vdGhlZXZlbnRzY2FsZW5kYXIuY29tLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4sIHNlbGVjdG9yLW1heC1pZCwgc2VsZWN0b3ItbWF4LXR5cGUsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSAqL1xuLyogY29udGFpbmVyICovXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtbC1jb250YWluZXIsXG4udHJpYmUtY29tbW9uLS1icmVha3BvaW50LW1lZGl1bS50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1sLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qIGxvYWRlciAqL1xuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWMtbG9hZGVyX19kb3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA2OSwgODAsIDAuMDcpO1xufVxuXG5Aa2V5ZnJhbWVzIGEge1xuICA1MCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyQjQ1NTA7XG4gIH1cbn1cbi8qIGJ1dHRvbnMgKi9cbi50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1jLWJ0bixcbi50cmliZS1jb21tb24gYS50cmliZS1jb21tb24tYy1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkI0NTUwO1xufVxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWMtYnRuOmZvY3VzLCAudHJpYmUtY29tbW9uIC50cmliZS1jb21tb24tYy1idG46aG92ZXIsXG4udHJpYmUtY29tbW9uIGEudHJpYmUtY29tbW9uLWMtYnRuOmZvY3VzLFxuLnRyaWJlLWNvbW1vbiBhLnRyaWJlLWNvbW1vbi1jLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDY5LCA4MCwgMC44KTtcbn1cbi50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1jLWJ0bjphY3RpdmUsXG4udHJpYmUtY29tbW9uIGEudHJpYmUtY29tbW9uLWMtYnRuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDY5LCA4MCwgMC45KTtcbn1cblxuI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWJ1dHRvbixcbi50cmliZS1ldmVudHMtYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG59XG5cbiN0cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1idXR0b24sXG4jdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYnV0dG9uOmhvdmVyLFxuI3RyaWJlX2V2ZW50c19maWx0ZXJzX3dyYXBwZXIgaW5wdXRbdHlwZT1zdWJtaXRdLFxuLnRyaWJlLWV2ZW50cy1idXR0b24sXG4udHJpYmUtZXZlbnRzLWJ1dHRvbi50cmliZS1hY3RpdmU6aG92ZXIsXG4udHJpYmUtZXZlbnRzLWJ1dHRvbi50cmliZS1pbmFjdGl2ZSxcbi50cmliZS1ldmVudHMtYnV0dG9uOmhvdmVyLFxuLnRyaWJlLWV2ZW50cy1jYWxlbmRhciB0ZC50cmliZS1ldmVudHMtcHJlc2VudCBkaXZbaWQqPXRyaWJlLWV2ZW50cy1kYXludW0tXSxcbi50cmliZS1ldmVudHMtY2FsZW5kYXIgdGQudHJpYmUtZXZlbnRzLXByZXNlbnQgZGl2W2lkKj10cmliZS1ldmVudHMtZGF5bnVtLV0gPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCNDU1MDtcbn1cblxuLyogZmVhdHVyZWQgKi9cbi50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1zdmdpY29uLS1mZWF0dXJlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL3RyaWJlLWZlYXR1cmVkLnN2Z1wiLCBmaWxsPSMyQjQ1NTApO1xufVxuXG4udHJpYmUtY29tbW9uLS1icmVha3BvaW50LW1lZGl1bS50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC1kYXRldGltZS1mZWF0dXJlZC10ZXh0IHtcbiAgY29sb3I6ICMyQjQ1NTA7XG59XG5cbi8qIG5vdGljZXMgKi9cbi50cmliZS1ldmVudHMtbm90aWNlcyB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1tZXNzYWdlc19fbWVzc2FnZS0tbm90aWNlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBzdmctbG9hZChcIi4uL21lZGlhL3ZlbmRvci90cmliZS1jYWxlbmRhci14LnN2Z1wiLCBzdHJva2U9IzJCNDU1MCk7XG59XG5cbi8qIGRhdGVwaWNrZXIgKi9cbi50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLmRheS5hY3RpdmUsXG4udHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5kYXkuYWN0aXZlLmZvY3VzZWQsXG4udHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5kYXkuYWN0aXZlOmZvY3VzLFxuLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAuZGF5LmFjdGl2ZTpob3Zlcixcbi50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLm1vbnRoLmFjdGl2ZSxcbi50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLm1vbnRoLmFjdGl2ZS5mb2N1c2VkLFxuLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAubW9udGguYWN0aXZlOmZvY3VzLFxuLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAubW9udGguYWN0aXZlOmhvdmVyLFxuLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAueWVhci5hY3RpdmUsXG4udHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC55ZWFyLmFjdGl2ZS5mb2N1c2VkLFxuLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAueWVhci5hY3RpdmU6Zm9jdXMsXG4udHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC55ZWFyLmFjdGl2ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjQ1NTA7XG59XG5cbi8qIGJhciAqL1xuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19pbnB1dC1jb250cm9sLS1rZXl3b3JkLWZvY3VzIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2lucHV0LFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19pbnB1dC1jb250cm9sLS1rZXl3b3JkIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2lucHV0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvdHJpYmUtc2VhcmNoLnN2Z1wiLCBmaWxsPSMyQjQ1NTApO1xufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2lucHV0LWNvbnRyb2wtLWxvY2F0aW9uLWZvY3VzIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2lucHV0LFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19pbnB1dC1jb250cm9sLS1sb2NhdGlvbiAudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19pbnB1dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL3RyaWJlLWxvY2F0aW9uLnN2Z1wiLCBmaWxsPSMyQjQ1NTApO1xufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1ldmVudHMtYmFyX19zZWFyY2gtYnV0dG9uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkI0NTUwO1xufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy12aWV3LXNlbGVjdG9yX19idXR0b246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjQ1NTA7XG59XG5cbi8qIGljYWwgbGluayAqL1xuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtaWNhbCB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1pY2FsX19saW5rIHtcbiAgYm9yZGVyLWNvbG9yOiAjMkI0NTUwO1xuICBjb2xvcjogIzJCNDU1MDtcbn1cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLWljYWxfX2xpbms6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL3RyaWJlLXBsdXMuc3ZnXCIsIHN0cm9rZT0jMkI0NTUwKTtcbn1cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLWljYWxfX2xpbms6YWN0aXZlLCAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1pY2FsX19saW5rOmZvY3VzLCAudHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1pY2FsX19saW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCNDU1MDtcbn1cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLWljYWxfX2xpbms6YWN0aXZlOjpiZWZvcmUsIC50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLWljYWxfX2xpbms6Zm9jdXM6OmJlZm9yZSwgLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtaWNhbF9fbGluazpob3Zlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvdHJpYmUtcGx1cy5zdmdcIiwgc3Ryb2tlPSNGRkZGRkYpO1xufVxuXG4vKiBsaXN0ICovXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtcm93LS1mZWF0dXJlZCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWxpc3RfX2V2ZW50LWRhdGUtdGFnLWRhdGV0aW1lOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjQ1NTA7XG59XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19tb250aC1zZXBhcmF0b3Ige1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogbW9udGggKi9cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LS1jdXJyZW50IC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1kYXRlLFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktLWN1cnJlbnQgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWRhdGUtbGluayB7XG4gIGNvbG9yOiAjMkI0NTUwO1xufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS0tY3VycmVudCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktZGF0ZS1saW5rOmZvY3VzLFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktLWN1cnJlbnQgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWRhdGUtbGluazpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDQzLCA2OSwgODAsIDAuOCk7XG59XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fY2FsZW5kYXItZXZlbnQtLWZlYXR1cmVkOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkI0NTUwO1xufVxuXG4vKiBtb250aCBtb2JpbGUgKi9cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fd2VlayB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1jZWxsLS1zZWxlY3RlZCxcbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWNlbGwtLXNlbGVjdGVkOmZvY3VzLFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktY2VsbC0tc2VsZWN0ZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkI0NTUwO1xufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX21vYmlsZS1ldmVudHMtaWNvbi0tZXZlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkI0NTUwO1xufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1jZWxsLS1zZWxlY3RlZCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktZGF0ZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX21vYmlsZS1ldmVudHMtaWNvbi0tZmVhdHVyZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBzdmctbG9hZChcIi4uL21lZGlhL3ZlbmRvci90cmliZS1mZWF0dXJlZC5zdmdcIiwgZmlsbD0jMkI0NTUwKTtcbn1cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoLW1vYmlsZS1ldmVudHNfX21vYmlsZS1ldmVudC1kYXRldGltZS1mZWF0dXJlZC10ZXh0IHtcbiAgY29sb3I6ICMyQjQ1NTA7XG59XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aC1uYXYge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi8qIGRheSAqL1xuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWRheV9fdGltZS1zZXBhcmF0b3Ige1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWRheV9fZXZlbnQtLWZlYXR1cmVkOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQjQ1NTA7XG59XG5cbi50cmliZS1jb21tb24tLWJyZWFrcG9pbnQtbWVkaXVtLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWRheV9fZXZlbnQtZGF0ZXRpbWUtZmVhdHVyZWQtdGV4dCB7XG4gIGNvbG9yOiAjMkI0NTUwO1xufVxuXG4vKiBzaW5nbGUgKi9cbi50cmliZS1ldmVudHMtYmFjayB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuXG4udHJpYmUtZXZlbnRzLWJhY2sgYSB7XG4gIGNvbG9yOiAjMTQxODI3O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xufVxuLnRyaWJlLWV2ZW50cy1iYWNrIGE6aG92ZXIge1xuICBjb2xvcjogIzJCNDU1MDtcbn1cblxuLnNpbmdsZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1zaW5nbGUtZXZlbnQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbn1cblxuLnRyaWJlLWV2ZW50cy1zY2hlZHVsZSBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuXG4uc2luZ2xlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLXNjaGVkdWxlIC50cmliZS1ldmVudHMtY29zdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuXG4uc2luZ2xlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLXNjaGVkdWxlIC50cmliZS1ldmVudHMtZGl2aWRlciB7XG4gIG1hcmdpbjogMCAwLjI1ZW07XG59XG5cbi50cmliZS1ldmVudHMtbWV0YS1ncm91cCAudHJpYmUtZXZlbnRzLXNpbmdsZS1zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5zaW5nbGUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtZXZlbnQtbWV0YSBkbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuXG4uc2luZ2xlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLWV2ZW50LW1ldGEgZGwgYSB7XG4gIGNvbG9yOiAjMkI0NTUwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xufVxuLnNpbmdsZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhIGRsIGE6YWN0aXZlIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuLnNpbmdsZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1ldmVudC1tZXRhIGRsIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuI3RyaWJlLWV2ZW50cy1mb290ZXIgLnRyaWJlLWV2ZW50cy1zdWItbmF2LFxuI3RyaWJlLWV2ZW50cy1oZWFkZXIgLnRyaWJlLWV2ZW50cy1zdWItbmF2IHtcbiAgY29sb3I6ICMxNDE4Mjc7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuXG4jdHJpYmUtZXZlbnRzLWZvb3RlciAudHJpYmUtZXZlbnRzLXN1Yi1uYXYgYSxcbiN0cmliZS1ldmVudHMtaGVhZGVyIC50cmliZS1ldmVudHMtc3ViLW5hdiBhIHtcbiAgY29sb3I6ICMyQjQ1NTA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFdpZGdldFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLndpZGdldCB7XG4gIGJhY2tncm91bmQ6ICMyQjQ1NTA7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuLndpZGdldF9fY29udGVudCB7XG4gIHBhZGRpbmc6IDIuODEyNXJlbSAyLjE4NzVyZW07XG59XG5cbi53aWRnZXRfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OUIyQUI7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAyLjE4NzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDIuMTg3NXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ud2lkZ2V0X19idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc4OUU5NDtcbn1cblxuLndpZGdldF9fdXNlci1jb250ZW50IC51c2VyLWNvbnRlbnRfX3RleHQge1xuICBmb250LXJhbmdlOiA0OGVtIDgwZW07XG4gIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSAxZW0gMS4xMjVlbTtcbn1cbi53aWRnZXRfX3VzZXItY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBXb29Db21tZXJjZSAoaHR0cHM6Ly93b29jb21tZXJjZS5jb20vKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LWlkLCBzZWxlY3Rvci1tYXgtdHlwZSwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBzZWxlY3Rvci1jbGFzcy1wYXR0ZXJuICovXG4vKiB2YXJpYWJsZXMgYW5kIGhlbHBlcnMgKi9cbi8qIHBob3Rvc3dpcGUuY3NzICovXG4ud29vY29tbWVyY2UtcGFnZSAucHN3cCB7XG4gIGZvbnQtZmFtaWx5OiBcImZpcmEtc2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG59XG4ud29vY29tbWVyY2UtcGFnZSAucHN3cCAucHN3cF9fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xufVxuXG4vKiBzZWxlY3QyLmNzcyAqL1xuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQge1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0cyA+IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuXG4vKiB3b29jb21tZXJjZS1sYXlvdXQuY3NzICovXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCB7XG4gIHdpZHRoOiA3LjVlbTtcbn1cblxuLndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGgyLFxuLndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgaDIge1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuXG4ud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4vKiB3b29jb21tZXJjZS5jc3MgKi9cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtYnJlYWRjcnVtYiB7XG4gIGZvbnQtZmFtaWx5OiBcImZpcmEtc2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG59XG5cbi53b29jb21tZXJjZSAucXVhbnRpdHkgLnF0eSB7XG4gIHBhZGRpbmc6IDAuMzc1ZW0gMC41ZW07XG59XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBwLnByaWNlLFxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IHNwYW4ucHJpY2Uge1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiZmlyYS1zYW5zXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbn1cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyAud29vY29tbWVyY2UtVGFicy1wYW5lbCBoMiB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgZGl2LnF1YW50aXR5IHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgZGl2LnF1YW50aXR5IC5xdHkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud29vY29tbWVyY2Ugc3Bhbi5vbnNhbGUge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgZm9udC1mYW1pbHk6IFwiZmlyYS1zYW5zXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbn1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGZvcm0uY2FydCAudmFyaWF0aW9ucyBsYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcImZpcmEtc2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG59XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLWNhdGVnb3J5X190aXRsZSxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1sb29wLXByb2R1Y3RfX3RpdGxlLFxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaDMge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICBwYWRkaW5nOiAwO1xufVxuXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2Uge1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXJlc3VsdC1jb3VudCB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlcmluZyBzZWxlY3Qge1xuICBtYXJnaW46IDA7XG59XG5cbi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBhLFxuLndvb2NvbW1lcmNlIG5hdi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIGxpIHNwYW4sXG4ud29vY29tbWVyY2UgbmF2Lndvb2NvbW1lcmNlLXBhZ2luYXRpb24gdWwgbGkgYSxcbi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IFwiZmlyYS1zYW5zXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbn1cbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0LFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdCxcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdCxcbi53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCNDU1MDtcbn1cbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0OmhvdmVyLFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpob3Zlcixcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpob3Zlcixcbi53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMzczZjtcbn1cblxuLndvb2NvbW1lcmNlICNyZXZpZXdzICNjb21tZW50cyBvbC5jb21tZW50bGlzdCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgbGkgLmNvbW1lbnQtdGV4dCBwLm1ldGEge1xuICBmb250LXNpemU6IDAuNzVlbTtcbn1cblxuLndvb2NvbW1lcmNlIGEuYWRkZWRfdG9fY2FydCB7XG4gIGZvbnQtZmFtaWx5OiBcImZpcmEtc2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG59XG5cbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0LmRpc2FibGVkLFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQuZGlzYWJsZWQ6aG92ZXIsXG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdDpkaXNhYmxlZCxcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0OmRpc2FibGVkOmhvdmVyLFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdLFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdC5kaXNhYmxlZCxcbi53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQuZGlzYWJsZWQ6aG92ZXIsXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0OmRpc2FibGVkLFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZDpob3Zlcixcbi53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdLFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQuZGlzYWJsZWQsXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQuZGlzYWJsZWQ6aG92ZXIsXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQ6ZGlzYWJsZWQsXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQ6ZGlzYWJsZWQ6aG92ZXIsXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdLFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXTpob3Zlcixcbi53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0LmRpc2FibGVkLFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQuZGlzYWJsZWQ6aG92ZXIsXG4ud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdDpkaXNhYmxlZCxcbi53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0OmRpc2FibGVkOmhvdmVyLFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdLFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJCNDU1MDtcbn1cblxuLndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZyB7XG4gIGNvbG9yOiAjRjA4RTAxO1xufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIC5zdGFyLXJhdGluZyB7XG4gIG1hcmdpbi10b3A6IDAuMjVlbTtcbn1cbi53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgc3Bhbi5jb21tZW50LXJlcGx5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xufVxuLndvb2NvbW1lcmNlICNyZXZpZXdfZm9ybSAjcmVzcG9uZCBsYWJlbCBzcGFuLnJlcXVpcmVkIHtcbiAgY29sb3I6ICNDNjI4Mjg7XG59XG4ud29vY29tbWVyY2UgcC5zdGFycyB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLndvb2NvbW1lcmNlIHAuc3RhcnM6aG92ZXIsIC53b29jb21tZXJjZSBwLnN0YXJzLnNlbGVjdGVkIHtcbiAgY29sb3I6ICNGMDhFMDE7XG59XG4ud29vY29tbWVyY2UgcC5zdGFycyBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0ZCxcbi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGgge1xuICBib3JkZXI6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRyOm50aC1jaGlsZCgybikgdGQsXG4ud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHRyOm50aC1jaGlsZCgybikgdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJFOUVCO1xufVxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0ZCB7XG4gIHBhZGRpbmc6IDhweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfYXR0cmlidXRlcyB0ZCBwIHtcbiAgcGFkZGluZzogMDtcbn1cbi53b29jb21tZXJjZSB0YWJsZS5zaG9wX2F0dHJpYnV0ZXMgdGgge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUge1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGZvb3QgdGgge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIC5xdWFudGl0eSAucXR5IHtcbiAgd2lkdGg6IDZlbTtcbn1cblxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IGxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiZmlyYS1zYW5zXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLndvb2NvbW1lcmNlIHVsLm9yZGVyX2RldGFpbHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJFOUVCO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjRkZGRkZGIDUwJSwgdHJhbnNwYXJlbnQgNTAlKSwgbGluZWFyLWdyYWRpZW50KDIyNWRlZywgI0ZGRkZGRiA1MCUsIHRyYW5zcGFyZW50IDUwJSksIGxpbmVhci1ncmFkaWVudCg0NWRlZywgI0ZGRkZGRiA1MCUsIHRyYW5zcGFyZW50IDUwJSksIGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICNGRkZGRkYgNTAlLCB0cmFuc3BhcmVudCA1MCUpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdCwgdG9wIGxlZnQsIGJvdHRvbSBsZWZ0LCBib3R0b20gbGVmdDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gIGZvbnQtZmFtaWx5OiBcImZpcmEtc2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDJlbSAwO1xufVxuLndvb2NvbW1lcmNlIHVsLm9yZGVyX2RldGFpbHMgbGkge1xuICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNERkRDREU7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBhZGRpbmc6IDAuNzVlbSAxLjI1ZW07XG59XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBoMixcbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXItZGV0YWlscyBoMixcbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXItZG93bmxvYWRzIGgyIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzIGFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxZW0gIWltcG9ydGFudDtcbn1cblxuLndvb2NvbW1lcmNlLWVycm9yLFxuLndvb2NvbW1lcmNlLWluZm8sXG4ud29vY29tbWVyY2UtbWVzc2FnZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZpcmEtc2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG59XG4ud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC50aXRsZSBoMywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgZm9ybSA+IGgzIGgzLCAud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLmFkZHJlc3NlcyBmb3JtID4gaDMgaDMsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlID4gaDIgaDMsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlciBoMi53b29jb21tZXJjZS1jb2x1bW5fX3RpdGxlIGgzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgaDIud29vY29tbWVyY2UtY29sdW1uX190aXRsZSBoMywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIGgyLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHNfX3RpdGxlIGgzLCAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgaDIud29vY29tbWVyY2Utb3JkZXItZGV0YWlsc19fdGl0bGUgaDMsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlIC5jaGVja291dCBoMyBoMywgLndvb2NvbW1lcmNlIC5jaGVja291dCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGgzIGgzLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSAucHJvZHVjdCAucmVsYXRlZCA+IGgyIGgzLCAud29vY29tbWVyY2UgLnByb2R1Y3QgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAucmVsYXRlZCA+IGgyIGgzLFxuLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgLnByb2R1Y3QgLnVwc2VsbHMgPiBoMiBoMyxcbi53b29jb21tZXJjZSAucHJvZHVjdCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC51cHNlbGxzID4gaDIgaDMsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlIGgxLnBhZ2UtdGl0bGUgaDMsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGgxLnBhZ2UtdGl0bGUgaDMsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGgyIGgzLCAud29vY29tbWVyY2UgLmNhcnQtY29sbGF0ZXJhbHMgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBoMiBoMyxcbi53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgaDIgaDMsXG4ud29vY29tbWVyY2UtcGFnZSAuY2FydC1jb2xsYXRlcmFscyAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGgyIGgzLCAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCAucHJvZHVjdF90aXRsZSBoMywgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLnByb2R1Y3RfdGl0bGUgaDMsIC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIC53b29jb21tZXJjZS1UYWJzLXBhbmVsIGgyIGgzLCAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLndvb2NvbW1lcmNlLVRhYnMtcGFuZWwgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBoMiBoMywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUgaDMsIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlLWxvb3AtY2F0ZWdvcnlfX3RpdGxlIGgzLFxuLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSBoMyxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlLWxvb3AtcHJvZHVjdF9fdGl0bGUgaDMsXG4ud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGgzIGgzLFxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBoMyBoMywgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLWN1c3RvbWVyLWRldGFpbHMgaDIgaDMsIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGgyIGgzLFxuLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMgaDIgaDMsXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMgLndvb2NvbW1lcmNlLWFjY291bnQgLmFkZHJlc3NlcyBoMiBoMyxcbi53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlci1kb3dubG9hZHMgaDIgaDMsXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyLWRvd25sb2FkcyAud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIGgyIGgzIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50LFxuLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyxcbi53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyxcbi53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMge1xuICBmb250LWZhbWlseTogXCJmaXJhLXNhbnNcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiAwO1xufVxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaTpub3QoOmxhc3QtY2hpbGQpLFxuLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpOm5vdCg6bGFzdC1jaGlsZCksXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZGRkZGRjtcbn1cblxuI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGkgaW5wdXQsXG4ud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGkgaW5wdXQsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpIGlucHV0IHtcbiAgbGVmdDogLTk5OWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbiNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94LFxuLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94LFxuLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IGRpdi5wYXltZW50X2JveCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbiNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94OjpiZWZvcmUsXG4ud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3g6OmJlZm9yZSxcbi53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3g6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IHA6Zmlyc3QtY2hpbGQsXG4ud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggcDpmaXJzdC1jaGlsZCxcbi53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3ggcDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgLnBheW1lbnRfbWV0aG9kX3BheXBhbCAuYWJvdXRfcGF5cGFsLFxuLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgLnBheW1lbnRfbWV0aG9kX3BheXBhbCAuYWJvdXRfcGF5cGFsLFxuLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IC5wYXltZW50X21ldGhvZF9wYXlwYWwgLmFib3V0X3BheXBhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIGN1c3RvbSAqL1xuLndvb2NvbW1lcmNlX19hcmNoaXZlLXJlc3VsdHMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLndvb2NvbW1lcmNlIC5wcm9kdWN0IC5yZWxhdGVkID4gaDIsXG4ud29vY29tbWVyY2UgLnByb2R1Y3QgLnVwc2VsbHMgPiBoMiB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG5cbi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IC5jb2wyLXNldCAuY29sLTEsXG4ud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAuY29sMi1zZXQgLmNvbC0yLFxuLndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAuY29sMi1zZXQgLmNvbC0xLFxuLndvb2NvbW1lcmNlLXBhZ2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCAuY29sMi1zZXQgLmNvbC0yIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAud29vY29tbWVyY2UgZm9ybS53b29jb21tZXJjZS1jaGVja291dCxcbi53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgI2N1c3RvbWVyX2RldGFpbHMsXG4ud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQuMzQ3ODI2MDg3JTtcbiAgICB3aWR0aDogNDcuODI2MDg2OTU2NSU7XG4gIH1cbiAgLndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgI29yZGVyX3Jldmlldyxcbi53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNvcmRlcl9yZXZpZXdfaGVhZGluZyxcbi53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgI29yZGVyX3Jldmlldyxcbi53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQgI29yZGVyX3Jldmlld19oZWFkaW5nIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiA0Ny44MjYwODY5NTY1JTtcbiAgfVxufVxuLndvb2NvbW1lcmNlIC5jaGVja291dCBoMyB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xufVxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSBsYWJlbCxcbi53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSBsYWJlbCxcbi53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGkgbGFiZWwge1xuICBiYWNrZ3JvdW5kOiAjREZEQ0RFO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cywgY29sb3IgMC4xNXM7XG59XG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSBpbnB1dDpjaGVja2VkICsgbGFiZWwsXG4ud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGkgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsLFxuLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkI0NTUwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbiNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpIGxhYmVsIGltZyxcbi53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSBsYWJlbCBpbWcsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpIGxhYmVsIGltZyB7XG4gIG1heC1oZWlnaHQ6IDMycHg7XG59XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgaDIud29vY29tbWVyY2Utb3JkZXItZGV0YWlsc19fdGl0bGUge1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIGgyLndvb2NvbW1lcmNlLWNvbHVtbl9fdGl0bGUge1xuICBmb250LXNpemU6IDEuMjVlbTtcbn1cblxuLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlID4gaDIge1xuICBmb250LXNpemU6IDEuMjVlbTtcbn1cblxuLndvb2NvbW1lcmNlIGZvcm0ubG9naW4sXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ud29vY29tbWVyY2UgZm9ybS5sb2dpbiBsYWJlbC53b29jb21tZXJjZS1mb3JtLWxvZ2luX19yZW1lbWJlcm1lLFxuLndvb2NvbW1lcmNlIGZvcm0ucmVnaXN0ZXIgbGFiZWwud29vY29tbWVyY2UtZm9ybS1sb2dpbl9fcmVtZW1iZXJtZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuLndvb2NvbW1lcmNlIGZvcm0ubG9naW4gaW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQud29vY29tbWVyY2UtZm9ybV9faW5wdXQtY2hlY2tib3gsXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciBpbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC53b29jb21tZXJjZS1mb3JtX19pbnB1dC1jaGVja2JveCB7XG4gIG1hcmdpbjogMCAwLjVlbSAwIDA7XG59XG4ud29vY29tbWVyY2UtQWRkcmVzcy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4ud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgZm9ybSA+IGgzIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlIGZpZWxkc2V0IGxlZ2VuZCB7XG4gIHBhZGRpbmc6IDAgMC41ZW07XG59XG5cbi53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFdQIENhcHRpb25cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53cC1jYXB0aW9uIHtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi53cC1jYXB0aW9uLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcImZpcmEtc2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1ZW07XG4gIG1hcmdpbjogMC44NzVlbSAwZW0gMS43NWVtO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBXUCBHYWxsZXJ5XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZ2FsbGVyeSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiA2cmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ2FsbGVyeS1jb2x1bW5zLTEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTYge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTcge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTgge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIDFmcik7XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDksIDFmcik7XG4gIH1cbn1cbi5nYWxsZXJ5LWl0ZW0ge1xuICBjb2x1bW4tc3Bhbjogc3BhbiAxO1xuICBtYXJnaW46IDA7XG59XG4uZ2FsbGVyeS1pdGVtIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFBhZ2VcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmh0bWwsXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogIzQzNDM0MztcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmJvZHkge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5wYWdlX19jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjNDM0MzQzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5wYWdlX19jb250YWluZXIgI2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5wYWdlX19jb250YWluZXIgLmNvbnRlbnQtYmxvY2sge1xuICBmbGV4OiAxIDAgYXV0bztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQWxlcnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hbGVydC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5hbGVydC1ibG9jayB7XG4gIGJhY2tncm91bmQ6ICNDNjI4Mjg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDEuMTcxODc1cmVtIDEuNTYyNXJlbTtcbn1cbi5hbGVydC1ibG9jay5pcy1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmFsZXJ0X19pbm5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xufVxuXG4uYWxlcnRfX3Jvdy5yb3ctLXBhZGRlZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjVlbSk7XG59XG4uYWxlcnRfX3Jvdy5yb3ctLXBhZGRlZCA+IFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbn1cblxuLmFsZXJ0X19idXR0b24sIC5hbGVydF9fYnV0dG9uOmFjdGl2ZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMi41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMi41cmVtO1xufVxuXG4uYWxlcnRfX3VzZXItY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZWFkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5oZWFkZXItYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG59XG4uaGVhZGVyLWJsb2NrIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogMHJlbSAxLjU2MjVyZW07XG59XG5cbi5oZWFkZXJfX2lubmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1heC13aWR0aDogY2FsYyg5MHJlbSArICgwLjc1ZW0gKiAyKSk7XG4gIHBhZGRpbmc6IDEuNTYyNXJlbSAwcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhlYWRlcl9fcm93LnJvdy0tcGFkZGVkLXRpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuaGVhZGVyX19yb3cucm93LS1wYWRkZWQtdGlnaHQgPiBbY2xhc3MqPWNvbC1dIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5oZWFkZXJfX2xvZ28ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMi41ZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oZWFkZXJfX2xvZ28ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjc4MTI1ZW07XG4gIH1cbn1cblxuLmhlYWRlcl9fbWVudS1saXN0X19jb250YWluZXIubWVudS1saXN0X19jb250YWluZXItLXNvY2lhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMC4zNzVyZW07XG59XG4uaGVhZGVyX19tZW51LWxpc3RfX2NvbnRhaW5lciAubWVudS1saXN0LS1pY29ucyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwLjRlbSk7XG59XG4uaGVhZGVyX19tZW51LWxpc3RfX2NvbnRhaW5lciAubWVudS1saXN0LS1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLmhlYWRlcl9fbWVudS1saXN0X19jb250YWluZXIgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbi5tZW51LWxpc3QtLXByaW1hcnkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTAuNzVlbSk7XG59XG4uaGVhZGVyX19tZW51LWxpc3RfX2NvbnRhaW5lciAubWVudS1saXN0LS1uYXZpZ2F0aW9uLm1lbnUtbGlzdC0tc2Vjb25kYXJ5IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuNzVlbSk7XG59XG4uaGVhZGVyX19tZW51LWxpc3RfX2NvbnRhaW5lciAubWVudS1saXN0LS1uYXZpZ2F0aW9uID4gLm1lbnUtbGlzdF9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBOYXZpZ2F0aW9uXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubmF2aWdhdGlvbi1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDtcbn1cbi5uYXZpZ2F0aW9uLWJsb2NrIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLm5hdmlnYXRpb25fX2lubmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogOTByZW07XG4gIG1heC13aWR0aDogY2FsYyg5MHJlbSArIDEuNmVtKTtcbn1cblxuLm5hdmlnYXRpb25fX2ZpZ3VyZSB7XG4gIG1hcmdpbjogMGVtIDBlbSAwLjVlbTtcbn1cblxuLm5hdmlnYXRpb25fX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubmF2aWdhdGlvbl9fbWVudS1saXN0X19jb250YWluZXIubWVudS1saXN0X19jb250YWluZXItLXNvY2lhbCB7XG4gIHBhZGRpbmctbGVmdDogMC4zNzVyZW07XG59XG5cbi8qIGZseW91dCB2YXJpYW50ICovXG4ubmF2aWdhdGlvbi1ibG9jay0tZmx5b3V0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgaGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiA5OTllbTtcbiAgdG9wOiAtOTk5ZW07XG4gIHRyYW5zaXRpb246IHJpZ2h0IDBzIDAuMjVzLCB0b3AgMHMgMC4yNXMsIHZpc2liaWxpdHkgMHMgMC4yNXM7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMHZ3O1xuICB6LWluZGV4OiAxMDAwMDE7XG59XG4ubmF2aWdhdGlvbi1ibG9jay0tZmx5b3V0IC5uYXZpZ2F0aW9uX19pbm5lciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci10b3A6IDAuNjI1cmVtIHNvbGlkICMyQjQ1NTA7XG4gIGZsb2F0OiByaWdodDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNy41ZW0pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7XG4gIHdpZHRoOiAxNy41ZW07XG4gIHotaW5kZXg6IDI7XG59XG4ubmF2aWdhdGlvbi1ibG9jay0tZmx5b3V0IC5uYXZpZ2F0aW9uX19vdmVybGF5IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYm9yZGVyOiAwO1xuICBjb250ZW50OiBcIlwiO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogOTk5ZW07XG4gIHRvcDogLTk5OWVtO1xuICB0cmFuc2l0aW9uOiByaWdodCAwcyAwLjI1cywgdG9wIDBzIDAuMTVzLCBvcGFjaXR5IDAuMjVzLCB2aXNpYmlsaXR5IDBzIDAuMjVzO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxO1xufVxuLm1lbnUtYWN0aXZlIC5uYXZpZ2F0aW9uLWJsb2NrLS1mbHlvdXQge1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLm1lbnUtYWN0aXZlIC5uYXZpZ2F0aW9uLWJsb2NrLS1mbHlvdXQgLm5hdmlnYXRpb25fX2lubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuLm1lbnUtYWN0aXZlIC5uYXZpZ2F0aW9uLWJsb2NrLS1mbHlvdXQgLm5hdmlnYXRpb25fX292ZXJsYXkge1xuICBvcGFjaXR5OiAxO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZXJvXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uaGVyby1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbn1cbi5oZXJvLWJsb2NrIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogMS45NTMxMjVyZW0gMS41NjI1cmVtO1xufVxuXG4uaGVyb19faW5uZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA5MHJlbTtcbn1cbi5oZXJvX19pbm5lci5oZXJvX19pbm5lci0td2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDYWxsb3V0c1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNhbGxvdXRzLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmNhbGxvdXRzLWJsb2NrIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogMHJlbSAxLjU2MjVyZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNhbGxvdXRzX19jYWxsb3V0Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICB9XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIENvbnRlbnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jb250ZW50LWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuLmNvbnRlbnQtYmxvY2sge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBwYWRkaW5nOiA0LjM3NXJlbSAxLjU2MjVyZW07XG59XG5cbi5jb250ZW50X19pbm5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xufVxuXG4uY29udGVudF9fbWVudS1saXN0X19jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG59XG5cbi5jb250ZW50X19zaWRlYmFyX19idXR0b24ge1xuICBwYWRkaW5nLWxlZnQ6IDIuMTg3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMi4xODc1cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ1RBXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY3RhLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmN0YS1ibG9jayB7XG4gIGJhY2tncm91bmQ6ICMyQjQ1NTA7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS41NjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jdGFfX2lubmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmN0YV9fcm93LnJvdy0tcGFkZGVkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDIuODEyNWVtKTtcbn1cbi5jdGFfX3Jvdy5yb3ctLXBhZGRlZCA+IFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjgxMjVlbTtcbn1cblxuLmN0YV9fYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzQwNjI3MDtcbiAgZm9udC1yYW5nZTogNDhlbSA4MGVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMS4yNWVtIDEuNTYyNWVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdGFfX3RleHQge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1yYW5nZTogNDhlbSA4MGVtO1xuICBmb250LXNpemU6IHJlc3BvbnNpdmUgMS4yNWVtIDEuNTYyNWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjJlbTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogRm9vdGVyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZm9vdGVyLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuLmZvb3Rlci1ibG9jayB7XG4gIGJhY2tncm91bmQ6ICM0MzQzNDM7XG4gIHBhZGRpbmc6IDQuNjg3NXJlbSAxLjU2MjVyZW0gNi44NzVyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mb290ZXItYmxvY2sge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4uZm9vdGVyX19pbm5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDkwcmVtO1xufVxuXG4uZm9vdGVyX19yb3cucm93LS1wYWRkZWQge1xuICB3aWR0aDogY2FsYygxMDAlICsgMS40MDYyNWVtKTtcbn1cbi5mb290ZXJfX3Jvdy5yb3ctLXBhZGRlZCA+IFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjQwNjI1ZW07XG59XG4uZm9vdGVyX19yb3cucm93LS1wYWRkZWQtbG9vc2Uge1xuICB3aWR0aDogY2FsYygxMDAlICsgMy43NWVtKTtcbn1cbi5mb290ZXJfX3Jvdy5yb3ctLXBhZGRlZC1sb29zZSA+IFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiAzLjc1ZW07XG59XG5cbi5mb290ZXJfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGNvbG9yOiAjNDM0MzQzO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uZm9vdGVyX19idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMDtcbn1cblxuLmZvb3Rlcl9fdGV4dCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBsaW5lLWhlaWdodDogMS4xNTM4NDYxNTM4ZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMTUzODQ2MTUzOGVtO1xufVxuXG4uZm9vdGVyX19hd2FyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDBlbSAwZW0gMS44NzVlbTtcbiAgd2lkdGg6IDQuMzc1ZW07XG59XG4uZm9vdGVyX19hd2FyZCAuZm9vdGVyX19hd2FyZF9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb290ZXJfX2xvZ28ge1xuICBtYXJnaW46IDBlbSBhdXRvIDEuODc1ZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDE1LjYyNWVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIE1vZHVsZVxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAgICogTGF5b3V0XG4gIFxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAgICogTW9kdWxlXG4gIFxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgKiBTd2lwZXIgKGh0dHA6Ly9pZGFuZ2Vyby51cy9zd2lwZXIvKVxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5zd2lwZXItc2xpZGUtLWVubGFyZ2UgLnN3aXBlcl9fcGljdHVyZSB7XG4gICAgaGVpZ2h0OiAzMC42MjVlbTtcbiAgfVxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAgICogTGF5b3V0XG4gIFxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAgICogTW9kdWxlXG4gIFxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgKiBDYWxsb3V0XG4gIFxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLmNhbGxvdXQge1xuICAgIGhlaWdodDogMjEuMjVyZW07XG4gIH1cblxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIENvbHVtbnNcbiAgXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAuY29sdW1ucy0tMiB7XG4gICAgY29sdW1uczogMjtcbiAgfVxuXG4gIC5jb2x1bW5zLS0zIHtcbiAgICBjb2x1bW5zOiAzO1xuICB9XG5cbiAgLmNvbHVtbnMtLTQge1xuICAgIGNvbHVtbnM6IDQ7XG4gIH1cblxuICAuY29sdW1ucy0tNSB7XG4gICAgY29sdW1uczogNTtcbiAgfVxuXG4gIC5jb2x1bW5zLS02IHtcbiAgICBjb2x1bW5zOiA2O1xuICB9XG5cbiAgLmNvbHVtbnMtLTcge1xuICAgIGNvbHVtbnM6IDc7XG4gIH1cblxuICAuY29sdW1ucy0tOCB7XG4gICAgY29sdW1uczogODtcbiAgfVxuXG4gIC5jb2x1bW5zLS05IHtcbiAgICBjb2x1bW5zOiA5O1xuICB9XG5cbiAgLmNvbHVtbnMtLTEwIHtcbiAgICBjb2x1bW5zOiAxMDtcbiAgfVxuXG4gIC5jb2x1bW5zLS0xMSB7XG4gICAgY29sdW1uczogMTE7XG4gIH1cblxuICAuY29sdW1ucy0tMTIge1xuICAgIGNvbHVtbnM6IDEyO1xuICB9XG5cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgKiBTd2lwZXIgKGh0dHA6Ly9pZGFuZ2Vyby51cy9zd2lwZXIvKVxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIGNhcmRzIHZhcmlhbnQgKi9cbiAgLnN3aXBlci1jb250YWluZXJfX2NvbnRhaW5lci0tY2FyZHMge1xuICAgIHBhZGRpbmc6IDBlbSA1ZW07XG4gIH1cblxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIExheW91dFxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAgICogQ1RBXG4gIFxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIENhbGxvdXRzXG4gIFxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIEZvb3RlclxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC5zd2lwZXItY29udGFpbmVyX19jb250YWluZXItLWNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTVlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTBlbSk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jdGEtYmxvY2sge1xuICAgIGJvcmRlcjogMS4yNWVtIHNvbGlkICNGRkZGRkY7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jdGFfX3RleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYWxsb3V0cy1ibG9jayB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45Mzc1ZW0pIHtcbiAgLmNhbGxvdXRzLWJsb2NrIHtcbiAgICBmb250LXNpemU6IDEuMjV2dztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNhbGxvdXRzX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYWxsb3V0c19fY2FsbG91dCB7XG4gICAgZmxleDogMSAxIDIwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mb290ZXItYmxvY2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL21lZGlhL2JhY2tncm91bmQtZm9vdGVyLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDIwMDBweCkge1xuICAuZm9vdGVyLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9tZWRpYS9iYWNrZ3JvdW5kLWZvb3Rlcl9mYWRlLmpwZ1wiKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZvb3Rlcl9fYXdhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTI1ZW07XG4gICAgd2lkdGg6IDUuMzEyNWVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZm9vdGVyX19sb2dvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjEyNWVtO1xuICAgIHdpZHRoOiAxNC4wNjI1ZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1My4zMTI1ZW0pIHtcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgKiBNb2R1bGVcbiAgXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIExheW91dFxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIE1vZHVsZVxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAgICogTGF5b3V0XG4gIFxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgKiBDb250ZW50XG4gIFxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLmNvbnRlbnRfX3NpZGViYXIge1xuICAgIHdpZHRoOiAyMi41cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIE1vZHVsZVxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAgICogQ2FsbG91dFxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5jYWxsb3V0IHtcbiAgICBoZWlnaHQ6IDI4LjEyNXJlbTtcbiAgfVxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAgICogU3dpcGVyIChodHRwOi8vaWRhbmdlcm8udXMvc3dpcGVyLylcbiAgXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAuc3dpcGVyLXNsaWRlLS1lbmxhcmdlIC5zd2lwZXJfX3BpY3R1cmUge1xuICAgIGhlaWdodDogMzUuOTM3NWVtO1xuICB9XG5cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgKiBMYXlvdXRcbiAgXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIEhlYWRlclxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5oZWFkZXItYmxvY2sge1xuICAgIGJvcmRlci10b3A6IDAuNjI1cmVtIHNvbGlkICMyQjQ1NTA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC5oZWFkZXItYmxvY2sge1xuICAgIGZvbnQtc2l6ZTogMS4yNXZ3O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVhZGVyX19pbm5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuODEyNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMi44MTI1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVhZGVyX19sb2dvIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTkuMDYyNWVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIE1vZHVsZVxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAgICogTGF5b3V0XG4gIFxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgKiBIZWFkZXJcbiAgXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAuaGVhZGVyX19sb2dvIHtcbiAgICB3aWR0aDogMjUuNjI1ZW07XG4gIH1cblxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIEZvb3RlclxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5mb290ZXJfX3Jvdy5yb3ctLXBhZGRlZC1sb29zZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDcuNWVtKTtcbiAgfVxuICAuZm9vdGVyX19yb3cucm93LS1wYWRkZWQtbG9vc2UgPiBbY2xhc3MqPWNvbC1dIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3LjVlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAgICogTW9kdWxlXG4gIFxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgKiBMYXlvdXRcbiAgXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgKiBNb2R1bGVcbiAgXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAqIExheW91dFxuICBcXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG59IiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBCYXNlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCIuLi9iYXNlL2ZvbnRzL2ZvbnRzXCI7XG5AaW1wb3J0IFwiLi4vYmFzZS9ub3JtYWxpemUvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiLi4vYmFzZS9zZWxlY3Rpb24vc2VsZWN0aW9uXCI7XG5AaW1wb3J0IFwiLi4vYmFzZS9hbGlnbi9hbGlnblwiO1xuQGltcG9ydCBcIi4uL2Jhc2UvZGl2aWRlci9kaXZpZGVyXCI7XG5AaW1wb3J0IFwiLi4vYmFzZS9ncmlkL2dyaWRcIjtcbkBpbXBvcnQgXCIuLi9iYXNlL2xpbmsvbGlua1wiO1xuQGltcG9ydCBcIi4uL2Jhc2UvYnV0dG9uL2J1dHRvblwiO1xuQGltcG9ydCBcIi4uL2Jhc2UvaW5wdXQvaW5wdXRcIjtcbkBpbXBvcnQgXCIuLi9iYXNlL3RpdGxlL3RpdGxlXCI7XG5AaW1wb3J0IFwiLi4vYmFzZS90ZXh0L3RleHRcIjtcbkBpbXBvcnQgXCIuLi9iYXNlL2Jsb2NrcXVvdGUvYmxvY2txdW90ZVwiO1xuQGltcG9ydCBcIi4uL2Jhc2UvdXNlci1jb250ZW50L3VzZXItY29udGVudFwiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcIi4uL21vZHVsZS9hcnRpY2xlL2FydGljbGVcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvY2FsbG91dC9jYWxsb3V0XCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL2hhbmRvcmdlbC9oYW5kb3JnZWxcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvaWZyYW1lL2lmcmFtZVwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9sb2dvL2xvZ29cIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvbWVudS1saXN0L21lbnUtbGlzdFwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9uaW5qYS1mb3Jtcy9uaW5qYS1mb3Jtc1wiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9ub3R5L25vdHlcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvcGFuZWwtdG9nZ2xlL3BhbmVsLXRvZ2dsZVwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9waG90b3N3aXBlL3Bob3Rvc3dpcGVcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvc2Nyb2xsLWhpbnQvc2Nyb2xsLWhpbnRcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvc2VhcmNoLWZvcm0vc2VhcmNoLWZvcm1cIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvc2tpcC1saW5rcy9za2lwLWxpbmtzXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL3N3aXBlci9zd2lwZXJcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvdHJpYmUtZXZlbnRzL3RyaWJlLWV2ZW50c1wiO1xuQGltcG9ydCBcIi4uL21vZHVsZS93aWRnZXQvd2lkZ2V0XCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL3dvb2NvbW1lcmNlL3dvb2NvbW1lcmNlXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlL3dwLWNhcHRpb24vd3AtY2FwdGlvblwiO1xuQGltcG9ydCBcIi4uL21vZHVsZS93cC1nYWxsZXJ5L3dwLWdhbGxlcnlcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCIuLi9sYXlvdXQvcGFnZS9wYWdlXCI7XG5AaW1wb3J0IFwiLi4vbGF5b3V0L2FsZXJ0L2FsZXJ0XCI7XG5AaW1wb3J0IFwiLi4vbGF5b3V0L2hlYWRlci9oZWFkZXJcIjtcbkBpbXBvcnQgXCIuLi9sYXlvdXQvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uXCI7XG5AaW1wb3J0IFwiLi4vbGF5b3V0L2hlcm8vaGVyb1wiO1xuQGltcG9ydCBcIi4uL2xheW91dC9jYWxsb3V0cy9jYWxsb3V0c1wiO1xuQGltcG9ydCBcIi4uL2xheW91dC9jb250ZW50L2NvbnRlbnRcIjtcbkBpbXBvcnQgXCIuLi9sYXlvdXQvY3RhL2N0YVwiO1xuQGltcG9ydCBcIi4uL2xheW91dC9mb290ZXIvZm9vdGVyXCI7XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZvbnRzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJzaWducGFpbnRlci1ob3VzZXNjcmlwdFwiO1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTaWduUGFpbnRlciBIb3VzZVNjcmlwdFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6IFwiU2lnblBhaW50ZXIgSG91c2VTY3JpcHRcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBzcmM6IHVybChcIi4uL21lZGlhL2ZvbnRzL3NpZ25wYWludGVyLWhvdXNlc2NyaXB0LzQwMC9ub3JtYWwvd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vbWVkaWEvZm9udHMvc2lnbnBhaW50ZXItaG91c2VzY3JpcHQvNDAwL25vcm1hbC93ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE5vcm1hbGl6ZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4LCBzZWxlY3Rvci1tYXgtdHlwZSwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlICovXG5cbi8qIFRoZXNlIHN0eWxlcyBhcmUgaW50ZW5kZWQgdG8gYmUgZ2xvYmFsICovXG5cbi8vIFZlbmRvclxuXG5AdXNlIFwibm9ybWFsaXplLmNzcy9ub3JtYWxpemVcIjtcblxuLy8gQ3VzdG9tXG5cbi8vICBDaGFuZ2UgdGhlIGJveC1zaXppbmcgb2YgYWxsIGVsZW1lbnRzXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLy8gcmVtb3ZlIG9waW5pb25hdGVkIGRlZmF1bHQgc3R5bGVzIG9uIGJ1dHRvbnMsIGlucHV0cywgYW5kIHNlbGVjdHNcblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLy8gYmUgZXh0cmEgc3BlY2lmaWMgZm9yIHNlYXJjaCBmaWVsZHMsIGFzIG5vcm1hbGl6ZSByZXNldHMgdGhlbVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBTZXQgbWF4LWhlaWdodCBhbmQgbWF4LXdpZHRoIHRvIDEwMCUgb24gU1ZHcyB0byBmaXggYSBidWcgaW4gU2FmYXJpIChodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xMjYzMTMyNi82NTQ0ODApXG5cbnN2ZyB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8vIEhpZGUgb3V0bGluZSBvbiBmb2N1c1xuXG4vKiBSZW1vdmUgb3V0bGluZSBmb3Igbm9uLWtleWJvYXJkIDpmb2N1cyAqL1xuKjpmb2N1czpub3QoLmZvY3VzLXZpc2libGUpIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTZWxlY3Rpb25cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuOjpzZWxlY3Rpb24ge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImFjY2VudFwiKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBBbGlnbm1lbnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmFsaWdubGVmdCxcbi5hbGlnbnJpZ2h0LFxuLmFsaWduY2VudGVyIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgYXV0byA0NSk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGxhcmdlci10aGFuKHhzKSB7XG4gICAgLmFsaWdubGVmdCB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbWlmeSg3NSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWxpZ25yaWdodCB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbWlmeSg3NSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIERpdmlkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmRpdmlkZXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcInByaW1hcnlcIik7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGhlaWdodDogcmVtaWZ5KDIpO1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgxNSAwLCAxNik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogR3JpZCAoYmFzZWQgbG9vc2VseSBvbiBodHRwczovL3Y0LWFscGhhLmdldGJvb3RzdHJhcC5jb20vbGF5b3V0L2dyaWQvKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucm93IHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgICYgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmID4gLmNvbC0tZ3Jvdy0wIHtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgIH1cblxuICAgICYgPiAuY29sLS1zaHJpbmstMCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbn1cblxuLnJvdy0tZGlzcGxheS1ncmlkIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4gICAgfVxuXG4gICAgJi5yb3ctLWVxdWFsIHtcbiAgICAgICAgZ3JpZC1hdXRvLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IDFmcjtcbiAgICB9XG59XG5cbi5yb3ctLXBhZGRlZCB7XG4gICAgJiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje3JlbWlmeSgkY29sdW1uLWdhcCwgMTYpfSk7XG4gICAgfVxuXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSgkY29sdW1uLWdhcCwgMTYpO1xuICAgIH1cbn1cblxuLnJvdy0tcGFkZGVkLXRpZ2h0IHtcbiAgICAmIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7cmVtaWZ5KCRjb2x1bW4tZ2FwICogMC43NSwgMTYpfSk7XG4gICAgfVxuXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSgkY29sdW1uLWdhcCAqIDAuNzUsIDE2KTtcbiAgICB9XG59XG5cbi5yb3ctLXBhZGRlZC1sb29zZSB7XG4gICAgJiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje3JlbWlmeSgkY29sdW1uLWdhcCAqIDEuMjUsIDE2KX0pO1xuICAgIH1cblxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1pZnkoJGNvbHVtbi1nYXAgKiAxLjI1LCAxNik7XG4gICAgfVxufVxuXG4ucm93LS13cmFwLW5vIHtcbiAgICAmIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxufVxuXG4ucm93LS13cmFwLXJldmVyc2Uge1xuICAgICYge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbiAgICB9XG59XG5cbi5yb3ctLWNlbnRlciB7XG4gICAgJiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cblxuLnJvdy0tYWxpZ24tc3RhcnQge1xuICAgICYge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG59XG5cbi5yb3ctLWFsaWduLWNlbnRlciB7XG4gICAgJiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuXG4ucm93LS1hbGlnbi1lbmQge1xuICAgICYge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxufVxuXG4ucm93LS1hbGlnbi1zdHJldGNoIHtcbiAgICAmIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxufVxuXG4ucm93LS1qdXN0aWZ5LXN0YXJ0IHtcbiAgICAmIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbn1cblxuLnJvdy0tanVzdGlmeS1jZW50ZXIge1xuICAgICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbi5yb3ctLWp1c3RpZnktZW5kIHtcbiAgICAmIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbi5yb3ctLWp1c3RpZnktYXJvdW5kIHtcbiAgICAmIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxufVxuXG4ucm93LS1qdXN0aWZ5LWJldHdlZW4ge1xuICAgICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxufVxuXG4ucm93LS1kaXJlY3Rpb24tY29sdW1uIHtcbiAgICAmIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG59XG5cbi5yb3ctLWRpcmVjdGlvbi1yZXZlcnNlIHtcbiAgICAmOm5vdCgucm93LS1kaXJlY3Rpb24tY29sdW1uKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAmLnJvdy0tZGlyZWN0aW9uLWNvbHVtbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG59XG5cbi5jb2wtYXV0byB7XG4gICAgJiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgfVxufVxuXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW4tY291bnQge1xuICAgIC5jb2wtI3skaX0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAoJGkgLyAkY29sdW1uLWNvdW50KSAqIDEwMCU7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuICRpO1xuICAgIH1cbn1cblxuQGVhY2ggJG5hbWUsICRzaXplIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4oJG5hbWUpIHtcbiAgICAgICAgLmNvbC0jeyRuYW1lfS1hdXRvIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW4tY291bnQge1xuICAgICAgICAgICAgLmNvbC0jeyRuYW1lfS0jeyRpfSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogKCRpIC8gJGNvbHVtbi1jb3VudCkgKiAxMDAlO1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuICRpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMaW5rXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5saW5rIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcInByaW1hcnlcIiwgXCJ0aW50XCIpO1xuICAgIH1cbn1cblxuLyogaW5oZXJpdCB2YXJpYW50ICovXG5cbi5saW5rLS1pbmhlcml0IHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQnV0dG9uXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5idXR0b24ge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcInByaW1hcnlcIik7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwibGlnaHRcIik7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgICAgICBmb250LXJhbmdlOiAkeHMtYnJlYWsgJHhsLWJyZWFrO1xuICAgICAgICBmb250LXNpemU6IHJlc3BvbnNpdmUgcmVtaWZ5KDIwKSByZW1pZnkoMjMpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDI3LCAyMCk7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAyNywgMjApO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoMjUgNDAgMjAsIDIwKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJwcmltYXJ5XCIsIFwic2hhZGVcIik7XG4gICAgfVxufVxuXG4uYnV0dG9uX19pY29uIHtcbiAgICAmIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDEzLCAyMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgje3JlbWlmeSgyLCAyMCl9KTtcbiAgICB9XG59XG5cbi8qIGRpc2FibGVkIHZhcmlhbnQgKi9cblxuLmJ1dHRvbi0tZGlzYWJsZWQge1xuICAgICYge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cbiIsbnVsbCwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBJbnB1dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kZm9udC1zaXplOiAxODtcbiRpY29uLXNpemU6IDAuNzVlbTtcblxuJHBhZGRpbmctYm90dG9tOiAxMS41O1xuJHBhZGRpbmctbGVmdDogICAxODtcbiRwYWRkaW5nLXJpZ2h0OiAgMTg7XG4kcGFkZGluZy10b3A6ICAgIDE1LjU7XG5cbi5pbnB1dCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiYmFja2dyb3VuZFwiKTtcbiAgICAgICAgYm9yZGVyOiByZW1pZnkoMikgc29saWQgY29sb3IoXCJiYWNrZ3JvdW5kXCIsIFwic2hhZGVcIik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZm9yZWdyb3VuZFwiKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICAgICAgICBmb250LXJhbmdlOiAkeHMtYnJlYWsgJHhsLWJyZWFrO1xuICAgICAgICBmb250LXNpemU6IHJlc3BvbnNpdmUgcmVtaWZ5KCRmb250LXNpemUsIDE2KSByZW1pZnkoMjAsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDVlbTtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDEwKTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCRwYWRkaW5nLXRvcCAkcGFkZGluZy1yaWdodCAkcGFkZGluZy1ib3R0b20gJHBhZGRpbmctbGVmdCwgJGZvbnQtc2l6ZSk7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzLCBiYWNrZ3JvdW5kLXNpemUgMC4xNXMsIGJvcmRlci1jb2xvciAwLjE1cywgY29sb3IgMC4xNXM7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bm90KC5pbnB1dC0tZGlzYWJsZWQpOmFjdGl2ZSxcbiAgICAmOm5vdCguaW5wdXQtLWRpc2FibGVkKTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoXCJhY2NlbnRcIik7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJmb3JlZ3JvdW5kXCIsIFwidGludFwiKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi8qIGVycm9yIHZhcmlhbnQgKi9cblxuLmlucHV0LS1lcnJvciB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoXCJlcnJvclwiKTtcbiAgICB9XG59XG5cbi8qIHN1Y2Nlc3MgdmFyaWFudCAqL1xuXG4uaW5wdXQtLXN1Y2Nlc3Mge1xuICAgICYge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKFwic3VjY2Vzc1wiKTtcbiAgICB9XG59XG5cbi8qIHNlbGVjdCB2YXJpYW50ICovXG5cbi5pbnB1dC0tc2VsZWN0IHtcbiAgICAmIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAvLyByZW1vdmUgRmlyZWZveCBkZWZhdWx0IHN0eWxlcyAmIGFycm93XG4gICAgICAgIHRleHQtaW5kZW50OiAwLjAxcHg7XG4gICAgICAgIC8vIHJlbW92ZSBJRSBkZWZhdWx0IHN0eWxlcyAmIGFycm93XG4gICAgICAgICY6Oi1tcy1leHBhbmQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxufVxuXG4uaW5wdXQtLXNlbGVjdC1hcnJvdyB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL2Zhcy1zb3J0LnN2Z1wiLCBmaWxsPSN7Y29sb3IoXCJmb3JlZ3JvdW5kXCIpfSk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCByZW1pZnkoJHBhZGRpbmctcmlnaHQsICRmb250LXNpemUpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpY29uLXNpemU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skaWNvbi1zaXplfSArICN7cmVtaWZ5KCRwYWRkaW5nLXJpZ2h0ICogMiwgJGZvbnQtc2l6ZSl9KTtcbiAgICB9XG59XG5cbi8qIHRvZ2dsZSB2YXJpYW50cyAqL1xuXG4uaW5wdXQtLXRvZ2dsZSB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlci13aWR0aDogcmVtaWZ5KDEpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAkaWNvbi1zaXplICogMjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogJGljb24tc2l6ZSAqIDI7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpY29uLXNpemU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IC05OTllbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGxlZnQgMHMgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cztcbiAgICB9XG5cbiAgICAmICsgLnRleHQtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLmlucHV0LS10b2dnbGUtY2hlY2tib3gge1xuICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKFwiYWNjZW50XCIpO1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKFwiYWNjZW50XCIpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvZmFzLWNoZWNrLnN2Z1wiLCBmaWxsPSN7Y29sb3IoXCJsaWdodFwiKX0pO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIH1cbn1cblxuLmlucHV0LS10b2dnbGUtcmFkaW8ge1xuICAgICYge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmctbG9hZChcIi4uL21lZGlhL3ZlbmRvci9mYXMtY2lyY2xlLnN2Z1wiLCBmaWxsPSN7Y29sb3IoXCJhY2NlbnRcIil9KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQ6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8qIGRpc2FibGVkIHZhcmlhbnQgKi9cblxuLmlucHV0LS1kaXNhYmxlZCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1peChjb2xvcihcImJhY2tncm91bmRcIiksIGNvbG9yKFwiYmFja2dyb3VuZFwiLCBcInNoYWRlXCIpKTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cbn1cblxuLyogc2VsZWN0IGJyb3dzZXIgdmFyaWFudHMgKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbWF4LXR5cGUsIHNlbGVjdG9yLW5vLXZlbmRvci1wcmVmaXgsIHNlbGVjdG9yLXR5cGUtbm8tdW5rbm93biAqL1xuXG4vKiBJRSAqL1xuXzotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG46cm9vdCAuaW5wdXQtLXNlbGVjdCB7XG4gICAgJiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgkcGFkZGluZy1ib3R0b20sICRmb250LXNpemUpIGNhbGMoI3tyZW1pZnkoJHBhZGRpbmctbGVmdCwgJGZvbnQtc2l6ZSl9IC0gM3B4KSBjYWxjKCN7cmVtaWZ5KCRwYWRkaW5nLWJvdHRvbSwgJGZvbnQtc2l6ZSl9IC0gMnB4KTtcbiAgICB9XG59XG5cbl86LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuOnJvb3QgLmlucHV0LS1zZWxlY3QtYXJyb3cge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7JGljb24tc2l6ZX0gKyAje3JlbWlmeSgkcGFkZGluZy1yaWdodCAqIDIsICRmb250LXNpemUpfSAtIDNweCk7XG4gICAgfVxufVxuXG4vKiBDaHJvbWUgICovXG5Ac3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSkgYW5kIChmb250LXN0cmV0Y2g6IG5vcm1hbCkgYW5kIChub3QoLW1zLWFjY2VsZXJhdG9yOiB0cnVlKSkge1xuICAgIC5pbnB1dC0tc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCRwYWRkaW5nLXRvcCwgJGZvbnQtc2l6ZSkgcmVtaWZ5KCRwYWRkaW5nLXJpZ2h0LCAkZm9udC1zaXplKSByZW1pZnkoJHBhZGRpbmctYm90dG9tLCAkZm9udC1zaXplKSByZW1pZnkoJHBhZGRpbmctbGVmdCwgJGZvbnQtc2l6ZSk7XG4gICAgfVxuXG4gICAgLmlucHV0LS1zZWxlY3QtYXJyb3cge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7JGljb24tc2l6ZX0gKyAje3JlbWlmeSgkcGFkZGluZy1yaWdodCAqIDIsICRmb250LXNpemUpfSk7XG4gICAgfVxufVxuXG4vKiBTYWZhcmkgKi9cbl86Oi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhLFxuXzpmdXR1cmUsXG46cm9vdCAuaW5wdXQtLXNlbGVjdCB7XG4gICAgJiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgkcGFkZGluZy10b3AsICRmb250LXNpemUpIHJlbWlmeSgkcGFkZGluZy1yaWdodCwgJGZvbnQtc2l6ZSkgcmVtaWZ5KCRwYWRkaW5nLWJvdHRvbSwgJGZvbnQtc2l6ZSkgcmVtaWZ5KCRwYWRkaW5nLWxlZnQsICRmb250LXNpemUpO1xuICAgIH1cbn1cblxuXzo6LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEsXG5fOmZ1dHVyZSxcbjpyb290IC5pbnB1dC0tc2VsZWN0LWFycm93IHtcbiAgICAmIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygjeyRpY29uLXNpemV9ICsgI3tyZW1pZnkoJHBhZGRpbmctcmlnaHQgKiAyLCAkZm9udC1zaXplKX0pO1xuICAgIH1cbn1cblxuLyogRWRnZSAqL1xuQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgLmlucHV0LS1zZWxlY3Qge1xuICAgICAgICBwYWRkaW5nOiBjYWxjKCN7cmVtaWZ5KCRwYWRkaW5nLXRvcCwgJGZvbnQtc2l6ZSl9IC0gMXB4KSBjYWxjKCN7cmVtaWZ5KCRwYWRkaW5nLXJpZ2h0LCAkZm9udC1zaXplKX0gLSAycHgpIGNhbGMoI3tyZW1pZnkoJHBhZGRpbmctYm90dG9tLCAkZm9udC1zaXplKX0gLSAxcHgpIGNhbGMoI3tyZW1pZnkoJHBhZGRpbmctbGVmdCwgJGZvbnQtc2l6ZSl9IC0gMnB4KTtcbiAgICB9XG5cbiAgICAuaW5wdXQtLXNlbGVjdC1hcnJvdyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoI3skaWNvbi1zaXplfSArICN7cmVtaWZ5KCRwYWRkaW5nLXJpZ2h0ICogMiwgJGZvbnQtc2l6ZSl9IC0gMnB4KTtcbiAgICB9XG59XG5cbi8qIEZpcmVmb3ggKi9cbkAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoXCJcIikge1xuICAgIC5pbnB1dC0tc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCRwYWRkaW5nLXRvcCwgJGZvbnQtc2l6ZSkgY2FsYygje3JlbWlmeSgkcGFkZGluZy1yaWdodCwgJGZvbnQtc2l6ZSl9IC0gNHB4KSByZW1pZnkoJHBhZGRpbmctYm90dG9tLCAkZm9udC1zaXplKSBjYWxjKCN7cmVtaWZ5KCRwYWRkaW5nLWxlZnQsICRmb250LXNpemUpfSAtIDRweCk7XG4gICAgfVxuXG4gICAgLmlucHV0LS1zZWxlY3QtYXJyb3cge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCN7JGljb24tc2l6ZX0gKyAje3JlbWlmeSgkcGFkZGluZy1yaWdodCAqIDIsICRmb250LXNpemUpfSAtIDRweCk7XG4gICAgfVxufVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFRpdGxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi50aXRsZSB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImZvcmVncm91bmRcIik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250O1xuICAgICAgICBmb250LXJhbmdlOiAkeHMtYnJlYWsgJHhsLWJyZWFrO1xuICAgICAgICBmb250LXNpemU6IHJlc3BvbnNpdmUgcmVtaWZ5KDIzLCAxNikgcmVtaWZ5KDQzLCAxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMzAsIDIzKTtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDExLjUsIDIzKTtcbiAgICB9XG59XG5cbi50aXRsZS0taDIge1xuICAgICYge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJhY2NlbnRcIik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYWNjZW50LWZvbnQ7XG4gICAgICAgIGZvbnQtcmFuZ2U6ICR4cy1icmVhayAkeGwtYnJlYWs7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSByZW1pZnkoMzUsIDE2KSByZW1pZnkoNDMsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgzNi41LCAzNSk7XG4gICAgfVxufVxuXG4udGl0bGUtLWgzIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgICAgIGZvbnQtcmFuZ2U6ICR4cy1icmVhayAkeGwtYnJlYWs7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSByZW1pZnkoMzAsIDE2KSByZW1pZnkoMzYsIDE2KTtcbiAgICB9XG59XG5cbi50aXRsZS0taDQge1xuICAgICYge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgyMCwgMTYpO1xuICAgIH1cbn1cblxuLnRpdGxlLS1oNSB7XG4gICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE4LCAxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuXG4udGl0bGUtLWg2IHtcbiAgICAmIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59XG5cbi8qIGRpdmlkZXIgdmFyaWFudCAqL1xuXG4udGl0bGUtLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKHhzKSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImJhY2tncm91bmRcIiwgXCJzaGFkZVwiKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtaWZ5KDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbWlmeSg0LCAxNik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIGRpdmlkZXItY2VudGVyIHZhcmlhbnQgKi9cblxuLnRpdGxlLS1kaXZpZGVyLWNlbnRlciB7XG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4oeHMpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJiYWNrZ3JvdW5kXCIsIFwic2hhZGVcIik7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbWlmeSgzKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbWlmeSg0LCAxNik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtaWZ5KDQsIDE2KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogZmVhdHVyZWQgdmFyaWFudCAqL1xuXG4udGl0bGUtLWZlYXR1cmVkIHtcbiAgICAmIHtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSg0NSwgMTYpIHJlbWlmeSg3MywgMTYpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogVGV4dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4udGV4dCB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImZvcmVncm91bmRcIik7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgxOCwgMTYpIHJlbWlmeSgyMCwgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDI2LjEsIDE4KTtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDI2LjEsIDE4KTtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cblxuICAgID4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogbGFiZWwgdmFyaWFudCAqL1xuXG4udGV4dC0tbGFiZWwge1xuICAgICYge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuXG4vKiBsaXN0IHZhcmlhbnQgKi9cblxuLnRleHQtLWxpc3Qge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoMCAwIDAgMzIsIDE2KTtcbiAgICB9XG5cbiAgICAudGV4dF9fbGlzdC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC50ZXh0X19saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg0LCAxNik7XG4gICAgfVxufVxuXG4vKiBsaXN0IG9yZGVyZWQgdmFyaWFudCAqL1xuXG4udGV4dC0tbGlzdC1vcmRlcmVkIHtcbiAgICAmIHtcbiAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICB9XG59XG5cbi8qIGxpc3QgdW5vcmRlcmVkIHZhcmlhbnQgKi9cblxuLnRleHQtLWxpc3QtdW5vcmRlcmVkIHtcbiAgICAmIHtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICB9XG59XG5cbi8qIHRhYmxlIHZhcmlhbnQgKi9cblxuLnRleHRfX3RhYmxlX19jb250YWluZXIge1xuICAgICYge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4udGV4dC0tdGFibGUge1xuICAgICYge1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRleHRfX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICAudGV4dF9fYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcbiAgICB9XG5cbiAgICAudGV4dF9fZm9vdGVyIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZm9yZWdyb3VuZFwiLCBcInRpbnRcIik7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWZvb3Rlci1ncm91cDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC50ZXh0X19yb3cge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgfVxuXG4gICAgLnRleHRfX2NlbGwge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1pbi13aWR0aDogcmVtaWZ5KDEyNSwgMTYpO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoMTAgMTUsIDE2KTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAudGV4dF9faGVhZGVyIC50ZXh0X19jZWxsLFxuICAgIC50ZXh0X19ib2R5IC50ZXh0X19jZWxsLS1oZWFkZXIge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIC50ZXh0X19ib2R5IC50ZXh0X19jZWxsLS1oZWFkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50ZXh0X19oZWFkZXIgKyAudGV4dF9fYm9keSA+IC50ZXh0X19yb3c6Zmlyc3QtY2hpbGQgPiAudGV4dF9fY2VsbCB7XG4gICAgICAgIGJvcmRlci10b3A6IHJlbWlmeSgyKSBzb2xpZCBtaXgoY29sb3IoXCJwcmltYXJ5XCIsIFwidGludFwiKSwgY29sb3IoXCJiYWNrZ3JvdW5kXCIpKTtcbiAgICB9XG5cbiAgICA+IC50ZXh0X19yb3c6bnRoLWNoaWxkKGV2ZW4pIC50ZXh0X19jZWxsLFxuICAgIC50ZXh0X19ib2R5IC50ZXh0X19yb3c6bnRoLWNoaWxkKGV2ZW4pIC50ZXh0X19jZWxsIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWl4KGNvbG9yKFwicHJpbWFyeVwiLCBcInRpbnRcIiksIGNvbG9yKFwiYmFja2dyb3VuZFwiKSk7XG4gICAgfVxuXG4gICAgPiAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbDpmaXJzdC1jaGlsZCxcbiAgICAudGV4dF9fYm9keSAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbWlmeSg2KTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogcmVtaWZ5KDYpO1xuICAgIH1cblxuICAgID4gLnRleHRfX3JvdzpudGgtY2hpbGQoZXZlbikgLnRleHRfX2NlbGw6bGFzdC1jaGlsZCxcbiAgICAudGV4dF9fYm9keSAudGV4dF9fcm93Om50aC1jaGlsZChldmVuKSAudGV4dF9fY2VsbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHJlbWlmeSg2KTtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHJlbWlmeSg2KTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEJsb2NrcXVvdGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmJsb2NrcXVvdGUge1xuICAgICYge1xuICAgICAgICBib3JkZXItbGVmdDogcmVtaWZ5KDIpIHNvbGlkIGNvbG9yKFwiYWNjZW50XCIpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgwIDAgMCAxNSwgMTYpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogVXNlciBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi51c2VyLWNvbnRlbnQge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgc2VsZWN0b3ItbWF4LXR5cGUgKi9cblxuICAgIC8vIHRlbCBsaW5rc1xuXG4gICAgYVtocmVmXj1cInRlbDpcIl0ge1xuICAgICAgICBAZXh0ZW5kIC5saW5rO1xuICAgIH1cblxuICAgIC8vIGltYWdlc1xuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG4vKiBsaWdodCB2YXJpYW50ICovXG5cbi51c2VyLWNvbnRlbnQtLWxpZ2h0IHtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHNlbGVjdG9yLW1heC10eXBlICovXG5cbiAgICAudXNlci1jb250ZW50X19saW5rLFxuICAgIC51c2VyLWNvbnRlbnRfX3RpdGxlLFxuICAgIC51c2VyLWNvbnRlbnRfX3RleHQsXG4gICAgLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgIH1cblxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQXJ0aWNsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYXJ0aWNsZV9fZmlndXJlIHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDMwLCAxNik7XG4gICAgfVxufVxuXG4uYXJ0aWNsZV9fZmlndXJlX19pbWFnZSB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDEyLCAxNik7XG4gICAgfVxufVxuXG4vKiBjYXJkIHZhcmlhbnQgKi9cblxuLmFydGljbGUtLWNhcmQge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oY29sb3IoXCJiYWNrZ3JvdW5kXCIpLCA1Ljg4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDIwLCAxNik7XG4gICAgfVxuXG4gICAgLmFydGljbGVfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgICAgIGZvbnQtcmFuZ2U6ICR4cy1icmVhayAkeGwtYnJlYWs7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSByZW1pZnkoMTYsIDE2KSByZW1pZnkoMTksIDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgyMywgMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjApO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX191c2VyLWNvbnRlbnQge1xuICAgICAgICAudXNlci1jb250ZW50X190ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtcmFuZ2U6ICR4cy1icmVhayAkeGwtYnJlYWs7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlc3BvbnNpdmUgcmVtaWZ5KDE0LCAxNikgcmVtaWZ5KDE3LCAxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDIyLCAxNCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoMjIsIDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGVfX2ZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgyNSAzMCwgMTYpO1xuICAgIH1cbn1cblxuLyogZXhjZXJwdCB2YXJpYW50ICovXG5cbi5hcnRpY2xlLS1leGNlcnB0IHtcbiAgICAmICsgJiB7XG4gICAgICAgIGJvcmRlci10b3A6IHJlbWlmeSgxKSBzb2xpZCBjb2xvcihcImJhY2tncm91bmRcIiwgXCJzaGFkZVwiKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgxNiwgMTYpO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE4LCAxNik7XG4gICAgfVxuXG4gICAgLmFydGljbGVfX2hlYWRlciA+IC5hcnRpY2xlX190aXRsZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9faGVhZGVyID4gLmFydGljbGVfX3RpdGxlOm5vdCg6bGFzdC1jaGlsZCkgKyAqIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDEwLCAxNik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDYWxsb3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jYWxsb3V0IHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRhY2NlbnQtZm9udDtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSg0NiwgMTYpIHJlbWlmeSg1MiwgMTYpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgyMzApO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDQ0LCA0Nik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uY2FsbG91dF9fcGljdHVyZSB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmNhbGxvdXRfX3BpY3R1cmVfX2ltYWdlIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jYWxsb3V0OmZvY3VzICYsXG4gICAgLmNhbGxvdXQ6aG92ZXIgJiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMjUpO1xuICAgIH1cbn1cblxuLmNhbGxvdXRfX2NvbnRlbnQge1xuICAgICYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZShjb2xvcihcImRhcmtcIiksIDAuNzM1KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uY2FsbG91dF9fZ3JhcGhpYyB7XG4gICAgJiB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiLy8gVmFyaWFibGVzXG5cbiRoYW5kb3JnZWwtYm9yZGVyLWNvbG9yOiAjZWVlICFkZWZhdWx0O1xuJGhhbmRvcmdlbC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuJGhhbmRvcmdlbF9faGVhZGVyX19idXR0b24tYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRoYW5kb3JnZWxfX2hlYWRlci0tb3Blbl9fYnV0dG9uLWJhY2tncm91bmQtY29sb3I6ICNlZWUgIWRlZmF1bHQ7XG4kaGFuZG9yZ2VsX19oZWFkZXItLWZvY3VzX19idXR0b24tYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZiAhZGVmYXVsdDtcblxuJGhhbmRvcmdlbF9faGVhZGVyX19idXR0b24tcGFkZGluZzogMjBweCAyNHB4ICFkZWZhdWx0O1xuJGhhbmRvcmdlbF9fY29udGVudF9faW5uZXItcGFkZGluZzogMjBweCAyNHB4ICFkZWZhdWx0O1xuXG4kaGFuZG9yZ2VsX19jb250ZW50LWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG5cbi8vIFZhcmlhYmxlcyBmb3IgY2xvc2luZyB0cmFuc2l0aW9uXG5cbiRoYW5kb3JnZWxfX2NvbnRlbnQtdHJhbnNpdGlvbi1vcGFjaXR5LXRpbWU6IDAuMXMgIWRlZmF1bHQ7XG4kaGFuZG9yZ2VsX19jb250ZW50LXRyYW5zaXRpb24tb3BhY2l0eS1tZXRob2Q6IGVhc2UgIWRlZmF1bHQ7XG5cbiRoYW5kb3JnZWxfX2NvbnRlbnQtdHJhbnNpdGlvbi1oZWlnaHQtdGltZTogMC4xcyAhZGVmYXVsdDtcbiRoYW5kb3JnZWxfX2NvbnRlbnQtdHJhbnNpdGlvbi1oZWlnaHQtZGVsYXk6ICRoYW5kb3JnZWxfX2NvbnRlbnQtdHJhbnNpdGlvbi1vcGFjaXR5LXRpbWUgIWRlZmF1bHQ7XG4kaGFuZG9yZ2VsX19jb250ZW50LXRyYW5zaXRpb24taGVpZ2h0LW1ldGhvZDogZWFzZSAhZGVmYXVsdDtcblxuJGhhbmRvcmdlbF9faGVhZGVyX19idXR0b24tdHJhbnNpdGlvbi1iYWNrZ3JvdW5kLWNvbG9yLXRpbWU6IDAuMnMgIWRlZmF1bHQ7XG4kaGFuZG9yZ2VsX19oZWFkZXJfX2J1dHRvbi10cmFuc2l0aW9uLWJhY2tncm91bmQtY29sb3ItbWV0aG9kOiBlYXNlICFkZWZhdWx0O1xuXG4kaGFuZG9yZ2VsX19jb250ZW50LXRyYW5zaXRpb246IGhlaWdodCAkaGFuZG9yZ2VsX19jb250ZW50LXRyYW5zaXRpb24taGVpZ2h0LXRpbWVcbiAgJGhhbmRvcmdlbF9fY29udGVudC10cmFuc2l0aW9uLWhlaWdodC1tZXRob2QgJGhhbmRvcmdlbF9fY29udGVudC10cmFuc2l0aW9uLWhlaWdodC1kZWxheSAhZGVmYXVsdDtcblxuJGhhbmRvcmdlbF9faGVhZGVyX19idXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvclxuICAkaGFuZG9yZ2VsX19oZWFkZXJfX2J1dHRvbi10cmFuc2l0aW9uLWJhY2tncm91bmQtY29sb3ItdGltZVxuICAkaGFuZG9yZ2VsX19oZWFkZXJfX2J1dHRvbi10cmFuc2l0aW9uLWJhY2tncm91bmQtY29sb3ItbWV0aG9kICFkZWZhdWx0O1xuXG4kaGFuZG9yZ2VsX19jb250ZW50X19pbm5lci10cmFuc2l0aW9uOiBvcGFjaXR5ICRoYW5kb3JnZWxfX2NvbnRlbnQtdHJhbnNpdGlvbi1vcGFjaXR5LXRpbWVcbiAgJGhhbmRvcmdlbF9fY29udGVudC10cmFuc2l0aW9uLW9wYWNpdHktbWV0aG9kICFkZWZhdWx0O1xuXG4vLyBWYXJpYWJsZXMgZm9yIG9wZW5pbmcgdHJhbnNpdGlvblxuXG4kaGFuZG9yZ2VsX19jb250ZW50LS1vcGVuLXRyYW5zaXRpb24taGVpZ2h0LXRpbWU6IDAuMnMgIWRlZmF1bHQ7XG4kaGFuZG9yZ2VsX19jb250ZW50LS1vcGVuLXRyYW5zaXRpb24taGVpZ2h0LW1ldGhvZDogZWFzZSAhZGVmYXVsdDtcblxuJGhhbmRvcmdlbF9fY29udGVudC0tb3Blbi10cmFuc2l0aW9uLW9wYWNpdHktdGltZTogMC4zcyAhZGVmYXVsdDtcbiRoYW5kb3JnZWxfX2NvbnRlbnQtLW9wZW4tdHJhbnNpdGlvbi1vcGFjaXR5LW1ldGhvZDogZWFzZSAhZGVmYXVsdDtcblxuJGhhbmRvcmdlbF9fY29udGVudC0tb3Blbi10cmFuc2l0aW9uOiBoZWlnaHQgJGhhbmRvcmdlbF9fY29udGVudC0tb3Blbi10cmFuc2l0aW9uLWhlaWdodC10aW1lXG4gICRoYW5kb3JnZWxfX2NvbnRlbnQtLW9wZW4tdHJhbnNpdGlvbi1oZWlnaHQtbWV0aG9kICFkZWZhdWx0O1xuXG4kaGFuZG9yZ2VsX19jb250ZW50LS1vcGVuZWRfX2lubmVyLXRyYW5zaXRpb246IG9wYWNpdHlcbiAgJGhhbmRvcmdlbF9fY29udGVudC0tb3Blbi10cmFuc2l0aW9uLW9wYWNpdHktdGltZVxuICAkaGFuZG9yZ2VsX19jb250ZW50LS1vcGVuLXRyYW5zaXRpb24tb3BhY2l0eS1tZXRob2QgIWRlZmF1bHQ7XG5cbi5oYW5kb3JnZWwge1xuICAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6ICRoYW5kb3JnZWwtYm9yZGVyLXdpZHRoIHNvbGlkICRoYW5kb3JnZWwtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2hlYWRlci0tb3BlbiAmX19oZWFkZXJfX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbmRvcmdlbF9faGVhZGVyLS1vcGVuX19idXR0b24tYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuXG4gICZfX2hlYWRlci0tZm9jdXMgJl9faGVhZGVyX19idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW5kb3JnZWxfX2hlYWRlci0tZm9jdXNfX2J1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmX19oZWFkZXJfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogJGhhbmRvcmdlbF9faGVhZGVyX19idXR0b24tcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6ICRoYW5kb3JnZWwtYm9yZGVyLXdpZHRoIHNvbGlkICRoYW5kb3JnZWwtYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW5kb3JnZWxfX2hlYWRlcl9fYnV0dG9uLWJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogJGhhbmRvcmdlbF9faGVhZGVyX19idXR0b24tdHJhbnNpdGlvbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogJGhhbmRvcmdlbC1ib3JkZXItd2lkdGggc29saWQgJGhhbmRvcmdlbC1ib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbmRvcmdlbF9fY29udGVudC1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRoYW5kb3JnZWxfX2NvbnRlbnQtdHJhbnNpdGlvbjtcblxuICAgICYtLW9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2l0aW9uOiAkaGFuZG9yZ2VsX19jb250ZW50LS1vcGVuLXRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgJi0tb3BlbmVkIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnRfX2lubmVyIHtcbiAgICBwYWRkaW5nOiAkaGFuZG9yZ2VsX19jb250ZW50X19pbm5lci1wYWRkaW5nO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogJGhhbmRvcmdlbF9fY29udGVudF9faW5uZXItdHJhbnNpdGlvbjtcbiAgfVxuXG4gICZfX2NvbnRlbnQtLW9wZW5lZCAmX19jb250ZW50X19pbm5lciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiAkaGFuZG9yZ2VsX19jb250ZW50LS1vcGVuZWRfX2lubmVyLXRyYW5zaXRpb247XG4gIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogSGFuZG9yZ2VsIChodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9oYW5kb3JnZWwpXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIFZlbmRvclxuXG5AdXNlIFwiaGFuZG9yZ2VsL3NyYy9zY3NzL3N0eWxlXCI7XG5cbi8vIEN1c3RvbVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBpZnJhbWVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmlmcmFtZV9fY29udGFpbmVyIHtcbiAgICAmIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgID4gLmlmcmFtZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTG9nb1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubG9nbyB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICB9XG59XG5cbi5sb2dvX19pbWFnZSB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1lbnUgTGlzdFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09IEdMT0JBTCBWQVJJQU5UUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1lbnUtbGlzdF9fY29udGFpbmVyIHtcbiAgICAmIHtcbiAgICAgICAgY2xlYXI6IGZpeDtcbiAgICB9XG59XG5cbi5tZW51LWxpc3Qge1xuICAgICYge1xuICAgICAgICBjbGVhcjogZml4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbi5tZW51LWxpc3RfX2l0ZW0ge1xuICAgICYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLm1lbnUtbGlzdF9fbGluayB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudG9nZ2xlX19pY29uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2l0ZW0uaXMtYWN0aXZlID4gJiAudG9nZ2xlX19pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgfVxufVxuXG4vKiBhY2NvcmRpb24gdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1hY2NvcmRpb24ge1xuICAgIC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X19pdGVtLS1wYXJlbnQgPiAubWVudS1saXN0X19saW5rIHtcbiAgICAgICAgZmxleDogMSAxIDAlO1xuICAgIH1cbn1cblxuLyogY2hpbGQgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1jaGlsZCB7XG4gICAgJiB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxufVxuXG4vKiBjaGlsZCBhY2NvcmRpb24gdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLWFjY29yZGlvbiB7XG4gICAgJiB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMTVzLCB2aXNpYmlsaXR5IDBzIDAuMTVzICFpbXBvcnRhbnQ7IC8vIEBOT1RFICFpbXBvcnRhbnQgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgdHJhbnNpdGlvbi10by1mcm9tLWF1dG8gaW5saW5lIHN0eWxlXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X19pdGVtLS1wYXJlbnQuaXMtYWN0aXZlID4gJiB7XG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjE1cyAhaW1wb3J0YW50OyAvLyBATk9URSAhaW1wb3J0YW50IHJlcXVpcmVkIHRvIG92ZXJyaWRlIHRyYW5zaXRpb24tdG8tZnJvbS1hdXRvIGlubGluZSBzdHlsZVxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbn1cblxuLyogY2hpbGQgb3ZlcmxheSB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheSB7XG4gICAgJiB7XG4gICAgICAgIGxlZnQ6IC05OTllbTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC05OTllbTtcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwcyAwLjE1cywgb3BhY2l0eSAwLjE1cywgdG9wIDBzIDAuMTVzLCB2aXNpYmlsaXR5IDBzIDAuMTVzO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50OmhvdmVyID4gJixcbiAgICAubWVudS1saXN0X19pdGVtLS1wYXJlbnQuaXMtYWN0aXZlID4gJiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBtdXN0IGJlIHNlcGFyYXRlIGZyb20gdGhlIGFib3ZlIHJ1bGVzIGZvciBmYWxsYmFjayByZWFzb25zXG5cbiAgICAubm8tamF2YXNjcmlwdCAubWVudS1saXN0X19pdGVtLS1wYXJlbnQ6Zm9jdXMtd2l0aGluID4gJiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG59XG5cbi8qIGNoaWxkIG92ZXJsYXkgZGVwdGggMiB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLWRlcHRoLTIge1xuICAgIC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpob3ZlciA+ICYsXG4gICAgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50LmlzLWFjdGl2ZSA+ICYge1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgLy8gbXVzdCBiZSBzZXBhcmF0ZSBmcm9tIHRoZSBhYm92ZSBydWxlcyBmb3IgZmFsbGJhY2sgcmVhc29uc1xuXG4gICAgLm5vLWphdmFzY3JpcHQgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50OmZvY3VzLXdpdGhpbiA+ICYge1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG4vKiBjaGlsZCBvdmVybGF5IHJldmVyc2UgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkubWVudS1saXN0LS1yZXZlcnNlIHtcbiAgICAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDk5OWVtO1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwcyAwLjE1cywgb3BhY2l0eSAwLjE1cywgdG9wIDBzIDAuMTVzLCB2aXNpYmlsaXR5IDBzIDAuMTVzO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpob3ZlciA+ICYsXG4gICAgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50LmlzLWFjdGl2ZSA+ICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgICB9XG5cbiAgICAvLyBtdXN0IGJlIHNlcGFyYXRlIGZyb20gdGhlIGFib3ZlIHJ1bGVzZXQgZm9yIGZhbGxiYWNrIHJlYXNvbnNcblxuICAgIC5uby1qYXZhc2NyaXB0IC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpmb2N1cy13aXRoaW4gPiAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgfVxufVxuXG4vKiBjaGlsZCBvdmVybGF5IHJldmVyc2UgZGVwdGggMiB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tb3ZlcmxheS5tZW51LWxpc3QtLXJldmVyc2UubWVudS1saXN0LS1kZXB0aC0yIHtcbiAgICAubWVudS1saXN0X19pdGVtLS1wYXJlbnQ6aG92ZXIgPiAmLFxuICAgIC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudC5pcy1hY3RpdmUgPiAmIHtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAvLyBtdXN0IGJlIHNlcGFyYXRlIGZyb20gdGhlIGFib3ZlIHJ1bGVzZXQgZm9yIGZhbGxiYWNrIHJlYXNvbnNcblxuICAgIC5uby1qYXZhc2NyaXB0IC5tZW51LWxpc3RfX2l0ZW0tLXBhcmVudDpmb2N1cy13aXRoaW4gPiAmIHtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi8qIGZsZXggdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1mbGV4IHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmOm5vdCgubWVudS1saXN0LS1qdXN0aWZ5LWJldHdlZW4pIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICA+IC5tZW51LWxpc3RfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAxIDEgMCU7XG4gICAgfVxuXG4gICAgJjpub3QoLm1lbnUtbGlzdC0tanVzdGlmeS1iZXR3ZWVuKTpub3QoLm1lbnUtbGlzdC0tanVzdGlmeS1jZW50ZXIpID4gLm1lbnUtbGlzdF9faXRlbSB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG59XG5cbi8qIGZsZXggc3RhcnQgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1qdXN0aWZ5LXN0YXJ0IHtcbiAgICAmIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgID4gLm1lbnUtbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbn1cblxuLyogZmxleCBjZW50ZXIgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1qdXN0aWZ5LWNlbnRlciB7XG4gICAgJiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgID4gLm1lbnUtbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbn1cblxuLyogZmxleCBlbmQgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1qdXN0aWZ5LWVuZCB7XG4gICAgJiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgPiAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxufVxuXG4vKiBmbGV4IGJldHdlZW4gdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1qdXN0aWZ5LWJldHdlZW4ge1xuICAgICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgPiAubWVudS1saXN0X19pdGVtIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxufVxuXG4vKiB2ZXJ0aWNhbCB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLXZlcnRpY2FsIHtcbiAgICA+IC5tZW51LWxpc3RfX2l0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT0gQ1VTVE9NIFZBUklBTlRTID09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBpY29ucyB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLWljb25zIHtcbiAgICAmIHtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMjApO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2xpbmsge1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoOCwgMjApO1xuICAgIH1cbn1cblxuLyogbWV0YSB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLW1ldGEge1xuICAgICYge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJmb3JlZ3JvdW5kXCIsIFwidGludFwiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE0LCAxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAxNCwgMTQpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDIwLCAxNCk7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9fbGluayB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImZvcmVncm91bmRcIiwgXCJ0aW50XCIpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9fbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImZvcmVncm91bmRcIiwgXCJ0aW50XCIpO1xuICAgIH1cbn1cblxuLyogbmF2aWdhdGlvbiB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLW5hdmlnYXRpb24ge1xuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTgsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgyMiwgMTgpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2l0ZW0ge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2xpbmssXG4gICAgLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKFwiZm9yZWdyb3VuZFwiKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbWlmeSgxMSAxMy41IDcsIDE4KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC4xNXM7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZShjb2xvcihcImxpZ2h0XCIpLCAwLjgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjE1cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgID4gLm1lbnUtbGlzdF9faXRlbS5pcy1hY3RpdmUsXG4gICAgPiAubWVudS1saXN0X19pdGVtOmZvY3VzLXdpdGhpbixcbiAgICA+IC5tZW51LWxpc3RfX2l0ZW06aG92ZXIge1xuICAgICAgICA+IC5tZW51LWxpc3RfX2xpbmssXG4gICAgICAgID4gLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihcImFjY2VudFwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIGNoaWxkICovXG5cbiAgICAubWVudS1saXN0LS1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKGNvbG9yKFwiYWNjZW50XCIsIFwidGludFwiKSwgMC4xKTtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDIwKTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0LS1jaGlsZC5tZW51LWxpc3QtLW92ZXJsYXkge1xuICAgICAgICBtaW4td2lkdGg6IHJlbWlmeSgyNTAsIDE2KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X19pdGVtLmlzLWFjdGl2ZSxcbiAgICAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X19pdGVtOmZvY3VzLXdpdGhpbixcbiAgICAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X19pdGVtOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoY29sb3IoXCJsaWdodFwiKSwgMC44KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X19saW5rLFxuICAgIC5tZW51LWxpc3QtLWNoaWxkIC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDQgMTYsIDE2KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0LS1jaGlsZCA+IC5tZW51LWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQgPiAubWVudS1saXN0X19saW5rLFxuICAgIC5tZW51LWxpc3QtLWNoaWxkID4gLm1lbnUtbGlzdF9faXRlbTpmaXJzdC1jaGlsZCA+IC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW1pZnkoOCwgMTYpO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3QtLWNoaWxkID4gLm1lbnUtbGlzdF9faXRlbTpsYXN0LWNoaWxkID4gLm1lbnUtbGlzdF9fbGluayxcbiAgICAubWVudS1saXN0LS1jaGlsZCA+IC5tZW51LWxpc3RfX2l0ZW06bGFzdC1jaGlsZCA+IC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW1pZnkoOCwgMTYpO1xuICAgIH1cblxuICAgIC8qIGNoaWxkIGRlcHRoIDIgKi9cblxuICAgIC5tZW51LWxpc3QtLWNoaWxkLm1lbnUtbGlzdC0tZGVwdGgtMiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnRpemUoY29sb3IoXCJsaWdodFwiKSwgMC44KSAwJSwgdHJhbnNwYXJlbnRpemUoY29sb3IoXCJsaWdodFwiKSwgMC44KSAxMDAlKTtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE2KTtcbiAgICB9XG5cbiAgICAvLyBsaW5lIHVwIHRoZSBmbHlvdXQgd2l0aCBpdHMgcGFyZW50XG4gICAgLm1lbnUtbGlzdF9faXRlbS0tcGFyZW50Om5vdCg6Zmlyc3QtY2hpbGQpID4gLm1lbnUtbGlzdC0tY2hpbGQubWVudS1saXN0LS1kZXB0aC0yLm1lbnUtbGlzdC0tb3ZlcmxheSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgje3JlbWlmeSgtNCwgMjApfSk7XG4gICAgfVxuXG4gICAgLyogdmVydGljYWwgKi9cblxuICAgICYubWVudS1saXN0LS12ZXJ0aWNhbCAubWVudS1saXN0X19saW5rLFxuICAgICYubWVudS1saXN0LS12ZXJ0aWNhbCAubWVudS1saXN0X190b2dnbGUge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLyogYWNjb3JkaW9ucyAqL1xuXG4gICAgJi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDIwLCAyMCk7XG4gICAgfVxuXG4gICAgJi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImFjY2VudFwiLCBcInNoYWRlXCIpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgxKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkIC5tZW51LWxpc3RfX2xpbmssXG4gICAgJi5tZW51LWxpc3QtLWFjY29yZGlvbiAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X190b2dnbGUge1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoOCAxNiwgMjApO1xuICAgIH1cblxuICAgICYubWVudS1saXN0LS1hY2NvcmRpb24gLm1lbnUtbGlzdC0tY2hpbGQgPiAubWVudS1saXN0X19pdGVtOmZpcnN0LWNoaWxkID4gLm1lbnUtbGlzdF9fbGluayxcbiAgICAmLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkID4gLm1lbnUtbGlzdF9faXRlbTpmaXJzdC1jaGlsZCA+IC5tZW51LWxpc3RfX3RvZ2dsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW1pZnkoMTYsIDIwKTtcbiAgICB9XG5cbiAgICAmLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkID4gLm1lbnUtbGlzdF9faXRlbTpsYXN0LWNoaWxkID4gLm1lbnUtbGlzdF9fbGluayxcbiAgICAmLm1lbnUtbGlzdC0tYWNjb3JkaW9uIC5tZW51LWxpc3QtLWNoaWxkID4gLm1lbnUtbGlzdF9faXRlbTpsYXN0LWNoaWxkID4gLm1lbnUtbGlzdF9fdG9nZ2xlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgxNiwgMjApO1xuICAgIH1cbn1cblxuLyogcGFnaW5hdGlvbiB2YXJpYW50ICovXG5cbi5tZW51LWxpc3QtLXBhZ2luYXRpb24ge1xuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTQsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAubWVudS1saXN0X19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbWlmeSg4LCAxNCk7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9fbGluay0tY3VycmVudCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImZvcmVncm91bmRcIik7XG4gICAgICAgIGN1cnNvcjogYXV0bztcbiAgICB9XG59XG5cbi8qIHN1Ym1lbnUgdmFyaWFudCAqL1xuXG4ubWVudS1saXN0LS1zdWJtZW51IHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMjMsIDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgzNCwgMjMpO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAxLjIpICgkY29udGVudC1wYWRkaW5nICogMS42KSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdF9fbGluayB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImFjY2VudFwiKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDUgMCwgMjMpO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3RfX2xpbms6Zm9jdXMsXG4gICAgLm1lbnUtbGlzdF9fbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImFjY2VudFwiLCBcInRpbnRcIik7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC0tY2hpbGQge1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxOCwgMjMpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDI2LCAxOCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3QtLWNoaWxkID4gLm1lbnUtbGlzdF9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtaWZ5KDEpIHNvbGlkIGNvbG9yKFwiYWNjZW50XCIpO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3QtLWNoaWxkIC5tZW51LWxpc3RfX2xpbmsge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDE0IDAgMTAsIDE4KTtcbiAgICB9XG5cbiAgICAubWVudS1saXN0LS1jaGlsZCAubWVudS1saXN0X19saW5rOmZvY3VzLFxuICAgIC5tZW51LWxpc3QtLWNoaWxkIC5tZW51LWxpc3RfX2xpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJhY2NlbnRcIiwgXCJ0aW50XCIpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTmluamEgRm9ybXNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAqL1xuXG4vLyBob25leXBvdCBmaWVsZCBmaXhcblxuLm5mLWZvcm0taHAge1xuICAgICYge1xuICAgICAgICBsZWZ0OiAtOTk5ZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtOTk5ZW07XG4gICAgfVxufVxuXG4vLyBkYXRlIGZpZWxkIGZpeFxuXG4ubmYtZmllbGQtY29udGFpbmVyIHtcbiAgICAucGlrYWRheV9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4vLyBsaXN0IGZpZWxkIGZpeFxuXG4ubmYtZmllbGQtY29udGFpbmVyIHtcbiAgICAubGlzdC1jaGVja2JveCxcbiAgICAubGlzdC1yYWRpbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi8vIGxhYmVsIGFsaWdubWVudFxuXG4ubmYtZmllbGQtY29udGFpbmVyIHtcbiAgICAvLyBjb21iaW5lZFxuXG4gICAgJi5sYWJlbC1hYm92ZSAuZmllbGQtd3JhcCxcbiAgICAmLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwLFxuICAgICYubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAsXG4gICAgJi5sYWJlbC1sZWZ0IC5maWVsZC13cmFwIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJi5sYWJlbC1yaWdodCAuZmllbGQtd3JhcCAubmYtZmllbGQtbGFiZWwsXG4gICAgJi5sYWJlbC1sZWZ0IC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5sYWJlbC1hYm92ZSAuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudCxcbiAgICAmLmxhYmVsLWJlbG93IC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5sYWJlbC1yaWdodCAuZmllbGQtd3JhcCAubmYtZmllbGQtZWxlbWVudCxcbiAgICAmLmxhYmVsLWxlZnQgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAmLmxhYmVsLXJpZ2h0IC5jaGVja2JveC13cmFwIC5uZi1maWVsZC1lbGVtZW50LFxuICAgICYubGFiZWwtbGVmdCAuY2hlY2tib3gtd3JhcCAubmYtZmllbGQtZWxlbWVudCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gYWJvdmVcblxuICAgICYubGFiZWwtYWJvdmUgLmZpZWxkLXdyYXAge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC8vIGJlbG93XG5cbiAgICAmLmxhYmVsLWJlbG93IC5maWVsZC13cmFwIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmLmxhYmVsLWJlbG93IC5maWVsZC13cmFwIC5uZi1maWVsZC1sYWJlbCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgICYubGFiZWwtYmVsb3cgLmZpZWxkLXdyYXAgLm5mLWZpZWxkLWVsZW1lbnQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAvLyByaWdodFxuXG4gICAgJi5sYWJlbC1yaWdodCAuZmllbGQtd3JhcCAubmYtZmllbGQtbGFiZWwge1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAmLmxhYmVsLXJpZ2h0IC5maWVsZC13cmFwIC5uZi1maWVsZC1lbGVtZW50IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgLy8gaGlkZGVuXG5cbiAgICAmLmxhYmVsLWhpZGRlbiAuZmllbGQtd3JhcCAubmYtZmllbGQtbGFiZWwge1xuICAgICAgICBsZWZ0OiAtOTk5ZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtOTk5ZW07XG4gICAgfVxufVxuXG4vLyByZUNBUFRDSEEgbGF5ZXJpbmcgZml4XG5cbi5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgICAmIHtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgIH1cbn1cblxuLy8gY29sdW1uIGVkZ2UgYWxpZ25tZW50IGZpeFxuXG4ubmYtcm93IHtcbiAgICAubmYtaGFzLWNvbHVtbnMgJiB7XG4gICAgICAgIG1hcmdpbjogMCAtNXB4O1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogT3BpbmlvbmF0ZWQgVHdlYWtzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5uZi1mb3JtLWNvbnQge1xuICAgIC5pcy1vZmZsaW5lICYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmlzLW9mZmxpbmUgJjo6YmVmb3JlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoY29sb3IoXCJiYWNrZ3JvdW5kXCIpLCAwLjI1KTtcbiAgICAgICAgY29udGVudDogXCJTb3JyeSwgaXQgbG9va3MgbGlrZSB5b3VcXCdyZSBvZmZsaW5lLiBQbGVhc2UgcmVjb25uZWN0IHRvIHRoZSBpbnRlcm5ldCB0byB1c2UgdGhpcyBmb3JtLlwiO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMjAsIDE2KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcsIDIwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vLyByZXF1aXJlZCBpbmRpY2F0b3IgZml4XG5cbi5uaW5qYS1mb3Jtcy1yZXEtc3ltYm9sIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwiZXJyb3JcIik7XG4gICAgfVxufVxuXG4vLyBoZWxwIHRvb2x0aXAgZml4XG5cbi5uaW5qYS1mb3Jtcy1oZWxwLXN5bWJvbCB7XG4gICAgJiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLm5pbmphLWZvcm1zLWhlbHAtdG9vbHRpcCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiZGFya1wiLCBcInRpbnRcIik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbWlmeSg2LCAxNCk7XG4gICAgICAgIGJvdHRvbTogMTMwJTtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTQsIDE2KTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoMTAsIDE0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIHRyYW5zZm9ybSAwLjE1cztcbiAgICAgICAgd2lkdGg6IHJlbWlmeSgyMDAsIDE0KTtcbiAgICB9XG5cbiAgICAubmluamEtZm9ybXMtaGVscC1zeW1ib2wuaXMtYWN0aXZlICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdDogcmVtaWZ5KDYsIDE2KSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiByZW1pZnkoNiwgMTYpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiByZW1pZnkoNiwgMTYpIHNvbGlkIGNvbG9yKFwiZGFya1wiLCBcInRpbnRcIik7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG5cbiAgICAubmluamEtZm9ybXMtdXNlci1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBsaXN0IGZpZWxkIGZpeFxuXG4ubmYtZmllbGQtY29udGFpbmVyIHtcbiAgICAubGlzdC1jaGVja2JveCxcbiAgICAubGlzdC1yYWRpbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg0LCAxNik7XG4gICAgfVxuXG4gICAgLmxpc3QtY2hlY2tib3ggLmlucHV0LS10b2dnbGUsXG4gICAgLmxpc3QtcmFkaW8gLmlucHV0LS10b2dnbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoNCwgMTYpO1xuICAgIH1cblxuICAgIC5saXN0LWNoZWNrYm94IC50ZXh0LS1sYWJlbCxcbiAgICAubGlzdC1yYWRpbyAudGV4dC0tbGFiZWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW1pZnkoNCwgMTYpO1xuICAgIH1cbn1cblxuLy8gc3RhcnMgZmllbGQgZml4XG5cbi5uZi1maWVsZC1jb250YWluZXIge1xuICAgIC5zdGFycyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyNCwgMTYpO1xuICAgIH1cbn1cblxuLy8gZXJyb3IgZml4XG5cbi5uZi1lcnJvci1tc2cge1xuICAgICYge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJlcnJvclwiLCBcInRpbnRcIik7XG4gICAgfVxufVxuXG4ubmYtZXJyb3IgLmlucHV0IHtcbiAgICAmIHtcbiAgICAgICAgQGV4dGVuZCAuaW5wdXQtLWVycm9yICFvcHRpb25hbDtcbiAgICB9XG59XG5cbi8vIHN1Y2Nlc3MgZml4XG5cbi5uZi1wYXNzIC5pbnB1dCB7XG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgLmlucHV0LS1zdWNjZXNzICFvcHRpb25hbDtcbiAgICB9XG59XG5cbi8vIHJlQ0FQVENIQSBmaXhcblxuLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgLmctcmVjYXB0Y2hhOm5vdChbZGF0YS1zaXplPVwiaW52aXNpYmxlXCJdKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyNCwgMTYpO1xuICAgIH1cbn1cblxuLy8gbGFiZWwgZGlzcGxheVxuXG4ubmYtZmllbGQtY29udGFpbmVyIHtcbiAgICAudGV4dC0tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4vLyBsYWJlbCBhbGlnbm1lbnRcblxuLm5mLWZpZWxkLWNvbnRhaW5lciB7XG4gICAgLy8gYWJvdmVcblxuICAgICYubGFiZWwtYWJvdmUgLm5mLWZpZWxkLWxhYmVsID4gLnRleHQtLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDQsIDE2KTtcbiAgICB9XG5cbiAgICAvLyBiZWxvd1xuXG4gICAgJi5sYWJlbC1iZWxvdyAubmYtZmllbGQtbGFiZWwgPiAudGV4dC0tbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW1pZnkoNCwgMTYpO1xuICAgIH1cblxuICAgICYubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWVsZW1lbnQgLmlucHV0LFxuICAgICYubGFiZWwtYmVsb3cgLm5mLWZpZWxkLWVsZW1lbnQgLnN0YXJzLFxuICAgICYubGFiZWwtYmVsb3cgLmxpc3QtY2hlY2tib3gsXG4gICAgJi5sYWJlbC1iZWxvdyAubGlzdC1yYWRpbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgIH1cblxuICAgIC8vIGxlZnRcblxuICAgICYubGFiZWwtbGVmdCAubmYtZmllbGQtbGFiZWwgPiAudGV4dC0tbGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbWlmeSgxMCwgMTYpO1xuICAgIH1cblxuICAgIC8vIHJpZ2h0XG5cbiAgICAmLmxhYmVsLXJpZ2h0IC5uZi1maWVsZC1sYWJlbCA+IC50ZXh0LS1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW1pZnkoMTAsIDE2KTtcbiAgICB9XG5cbiAgICAvLyBjaGVja2JveC9yYWRpbyBsaXN0c1xuXG4gICAgJi5saXN0Y2hlY2tib3gtY29udGFpbmVyIC5pbnB1dC0tdG9nZ2xlLFxuICAgICYubGlzdHJhZGlvLWNvbnRhaW5lciAuaW5wdXQtLXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtaWZ5KDYsIDE2KTtcbiAgICB9XG59XG4iLCIkbm90eS1wcmltYXJ5LWNvbG9yOiAjMzMzO1xuJG5vdHktZGVmYXVsdC13aWR0aDogMzI1cHg7XG4kbm90eS1jb3JuZXItc3BhY2U6IDIwcHg7XG5cbi5ub3R5X2xheW91dF9taXhpbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkgc2NhbGUoMS4wLCAxLjApO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICBmaWx0ZXI6IGJsdXIoMCk7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDApO1xuICBtYXgtd2lkdGg6IDkwJTtcbn1cblxuI25vdHlfbGF5b3V0X190b3Age1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1JTtcbiAgd2lkdGg6IDkwJTtcbn1cblxuI25vdHlfbGF5b3V0X190b3BMZWZ0IHtcbiAgQGV4dGVuZCAubm90eV9sYXlvdXRfbWl4aW47XG4gIHRvcDogJG5vdHktY29ybmVyLXNwYWNlO1xuICBsZWZ0OiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xufVxuXG4jbm90eV9sYXlvdXRfX3RvcENlbnRlciB7XG4gIEBleHRlbmQgLm5vdHlfbGF5b3V0X21peGluO1xuICB0b3A6IDUlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC01MCUgLSAuNXB4KSkgdHJhbnNsYXRlWigwKSBzY2FsZSgxLjAsIDEuMCk7XG59XG5cbiNub3R5X2xheW91dF9fdG9wUmlnaHQge1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgdG9wOiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIHJpZ2h0OiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xufVxuXG4jbm90eV9sYXlvdXRfX2JvdHRvbSB7XG4gIEBleHRlbmQgLm5vdHlfbGF5b3V0X21peGluO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUlO1xuICB3aWR0aDogOTAlO1xufVxuXG4jbm90eV9sYXlvdXRfX2JvdHRvbUxlZnQge1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgYm90dG9tOiAkbm90eS1jb3JuZXItc3BhY2U7XG4gIGxlZnQ6ICRub3R5LWNvcm5lci1zcGFjZTtcbiAgd2lkdGg6ICRub3R5LWRlZmF1bHQtd2lkdGg7XG59XG5cbiNub3R5X2xheW91dF9fYm90dG9tQ2VudGVyIHtcbiAgQGV4dGVuZCAubm90eV9sYXlvdXRfbWl4aW47XG4gIGJvdHRvbTogNSU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6ICRub3R5LWRlZmF1bHQtd2lkdGg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTUwJSAtIC41cHgpKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEuMCwgMS4wKTtcbn1cblxuI25vdHlfbGF5b3V0X19ib3R0b21SaWdodCB7XG4gIEBleHRlbmQgLm5vdHlfbGF5b3V0X21peGluO1xuICBib3R0b206ICRub3R5LWNvcm5lci1zcGFjZTtcbiAgcmlnaHQ6ICRub3R5LWNvcm5lci1zcGFjZTtcbiAgd2lkdGg6ICRub3R5LWRlZmF1bHQtd2lkdGg7XG59XG5cbiNub3R5X2xheW91dF9fY2VudGVyIHtcbiAgQGV4dGVuZCAubm90eV9sYXlvdXRfbWl4aW47XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAkbm90eS1kZWZhdWx0LXdpZHRoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC01MCUgLSAuNXB4KSwgY2FsYygtNTAlIC0gLjVweCkpIHRyYW5zbGF0ZVooMCkgc2NhbGUoMS4wLCAxLjApO1xufVxuXG4jbm90eV9sYXlvdXRfX2NlbnRlckxlZnQge1xuICBAZXh0ZW5kIC5ub3R5X2xheW91dF9taXhpbjtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6ICRub3R5LWNvcm5lci1zcGFjZTtcbiAgd2lkdGg6ICRub3R5LWRlZmF1bHQtd2lkdGg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIGNhbGMoLTUwJSAtIC41cHgpKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEuMCwgMS4wKTtcbn1cblxuI25vdHlfbGF5b3V0X19jZW50ZXJSaWdodCB7XG4gIEBleHRlbmQgLm5vdHlfbGF5b3V0X21peGluO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6ICRub3R5LWNvcm5lci1zcGFjZTtcbiAgd2lkdGg6ICRub3R5LWRlZmF1bHQtd2lkdGg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIGNhbGMoLTUwJSAtIC41cHgpKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEsIDEpO1xufVxuXG4ubm90eV9wcm9ncmVzc2JhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ub3R5X2hhc190aW1lb3V0Lm5vdHlfaGFzX3Byb2dyZXNzYmFyIC5ub3R5X3Byb2dyZXNzYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDY0NjQ7XG4gIG9wYWNpdHk6IDAuMjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwKVxufVxuXG4ubm90eV9iYXIge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSB0cmFuc2xhdGVaKDApIHNjYWxlKDEuMCwgMS4wKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMS4wLCAxLjApO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm5vdHlfZWZmZWN0c19vcGVuIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlKTtcbiAgYW5pbWF0aW9uOiBub3R5X2FuaW1faW4gLjVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbn1cblxuLm5vdHlfZWZmZWN0c19jbG9zZSB7XG4gIGFuaW1hdGlvbjogbm90eV9hbmltX291dCAuNXMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xufVxuXG4ubm90eV9maXhfZWZmZWN0c19oZWlnaHQge1xuICBhbmltYXRpb246IG5vdHlfYW5pbV9oZWlnaHQgNzVtcyBlYXNlLW91dDtcbn1cblxuLm5vdHlfY2xvc2Vfd2l0aF9jbGljayB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm5vdHlfY2xvc2VfYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjA1KTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7XG59XG5cbi5ub3R5X2Nsb3NlX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjEpO1xufVxuXG4ubm90eV9tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgei1pbmRleDogMTAwMDA7XG4gIG9wYWNpdHk6IC4zO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5ub3R5X21vZGFsLm5vdHlfbW9kYWxfb3BlbiB7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogbm90eV9tb2RhbF9pbiAuM3MgZWFzZS1vdXQ7XG59XG4ubm90eV9tb2RhbC5ub3R5X21vZGFsX2Nsb3NlIHtcbiAgYW5pbWF0aW9uOiBub3R5X21vZGFsX291dCAuM3MgZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIG5vdHlfbW9kYWxfaW4ge1xuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAuMztcbiAgfVxufVxuQGtleWZyYW1lcyBub3R5X21vZGFsX291dCB7XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBub3R5X21vZGFsX291dCB7XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBub3R5X2FuaW1faW4ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbm90eV9hbmltX291dCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG5vdHlfYW5pbV9oZWlnaHQge1xuICAxMDAlIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbn1cblxuLy9AaW1wb3J0IFwidGhlbWVzL3JlbGF4XCI7XG4vL0BpbXBvcnQgXCJ0aGVtZXMvbWV0cm91aVwiO1xuLy9AaW1wb3J0IFwidGhlbWVzL21pbnRcIjtcbi8vQGltcG9ydCBcInRoZW1lcy9zdW5zZXRcIjtcbi8vQGltcG9ydCBcInRoZW1lcy9ib290c3RyYXAtdjNcIjtcbi8vQGltcG9ydCBcInRoZW1lcy9ib290c3RyYXAtdjRcIjtcbi8vQGltcG9ydCBcInRoZW1lcy9zZW1hbnRpY3VpXCI7XG4vL0BpbXBvcnQgXCJ0aGVtZXMvbmVzdFwiO1xuLy9AaW1wb3J0IFwidGhlbWVzL2xpZ2h0XCI7XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE5vdHkgKGh0dHBzOi8vbmVkLmltL25vdHkvIy8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cblxuLy8gVmVuZG9yXG5cbkB1c2UgXCJub3R5L3NyYy9ub3R5XCI7XG5cbi8vIEN1c3RvbVxuXG4ubm90eV9iYXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImVycm9yXCIpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1pZnkoMiwgMTYpO1xuICAgICAgICBib3gtc2hhZG93OiByZW1pZnkoMCAyIDUgMCwgMTYpIHRyYW5zcGFyZW50aXplKGNvbG9yKFwiZGFya1wiKSwgMC43NSk7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDUgMCwgMTYpO1xuICAgIH1cblxuICAgIC5ub3R5X2JvZHkge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMjQsIDE2KTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDE2IDI0LCAxNik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBQYW5lbCBUb2dnbGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnBhbmVsLXRvZ2dsZSB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwicHJpbWFyeVwiKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgyNCwgMTYpO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSg0OCwgMjQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSg0OCwgMjQpO1xuICAgIH1cbn1cbiIsIi8qISBQaG90b1N3aXBlIG1haW4gQ1NTIGJ5IERtaXRyeSBTZW1lbm92IHwgcGhvdG9zd2lwZS5jb20gfCBNSVQgbGljZW5zZSAqL1xuLypcblx0U3R5bGVzIGZvciBiYXNpYyBQaG90b1N3aXBlIGZ1bmN0aW9uYWxpdHkgKHNsaWRpbmcgYXJlYSwgb3Blbi9jbG9zZSB0cmFuc2l0aW9ucylcbiovXG4vKiBwc3dwID0gcGhvdG9zd2lwZSAqL1xuLnBzd3Age1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICB6LWluZGV4OiAxNTAwO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIGNyZWF0ZSBzZXBhcmF0ZSBsYXllciwgdG8gYXZvaWQgcGFpbnQgb24gd2luZG93Lm9uc2Nyb2xsIGluIHdlYmtpdC9ibGluayAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAucHN3cCAqIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5wc3dwIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qIHN0eWxlIGlzIGFkZGVkIHdoZW4gSlMgb3B0aW9uIHNob3dIaWRlT3BhY2l0eSBpcyBzZXQgdG8gdHJ1ZSAqL1xuLnBzd3AtLWFuaW1hdGVfb3BhY2l0eSB7XG4gIC8qIDAuMDAxLCBiZWNhdXNlIG9wYWNpdHk6MCBkb2Vzbid0IHRyaWdnZXIgUGFpbnQgYWN0aW9uLCB3aGljaCBjYXVzZXMgbGFnIGF0IHN0YXJ0IG9mIHRyYW5zaXRpb24gKi9cbiAgb3BhY2l0eTogMC4wMDE7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAvKiBmb3Igb3Blbi9jbG9zZSB0cmFuc2l0aW9uICovXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpOyB9XG5cbi5wc3dwLS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnBzd3AtLXpvb20tYWxsb3dlZCAucHN3cF9faW1nIHtcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLnBzd3AtLXpvb21lZC1pbiAucHN3cF9faW1nIHtcbiAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogLW1vei1ncmFiO1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLnBzd3AtLWRyYWdnaW5nIC5wc3dwX19pbWcge1xuICAvKiBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW1vei1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4vKlxuXHRCYWNrZ3JvdW5kIGlzIGFkZGVkIGFzIGEgc2VwYXJhdGUgZWxlbWVudC5cblx0QXMgYW5pbWF0aW5nIG9wYWNpdHkgaXMgbXVjaCBmYXN0ZXIgdGhhbiBhbmltYXRpbmcgcmdiYSgpIGJhY2tncm91bmQtY29sb3IuXG4qL1xuLnBzd3BfX2JnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5OyB9XG5cbi5wc3dwX19zY3JvbGwtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4vKiBQcmV2ZW50IHNlbGVjdGlvbiBhbmQgdGFwIGhpZ2hsaWdodHMgKi9cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9faW1nIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDMzM21zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMjIsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cF9fYmcge1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cC0tYW5pbWF0ZWQtaW4gLnBzd3BfX2JnLFxuLnBzd3AtLWFuaW1hdGVkLWluIC5wc3dwX196b29tLXdyYXAge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX196b29tLXdyYXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ucHN3cF9faXRlbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwX19pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMDtcbiAgbGVmdDogMDsgfVxuXG4vKlxuXHRzdHJldGNoZWQgdGh1bWJuYWlsIG9yIGRpdiBwbGFjZWhvbGRlciBlbGVtZW50IChzZWUgYmVsb3cpXG5cdHN0eWxlIGlzIGFkZGVkIHRvIGF2b2lkIGZsaWNrZXJpbmcgaW4gd2Via2l0L2JsaW5rIHdoZW4gbGF5ZXJzIG92ZXJsYXBcbiovXG4ucHN3cF9faW1nLS1wbGFjZWhvbGRlciB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG5cdGRpdiBlbGVtZW50IHRoYXQgbWF0Y2hlcyBzaXplIG9mIGxhcmdlIGltYWdlXG5cdGxhcmdlIGltYWdlIGxvYWRzIG9uIHRvcCBvZiBpdFxuKi9cbi5wc3dwX19pbWctLXBsYWNlaG9sZGVyLS1ibGFuayB7XG4gIGJhY2tncm91bmQ6ICMyMjI7IH1cblxuLnBzd3AtLWllIC5wc3dwX19pbWcge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi8qXG5cdEVycm9yIG1lc3NhZ2UgYXBwZWFycyB3aGVuIGltYWdlIGlzIG5vdCBsb2FkZWRcblx0KEpTIG9wdGlvbiBlcnJvck1zZyBjb250cm9scyBtYXJrdXApXG4qL1xuLnBzd3BfX2Vycm9yLW1zZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIGNvbG9yOiAjQ0NDOyB9XG5cbi5wc3dwX19lcnJvci1tc2cgYSB7XG4gIGNvbG9yOiAjQ0NDO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuIiwiLyohIFBob3RvU3dpcGUgRGVmYXVsdCBVSSBDU1MgYnkgRG1pdHJ5IFNlbWVub3YgfCBwaG90b3N3aXBlLmNvbSB8IE1JVCBsaWNlbnNlICovXG4vKlxuXG5cdENvbnRlbnRzOlxuXG5cdDEuIEJ1dHRvbnNcblx0Mi4gU2hhcmUgbW9kYWwgYW5kIGxpbmtzXG5cdDMuIEluZGV4IGluZGljYXRvciAoXCIxIG9mIFhcIiBjb3VudGVyKVxuXHQ0LiBDYXB0aW9uXG5cdDUuIExvYWRpbmcgaW5kaWNhdG9yXG5cdDYuIEFkZGl0aW9uYWwgc3R5bGVzIChyb290IGVsZW1lbnQsIHRvcCBiYXIsIGlkbGUgc3RhdGUsIGhpZGRlbiBzdGF0ZSwgZXRjLilcblxuKi9cbi8qXG5cdFxuXHQxLiBCdXR0b25zXG5cbiAqL1xuLyogPGJ1dHRvbj4gY3NzIHJlc2V0ICovXG4ucHN3cF9fYnV0dG9uIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBvcGFjaXR5OiAwLjc1O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5wc3dwX19idXR0b246Zm9jdXMsIC5wc3dwX19idXR0b246aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnBzd3BfX2J1dHRvbjphY3RpdmUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3BhY2l0eTogMC45OyB9XG4gIC5wc3dwX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi8qIHBzd3BfX3VpLS1vdmVyLWNsb3NlIGNsYXNzIGl0IGFkZGVkIHdoZW4gbW91c2UgaXMgb3ZlciBlbGVtZW50IHRoYXQgc2hvdWxkIGNsb3NlIGdhbGxlcnkgKi9cbi5wc3dwX191aS0tb3Zlci1jbG9zZSAucHN3cF9fYnV0dG9uLS1jbG9zZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnBzd3BfX2J1dHRvbixcbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OmJlZm9yZSxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoZGVmYXVsdC1za2luLnBuZykgMCAwIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAyNjRweCA4OHB4O1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4OyB9XG5cbkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjEpLCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjA5Mzc1KSwgKG1pbi1yZXNvbHV0aW9uOiAxMDVkcGkpLCAobWluLXJlc29sdXRpb246IDEuMWRwcHgpIHtcbiAgLyogU2VydmUgU1ZHIHNwcml0ZSBpZiBicm93c2VyIHN1cHBvcnRzIFNWRyBhbmQgcmVzb2x1dGlvbiBpcyBtb3JlIHRoYW4gMTA1ZHBpICovXG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbixcbiAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRlZmF1bHQtc2tpbi5zdmcpOyB9XG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4gIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9IH1cblxuLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00NHB4OyB9XG5cbi5wc3dwX19idXR0b24tLXNoYXJlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0cHggLTQ0cHg7IH1cblxuLnBzd3BfX2J1dHRvbi0tZnMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wc3dwLS1zdXBwb3J0cy1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wc3dwLS1mcyAucHN3cF9fYnV0dG9uLS1mcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NHB4IDA7IH1cblxuLnBzd3BfX2J1dHRvbi0tem9vbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04OHB4IDA7IH1cblxuLnBzd3AtLXpvb20tYWxsb3dlZCAucHN3cF9fYnV0dG9uLS16b29tIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnBzd3AtLXpvb21lZC1pbiAucHN3cF9fYnV0dG9uLS16b29tIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzMnB4IDA7IH1cblxuLyogbm8gYXJyb3dzIG9uIHRvdWNoIHNjcmVlbnMgKi9cbi5wc3dwLS10b3VjaCAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwLS10b3VjaCAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLypcblx0QXJyb3cgYnV0dG9ucyBoaXQgYXJlYVxuXHQoaWNvbiBpcyBhZGRlZCB0byA6YmVmb3JlIHBzZXVkby1lbGVtZW50KVxuKi9cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01MHB4O1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICByaWdodDogMDsgfVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHRvcDogMzVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlIHtcbiAgbGVmdDogNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTM4cHggLTQ0cHg7IH1cblxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gIHJpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC05NHB4IC00NHB4OyB9XG5cbi8qXG5cblx0Mi4gU2hhcmUgbW9kYWwvcG9wdXAgYW5kIGxpbmtzXG5cbiAqL1xuLnBzd3BfX2NvdW50ZXIsXG4ucHN3cF9fc2hhcmUtbW9kYWwge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTYwMDtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTsgfVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBzd3BfX3NoYXJlLXRvb2x0aXAge1xuICB6LWluZGV4OiAxNjIwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG4gIHRvcDogNTZweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHJpZ2h0OiA0NHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cztcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IH1cbiAgLnBzd3BfX3NoYXJlLXRvb2x0aXAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMThweDsgfVxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAucHN3cF9fc2hhcmUtdG9vbHRpcCBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIC8qIHJvdW5kIGNvcm5lcnMgb24gdGhlIGZpcnN0L2xhc3QgbGlzdCBpdGVtICovXG4gICAgICBib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDsgfVxuICAgIC5wc3dwX19zaGFyZS10b29sdGlwIGE6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMnB4IDJweDsgfVxuXG4ucHN3cF9fc2hhcmUtbW9kYWwtLWZhZGUtaW4ge1xuICBvcGFjaXR5OiAxOyB9XG4gIC5wc3dwX19zaGFyZS1tb2RhbC0tZmFkZS1pbiAucHN3cF9fc2hhcmUtdG9vbHRpcCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLyogaW5jcmVhc2Ugc2l6ZSBvZiBzaGFyZSBsaW5rcyBvbiB0b3VjaCBkZXZpY2VzICovXG4ucHN3cC0tdG91Y2ggLnBzd3BfX3NoYXJlLXRvb2x0aXAgYSB7XG4gIHBhZGRpbmc6IDE2cHggMTJweDsgfVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTJweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGO1xuICAtd2Via2l0LXBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtbW96LXBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG5hLnBzd3BfX3NoYXJlLS1mYWNlYm9vazpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzRTVDOUE7XG4gIGNvbG9yOiAjRkZGOyB9XG4gIGEucHN3cF9fc2hhcmUtLWZhY2Vib29rOmhvdmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNFNUM5QTsgfVxuXG5hLnBzd3BfX3NoYXJlLS10d2l0dGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzU1QUNFRTtcbiAgY29sb3I6ICNGRkY7IH1cblxuYS5wc3dwX19zaGFyZS0tcGludGVyZXN0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI0NDQztcbiAgY29sb3I6ICNDRTI3MkQ7IH1cblxuYS5wc3dwX19zaGFyZS0tZG93bmxvYWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjREREOyB9XG5cbi8qXG5cblx0My4gSW5kZXggaW5kaWNhdG9yIChcIjEgb2YgWFwiIGNvdW50ZXIpXG5cbiAqL1xuLnBzd3BfX2NvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgb3BhY2l0eTogMC43NTtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi8qXG5cdFxuXHQ0LiBDYXB0aW9uXG5cbiAqL1xuLnBzd3BfX2NhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7IH1cbiAgLnBzd3BfX2NhcHRpb24gc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogI0JCQjsgfVxuXG4ucHN3cF9fY2FwdGlvbl9fY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LXdpZHRoOiA0MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcGFkZGluZzogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjQ0NDOyB9XG5cbi5wc3dwX19jYXB0aW9uLS1lbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogRmFrZSBjYXB0aW9uIGVsZW1lbnQsIHVzZWQgdG8gY2FsY3VsYXRlIGhlaWdodCBvZiBuZXh0L3ByZXYgaW1hZ2UgKi9cbi5wc3dwX19jYXB0aW9uLS1mYWtlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG5cblx0NS4gTG9hZGluZyBpbmRpY2F0b3IgKHByZWxvYWRlcilcblxuXHRZb3UgY2FuIHBsYXkgd2l0aCBpdCBoZXJlIC0gaHR0cDovL2NvZGVwZW4uaW8vZGltc2VtZW5vdi9wZW4veXlCV29SXG5cbiAqL1xuLnBzd3BfX3ByZWxvYWRlciB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0O1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICBkaXJlY3Rpb246IGx0cjsgfVxuXG4ucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDEycHg7IH1cblxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuICAucHN3cF9fcHJlbG9hZGVyLS1hY3RpdmUgLnBzd3BfX3ByZWxvYWRlcl9faWNuIHtcbiAgICAvKiBXZSB1c2UgLmdpZiBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgQ1NTIGFuaW1hdGlvbiAqL1xuICAgIGJhY2tncm91bmQ6IHVybChwcmVsb2FkZXIuZ2lmKSAwIDAgbm8tcmVwZWF0OyB9XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXItLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cbiAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGNsb2Nrd2lzZSA1MDBtcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgICAgICBhbmltYXRpb246IGNsb2Nrd2lzZSA1MDBtcyBsaW5lYXIgaW5maW5pdGU7IH1cbiAgLnBzd3AtLWNzc19hbmltYXRpb24gLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2RvbnV0IHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZG9udXQtcm90YXRlIDEwMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKSBpbmZpbml0ZTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZG9udXQtcm90YXRlIDEwMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKSBpbmZpbml0ZTsgfVxuXG4ucHN3cC0tY3NzX2FuaW1hdGlvbiAucHN3cF9fcHJlbG9hZGVyX19pY24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBvcGFjaXR5OiAwLjc1O1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE1cHg7XG4gIHRvcDogMTVweDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2N1dCB7XG4gIC8qIFxuXHRcdFx0VGhlIGlkZWEgb2YgYW5pbWF0aW5nIGlubmVyIGNpcmNsZSBpcyBiYXNlZCBvbiBQb2x5bWVyIChcIm1hdGVyaWFsXCIpIGxvYWRpbmcgaW5kaWNhdG9yIFxuXHRcdFx0IGJ5IEtlYW51IExlZSBodHRwczovL2Jsb2cua2VhbnVsZWUuY29tLzIwMTQvMTAvMjAvdGhlLXRhbGUtb2YtdGhyZWUtc3Bpbm5lcnMuaHRtbFxuXHRcdCovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wc3dwLS1jc3NfYW5pbWF0aW9uIC5wc3dwX19wcmVsb2FkZXJfX2RvbnV0IHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBzd3BfX3ByZWxvYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgY2xvY2t3aXNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBjbG9ja3dpc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZG9udXQtcm90YXRlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTQwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGRvbnV0LXJvdGF0ZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xNDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE0MGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLypcblx0XG5cdDYuIEFkZGl0aW9uYWwgc3R5bGVzXG5cbiAqL1xuLyogcm9vdCBlbGVtZW50IG9mIFVJICovXG4ucHN3cF9fdWkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAxNTUwOyB9XG5cbi8qIHRvcCBibGFjayBiYXIgd2l0aCBidXR0b25zIGFuZCBcIjEgb2YgWFwiIGluZGljYXRvciAqL1xuLnBzd3BfX3RvcC1iYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiA0NHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHN3cF9fY2FwdGlvbixcbi5wc3dwX190b3AtYmFyLFxuLnBzd3AtLWhhc19tb3VzZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4vKiBwc3dwLS1oYXNfbW91c2UgY2xhc3MgaXMgYWRkZWQgb25seSB3aGVuIHR3byBzdWJzZXF1ZW50IG1vdXNlbW92ZSBldmVudHMgb2NjdXIgKi9cbi5wc3dwLS1oYXNfbW91c2UgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cC0taGFzX21vdXNlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnBzd3BfX3RvcC1iYXIsXG4ucHN3cF9fY2FwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4vKiBwc3dwX191aS0tZml0IGNsYXNzIGlzIGFkZGVkIHdoZW4gbWFpbiBpbWFnZSBcImZpdHNcIiBiZXR3ZWVuIHRvcCBiYXIgYW5kIGJvdHRvbSBiYXIgKGNhcHRpb24pICovXG4ucHN3cF9fdWktLWZpdCAucHN3cF9fdG9wLWJhcixcbi5wc3dwX191aS0tZml0IC5wc3dwX19jYXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi8qIHBzd3BfX3VpLS1pZGxlIGNsYXNzIGlzIGFkZGVkIHdoZW4gbW91c2UgaXNuJ3QgbW92aW5nIGZvciBzZXZlcmFsIHNlY29uZHMgKEpTIG9wdGlvbiB0aW1lVG9JZGxlKSAqL1xuLnBzd3BfX3VpLS1pZGxlIC5wc3dwX190b3AtYmFyIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4ucHN3cF9fdWktLWlkbGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4ucHN3cF9fdWktLWlkbGUgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKlxuXHRwc3dwX191aS0taGlkZGVuIGNsYXNzIGlzIGFkZGVkIHdoZW4gY29udHJvbHMgYXJlIGhpZGRlblxuXHRlLmcuIHdoZW4gdXNlciB0YXBzIHRvIHRvZ2dsZSB2aXNpYmlsaXR5IG9mIGNvbnRyb2xzXG4qL1xuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX3RvcC1iYXIsXG4ucHN3cF9fdWktLWhpZGRlbiAucHN3cF9fY2FwdGlvbixcbi5wc3dwX191aS0taGlkZGVuIC5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LFxuLnBzd3BfX3VpLS1oaWRkZW4gLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IHtcbiAgLyogRm9yY2UgcGFpbnQgJiBjcmVhdGUgY29tcG9zaXRpb24gbGF5ZXIgZm9yIGNvbnRyb2xzLiAqL1xuICBvcGFjaXR5OiAwLjAwMTsgfVxuXG4vKiBwc3dwX191aS0tb25lLXNsaWRlIGNsYXNzIGlzIGFkZGVkIHdoZW4gdGhlcmUgaXMganVzdCBvbmUgaXRlbSBpbiBnYWxsZXJ5ICovXG4ucHN3cF9fdWktLW9uZS1zbGlkZSAucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCxcbi5wc3dwX191aS0tb25lLXNsaWRlIC5wc3dwX19jb3VudGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHN3cF9fZWxlbWVudC0tZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnBzd3AtLW1pbmltYWwtLWRhcmsgLnBzd3BfX3RvcC1iYXIge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFBob3RvU3dpcGUgKGh0dHA6Ly9waG90b3N3aXBlLmNvbS8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cblxuLy8gVmVuZG9yXG5cbkB1c2UgXCJwaG90b3N3aXBlL2Rpc3QvcGhvdG9zd2lwZS5jc3NcIjtcbkB1c2UgXCJwaG90b3N3aXBlL2Rpc3QvZGVmYXVsdC1za2luL2RlZmF1bHQtc2tpbi5jc3NcIjtcblxuLy8gQ3VzdG9tXG5cbi5wc3dwIHtcbiAgICAmIHtcbiAgICAgICAgei1pbmRleDogMTAwMDAwO1xuICAgIH1cbn1cblxuLnBzd3BfX2J1dHRvbixcbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0OjpiZWZvcmUsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6OmJlZm9yZSB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL21lZGlhL3ZlbmRvci9waG90b3N3aXBlLWRlZmF1bHQtc2tpbi5wbmdcIik7XG4gICAgfVxufVxuXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdCxcbi5wc3dwX19idXR0b24tLWFycm93LS1yaWdodCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4xKSwgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4wOTM3NSksIChtaW4tcmVzb2x1dGlvbjogMTA1ZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAxLjFkcHB4KSB7XG4gICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLFxuICAgIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6OmJlZm9yZSxcbiAgICAucHN3cC0tc3ZnIC5wc3dwX19idXR0b24tLWFycm93LS1yaWdodDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvcGhvdG9zd2lwZS1kZWZhdWx0LXNraW4uc3ZnXCIpO1xuICAgIH1cblxuICAgIC5wc3dwLS1zdmcgLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQsXG4gICAgLnBzd3AtLXN2ZyAucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbn1cblxuLnBzd3BfX3ByZWxvYWRlci0tYWN0aXZlIC5wc3dwX19wcmVsb2FkZXJfX2ljbiB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL21lZGlhL3ZlbmRvci9waG90b3N3aXBlLXByZWxvYWRlci5naWZcIik7XG4gICAgfVxufVxuIiwiQGtleWZyYW1lcyBzY3JvbGwtaGludC1hcHBlYXIge1xuXG4gIDAlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MHB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uc2Nyb2xsLWhpbnQuaXMtcmlnaHQtc2Nyb2xsYWJsZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoMCwgMCwgMCwgLjE1KSAwLCByZ2JhKDAsIDAsIDAsIDApIDE2cHgsIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuXG4uc2Nyb2xsLWhpbnQuaXMtcmlnaHQtc2Nyb2xsYWJsZS5pcy1sZWZ0LXNjcm9sbGFibGUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwgMCwgMCwgLjE1KSAwLCByZ2JhKDAsIDAsIDAsIDApIDE2cHgsIHJnYmEoMCwgMCwgMCwgMCkpLCBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDAsIDAsIDAsIC4xNSkgMCwgcmdiYSgwLCAwLCAwLCAwKSAxNnB4LCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cblxuLnNjcm9sbC1oaW50LmlzLWxlZnQtc2Nyb2xsYWJsZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLCAwLCAwLCAuMTUpIDAsIHJnYmEoMCwgMCwgMCwgMCkgMTZweCwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG5cbi5zY3JvbGwtaGludC1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gMjVweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNjBweCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzO1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC43KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDEwcHggMTBweCAxMHB4O1xufVxuXG4uc2Nyb2xsLWhpbnQtaWNvbi13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2Nyb2xsLWhpbnQtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6ICNGRkY7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLnNjcm9sbC1oaW50LWljb24td3JhcC5pcy1hY3RpdmUgLnNjcm9sbC1oaW50LWljb24ge1xuICAgIG9wYWNpdHk6IC44O1xufVxuXG4uc2Nyb2xsLWhpbnQtaWNvbjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGNvbG9yOiAjRkZGO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5TNDNOeUlnYUdWcFoyaDBQU0l6TUM0MU1pSWdkbWxsZDBKdmVEMGlNQ0F3SURJMUxqYzNJRE13TGpVeUlqNDhkR2wwYkdVKzQ0S2k0NEs3NDRPRDQ0T0lJRE04TDNScGRHeGxQanhuSUdsa1BTTGpnNnpqZ3FUamc2VGpnN3hmTWlJZ1pHRjBZUzF1WVcxbFBTTGpnNnpqZ3FUamc2VGpnN3dnTWlJK1BHY2dhV1E5SXVPRHJPT0NwT09EcE9PRHZGOHhMVElpSUdSaGRHRXRibUZ0WlQwaTQ0T3M0NEtrNDRPazQ0TzhJREVpUGp4d1lYUm9JR1E5SWsweU1TNHpNeXd6TUM0MU1rZzNMamcxUVRFdU5UVXNNUzQxTlN3d0xEQXNNU3cyTGpNc01qbGhNVEl1TkRZc01USXVORFlzTUN3d0xEQXRMall6TFRRdU5ESXNNalV1TVRZc01qVXVNVFlzTUN3d0xEQXROQzR5TlMwMWJDMHVNRFl0TGpBMlFUVXNOU3d3TERBc01Td3dMREUxTGpnMllUTXVOalFzTXk0Mk5Dd3dMREFzTVN3eExqRTNMVEl1TmpJc015NDJNeXd6TGpZekxEQXNNQ3d4TERVdU1UUXVNRGRXTXk0M04yRXpMamMzTERNdU56Y3NNQ3d4TERFc055NDFOQ3d3VmpndU16TmhNeTR6TlN3ekxqTTFMREFzTUN3eExERXVNallzTUN3ekxETXNNQ3d3TERFc01pd3hMakl5TERNdU5Td3pMalVzTUN3d0xERXNNaTB1TURZc015NHlNU3d6TGpJeExEQXNNQ3d4TERJc01TNDFOQ3d6TGpjMExETXVOelFzTUN3d0xERXNNeXd1TkRkQk5DNHlNU3cwTGpJeExEQXNNQ3d4TERJMUxqYzBMREUxWXpBc0xqRXhMREFzTGpJM0xEQXNMalEyWVRFNUxqSTJMREU1TGpJMkxEQXNNQ3d4TFM0NE5DdzNZeTB1TVRRdU16Z3RMak0yTGpneExTNDFOaXd4TGpJeWJDMHVNVEV1TWpKak1Dd3VNRGN0TGpBNUxqRTBMUzR4TkM0eU1XRTNMakV6TERjdU1UTXNNQ3d3TERBdE1TNHhOeXd5TGpFM1l5MHVNRFl1TlRZdExqQTJMREl1TVRVdExqQTFMREl1TnpGQk1TNDFOU3d4TGpVMUxEQXNNQ3d4TERJeExqTXpMRE13TGpVeVdrMDRMall4TERJNExqSXhhREV5WXpBdExqY3hMREF0TVM0M01TNHdOeTB5TGpJellUZ3VOelFzT0M0M05Dd3dMREFzTVN3eExqVTVMVE11TWpWc0xqQTJMUzR4TW1FeE1Dd3hNQ3d3TERBc01Dd3VORFl0TVN3eE5pNDRMREUyTGpnc01Dd3dMREFzTGpjdE5pNHhNbU13TFM0eU15d3dMUzQwTVN3d0xTNDFOR2d3WVRJc01pd3dMREFzTUMwdU5qUXRNUzQxTWl3eExqTXpMREV1TXpNc01Dd3dMREF0TVM0MU5TNHdPQ3d4TGpFekxERXVNVE1zTUN3d0xERXRNUzR4T0M0eU9Dd3hMakUxTERFdU1UVXNNQ3d3TERFdExqYzRMUzQ1TkN3eExqSTJMREV1TWpZc01Dd3dMREF0TGpjMUxURXVNVEVzTVN3eExEQXNNQ3d3TFRFdU1URXVNamhzTFM0eExqRmhNUzR4TlN3eExqRTFMREFzTUN3eExURXVNVGt1TWprc01TNHhOaXd4TGpFMkxEQXNNQ3d4TFM0M09DMHVPVFZqTFM0d09TMHVOamd0TGpJeExTNDNOeTB1TnkwdU9EZGhMamd5TGpneUxEQXNNQ3d3TFRFc0xqUTRMREV1TVRZc01TNHhOaXd3TERBc01TMHlMakUyTFM0MU9GWXpMamMzWVRFdU5EWXNNUzQwTml3d0xERXNNQzB5TGpreUxEQjJOeTQ0Tld3d0xEUXVNek5oTVM0eE55d3hMakUzTERBc01Dd3hMUzQ0TXl3eExqRXhMREV1TVRVc01TNHhOU3d3TERBc01TMHhMakl0TGpNMWJDMHhMUzQ1TVdNdExqUTNMUzQwTWkwdU56TXRMalkyTFM0NE5DMHVOemRoTVM0ek5Td3hMak0xTERBc01Dd3dMVEl0TGpFeVRESXVOeXd4TldFeExqTXlMREV1TXpJc01Dd3dMREF0TGpNNUxERkJNaTQxTnl3eUxqVTNMREFzTUN3d0xETXNNVGN1T0RWc01Dd3dZVEkzTGpJMExESTNMakkwTERBc01Dd3hMRFF1Tnl3MUxqWXlRVEV5TGpZekxERXlMall6TERBc01Dd3hMRGd1TmpFc01qZ3VNakZhVFRJekxqSXNNak11TXpWYVRUWXVOVEVzTVRZdU5UbGFJaUJtYVd4c1BTSWpabVptSWk4K1BDOW5Qand2Wno0OEwzTjJaejQ9KTtcbn1cblxuLnNjcm9sbC1oaW50LWljb246YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TXk0eU9TSWdhR1ZwWjJoMFBTSXhNaTR3TWlJZ2RtbGxkMEp2ZUQwaU1DQXdJRE16TGpJNUlERXlMakF5SWo0OGRHbDBiR1UrNDRLaTQ0Szc0NE9ENDRPSUlERThMM1JwZEd4bFBqeG5JR2xrUFNMamc2empncVRqZzZUamc3eGZNaUlnWkdGMFlTMXVZVzFsUFNMamc2empncVRqZzZUamc3d2dNaUkrUEdjZ2FXUTlJdU9Eck9PQ3BPT0RwT09EdkY4eExUSWlJR1JoZEdFdGJtRnRaVDBpNDRPczQ0S2s0NE9rNDRPOElERWlQanhzYVc1bElIZ3hQU0l4TGpnMUlpQjVNVDBpTmk0d01TSWdlREk5SWpFd0xqUWlJSGt5UFNJMkxqQXhJaUJtYVd4c1BTSWpabVptSWk4K1BIQmhkR2dnWkQwaVRURXdMalFzTnk0eE4wZ3hMamcxWVRFdU1UWXNNUzR4Tml3d0xERXNNU3d3TFRJdU16RklNVEF1TkdFeExqRTJMREV1TVRZc01Dd3hMREVzTUN3eUxqTXhXaUlnWm1sc2JEMGlJMlptWmlJdlBqeHdZWFJvSUdROUlrMDNMalFzTVRKaE1TNHhOU3d4TGpFMUxEQXNNQ3d4TFM0M01pMHVNalZzTFRZdU1qVXROVUV4TGpJc01TNHlMREFzTUN3eExEQXNOUzQ0Tnl3eExqRTBMREV1TVRRc01Dd3dMREVzTGpRMkxEVk1OaTQzTGpJelFURXVNVFlzTVM0eE5pd3dMREFzTVN3NExqRXNNaTR3T0V3ekxEVXVPVEVzT0M0eE1pd3hNRUV4TGpFMkxERXVNVFlzTUN3d0xERXNOeTQwTERFeVdpSWdabWxzYkQwaUkyWm1aaUl2UGp4c2FXNWxJSGd4UFNJek1TNDBOU0lnZVRFOUlqWXVNREVpSUhneVBTSXlNaTQ0T1NJZ2VUSTlJall1TURFaUlHWnBiR3c5SWlObVptWWlMejQ4Y0dGMGFDQmtQU0pOTXpFdU5EVXNOeTR4TjBneU1pNDRPV0V4TGpFMkxERXVNVFlzTUN3eExERXNNQzB5TGpNeGFEZ3VOVFpoTVM0eE5pd3hMakUyTERBc01Dd3hMREFzTWk0ek1Wb2lJR1pwYkd3OUlpTm1abVlpTHo0OGNHRjBhQ0JrUFNKTk1qVXVPU3d4TW1FeExqRTRMREV1TVRnc01Dd3dMREV0TGpreExTNDBNMEV4TGpFM0xERXVNVGNzTUN3d0xERXNNalV1TVRjc01UQnNOUzR3T1MwMExqQTFUREkxTGpJc01pNHdPRUV4TGpFMkxERXVNVFlzTUN3d0xERXNNall1TlRrdU1qTk1Nekl1T0RRc05XRXhMakUyTERFdU1UWXNNQ3d3TERFc0xqUTFMamt4TERFdU1UUXNNUzR4TkN3d0xEQXNNUzB1TkRNdU9USnNMVFl1TWpRc05VRXhMakUzTERFdU1UY3NNQ3d3TERFc01qVXVPU3d4TWxvaUlHWnBiR3c5SWlObVptWWlMejQ4TDJjK1BDOW5Qand2YzNablBnPT0pO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyLjRzO1xufVxuXG4uc2Nyb2xsLWhpbnQtaWNvbi13cmFwLmlzLWFjdGl2ZSAuc2Nyb2xsLWhpbnQtaWNvbjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY3JvbGwtaGludC1pY29uLXdyYXAuaXMtYWN0aXZlIC5zY3JvbGwtaGludC1pY29uOmJlZm9yZSB7XG4gIGFuaW1hdGlvbjogc2Nyb2xsLWhpbnQtYXBwZWFyIDEuMnMgbGluZWFyO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAyO1xufVxuXG4uc2Nyb2xsLWhpbnQtaWNvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCByZ2JhKDAsIDAsIDAsIC40KTtcbn1cblxuLnNjcm9sbC1oaW50LWljb24td2hpdGU6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5TNDNOeUlnYUdWcFoyaDBQU0l6TUM0MU1pSWdkbWxsZDBKdmVEMGlNQ0F3SURJMUxqYzNJRE13TGpVeUlqNDhkR2wwYkdVKzQ0S2k0NEs3NDRPRDQ0T0lJRFE4TDNScGRHeGxQanhuSUdsa1BTTGpnNnpqZ3FUamc2VGpnN3hmTWlJZ1pHRjBZUzF1WVcxbFBTTGpnNnpqZ3FUamc2VGpnN3dnTWlJK1BHY2dhV1E5SXVPRHJPT0NwT09EcE9PRHZGOHhMVElpSUdSaGRHRXRibUZ0WlQwaTQ0T3M0NEtrNDRPazQ0TzhJREVpUGp4d1lYUm9JR1E5SWsweU1TNHpNeXd6TUM0MU1rZzNMamcxUVRFdU5UVXNNUzQxTlN3d0xEQXNNU3cyTGpNc01qbGhNVEl1TkRZc01USXVORFlzTUN3d0xEQXRMall6TFRRdU5ESXNNalV1TVRZc01qVXVNVFlzTUN3d0xEQXROQzR5TlMwMWJDMHVNRFl0TGpBMlFUVXNOU3d3TERBc01Td3dMREUxTGpnMllUTXVOalFzTXk0Mk5Dd3dMREFzTVN3eExqRTNMVEl1TmpJc015NDJNeXd6TGpZekxEQXNNQ3d4TERVdU1UUXVNRGRXTXk0M04yRXpMamMzTERNdU56Y3NNQ3d4TERFc055NDFOQ3d3VmpndU16TmhNeTR6TlN3ekxqTTFMREFzTUN3eExERXVNallzTUN3ekxETXNNQ3d3TERFc01pd3hMakl5TERNdU5Td3pMalVzTUN3d0xERXNNaTB1TURZc015NHlNU3d6TGpJeExEQXNNQ3d4TERJc01TNDFOQ3d6TGpjMExETXVOelFzTUN3d0xERXNNeXd1TkRkQk5DNHlNU3cwTGpJeExEQXNNQ3d4TERJMUxqYzBMREUxWXpBc0xqRXhMREFzTGpJM0xEQXNMalEyWVRFNUxqSTJMREU1TGpJMkxEQXNNQ3d4TFM0NE5DdzNZeTB1TVRRdU16Z3RMak0yTGpneExTNDFOaXd4TGpJeWJDMHVNVEV1TWpKak1Dd3VNRGN0TGpBNUxqRTBMUzR4TkM0eU1XRTNMakV6TERjdU1UTXNNQ3d3TERBdE1TNHhOeXd5TGpFM1l5MHVNRFl1TlRZdExqQTJMREl1TVRVdExqQTFMREl1TnpGQk1TNDFOU3d4TGpVMUxEQXNNQ3d4TERJeExqTXpMRE13TGpVeVdrMDRMall4TERJNExqSXhhREV5WXpBdExqY3hMREF0TVM0M01TNHdOeTB5TGpJellUZ3VOelFzT0M0M05Dd3dMREFzTVN3eExqVTVMVE11TWpWc0xqQTJMUzR4TW1FeE1Dd3hNQ3d3TERBc01Dd3VORFl0TVN3eE5pNDRMREUyTGpnc01Dd3dMREFzTGpjdE5pNHhNbU13TFM0eU15d3dMUzQwTVN3d0xTNDFOR2d3WVRJc01pd3dMREFzTUMwdU5qUXRNUzQxTWl3eExqTXpMREV1TXpNc01Dd3dMREF0TVM0MU5TNHdPQ3d4TGpFekxERXVNVE1zTUN3d0xERXRNUzR4T0M0eU9Dd3hMakUxTERFdU1UVXNNQ3d3TERFdExqYzRMUzQ1TkN3eExqSTJMREV1TWpZc01Dd3dMREF0TGpjMUxURXVNVEVzTVN3eExEQXNNQ3d3TFRFdU1URXVNamhzTFM0eExqRmhNUzR4TlN3eExqRTFMREFzTUN3eExURXVNVGt1TWprc01TNHhOaXd4TGpFMkxEQXNNQ3d4TFM0M09DMHVPVFZqTFM0d09TMHVOamd0TGpJeExTNDNOeTB1TnkwdU9EZGhMamd5TGpneUxEQXNNQ3d3TFRFc0xqUTRMREV1TVRZc01TNHhOaXd3TERBc01TMHlMakUyTFM0MU9GWXpMamMzWVRFdU5EWXNNUzQwTml3d0xERXNNQzB5TGpreUxEQjJOeTQ0Tld3d0xEUXVNek5oTVM0eE55d3hMakUzTERBc01Dd3hMUzQ0TXl3eExqRXhMREV1TVRVc01TNHhOU3d3TERBc01TMHhMakl0TGpNMWJDMHhMUzQ1TVdNdExqUTNMUzQwTWkwdU56TXRMalkyTFM0NE5DMHVOemRoTVM0ek5Td3hMak0xTERBc01Dd3dMVEl0TGpFeVRESXVOeXd4TldFeExqTXlMREV1TXpJc01Dd3dMREF0TGpNNUxERkJNaTQxTnl3eUxqVTNMREFzTUN3d0xETXNNVGN1T0RWc01Dd3dZVEkzTGpJMExESTNMakkwTERBc01Dd3hMRFF1Tnl3MUxqWXlRVEV5TGpZekxERXlMall6TERBc01Dd3hMRGd1TmpFc01qZ3VNakZhVFRJekxqSXNNak11TXpWYVRUWXVOVEVzTVRZdU5UbGFJaTgrUEM5blBqd3ZaejQ4TDNOMlp6ND0pO1xufVxuXG4uc2Nyb2xsLWhpbnQtaWNvbi13aGl0ZTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpNeTR5T1NJZ2FHVnBaMmgwUFNJeE1pNHdNaUlnZG1sbGQwSnZlRDBpTUNBd0lETXpMakk1SURFeUxqQXlJajQ4ZEdsMGJHVSs0NEtpNDRLNzQ0T0Q0NE9JSURJOEwzUnBkR3hsUGp4bklHbGtQU0xqZzZ6amdxVGpnNlRqZzd4Zk1pSWdaR0YwWVMxdVlXMWxQU0xqZzZ6amdxVGpnNlRqZzd3Z01pSStQR2NnYVdROUl1T0RyT09DcE9PRHBPT0R2Rjh4TFRJaUlHUmhkR0V0Ym1GdFpUMGk0NE9zNDRLazQ0T2s0NE84SURFaVBqeHNhVzVsSUhneFBTSXhMamcxSWlCNU1UMGlOaTR3TVNJZ2VESTlJakV3TGpRaUlIa3lQU0kyTGpBeElpOCtQSEJoZEdnZ1pEMGlUVEV3TGpRc055NHhOMGd4TGpnMVlURXVNVFlzTVM0eE5pd3dMREVzTVN3d0xUSXVNekZJTVRBdU5HRXhMakUyTERFdU1UWXNNQ3d4TERFc01Dd3lMak14V2lJdlBqeHdZWFJvSUdROUlrMDNMalFzTVRKaE1TNHhOU3d4TGpFMUxEQXNNQ3d4TFM0M01pMHVNalZzTFRZdU1qVXROVUV4TGpJc01TNHlMREFzTUN3eExEQXNOUzQ0Tnl3eExqRTBMREV1TVRRc01Dd3dMREVzTGpRMkxEVk1OaTQzTGpJelFURXVNVFlzTVM0eE5pd3dMREFzTVN3NExqRXNNaTR3T0V3ekxEVXVPVEVzT0M0eE1pd3hNRUV4TGpFMkxERXVNVFlzTUN3d0xERXNOeTQwTERFeVdpSXZQanhzYVc1bElIZ3hQU0l6TVM0ME5TSWdlVEU5SWpZdU1ERWlJSGd5UFNJeU1pNDRPU0lnZVRJOUlqWXVNREVpTHo0OGNHRjBhQ0JrUFNKTk16RXVORFVzTnk0eE4wZ3lNaTQ0T1dFeExqRTJMREV1TVRZc01Dd3hMREVzTUMweUxqTXhhRGd1TlRaaE1TNHhOaXd4TGpFMkxEQXNNQ3d4TERBc01pNHpNVm9pTHo0OGNHRjBhQ0JrUFNKTk1qVXVPU3d4TW1FeExqRTRMREV1TVRnc01Dd3dMREV0TGpreExTNDBNMEV4TGpFM0xERXVNVGNzTUN3d0xERXNNalV1TVRjc01UQnNOUzR3T1MwMExqQTFUREkxTGpJc01pNHdPRUV4TGpFMkxERXVNVFlzTUN3d0xERXNNall1TlRrdU1qTk1Nekl1T0RRc05XRXhMakUyTERFdU1UWXNNQ3d3TERFc0xqUTFMamt4TERFdU1UUXNNUzR4TkN3d0xEQXNNUzB1TkRNdU9USnNMVFl1TWpRc05VRXhMakUzTERFdU1UY3NNQ3d3TERFc01qVXVPU3d4TWxvaUx6NDhMMmMrUEM5blBqd3ZjM1puUGc9PSk7XG59XG5cbi5zY3JvbGwtaGludC1pY29uLXdoaXRlIC5zY3JvbGwtaGludC10ZXh0IHtcbiAgY29sb3I6ICMwMDA7XG59IiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTY3JvbGxIaW50IChodHRwczovL2FwcGxlcGxlLmdpdGh1Yi5pby9zY3JvbGwtaGludC8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cblxuLy8gVmVuZG9yXG5cbkB1c2UgXCJzY3JvbGwtaGludC9zY3NzL3Njcm9sbC1oaW50XCI7XG5cbi8vIEN1c3RvbVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBTZWFyY2ggRm9ybVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2VhcmNoLWZvcm1fX2NvbnRhaW5lciB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMCAxNSwgMTYpO1xuICAgIH1cbn1cblxuLnNlYXJjaC1mb3JtIHtcbiAgICAmIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLnNlYXJjaC1mb3JtX19pbnB1dCB7XG4gICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtaWZ5KDQ4LCAxNik7XG4gICAgfVxufVxuXG4uc2VhcmNoLWZvcm1fX2J1dHRvbiB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvdHRvbTogcmVtaWZ5KDIpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJmb3JlZ3JvdW5kXCIpO1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNiwgMTYpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgwIDE2LCAxNik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IHJlbWlmeSgyKTtcbiAgICAgICAgdG9wOiByZW1pZnkoMik7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImFjY2VudFwiKTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFNraXAgTGlua3NcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnNraXAtbGlua3Mge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImFjY2VudFwiKTtcbiAgICAgICAgYm9yZGVyOiByZW1pZnkoMSkgc29saWQgY29sb3IoXCJhY2NlbnRcIiwgXCJzaGFkZVwiKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtaWZ5KDQpO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDE2LCAxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxlZnQ6IC05OTllbTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDggMTIsIDE2KTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRvcDogLTk5OWVtO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGxlZnQ6IHJlbWlmeSgyMCwgMTYpO1xuICAgICAgICB0b3A6IHJlbWlmeSgyMCwgMTYpO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbn1cbiIsIi8qKlxuICogU3dpcGVyIDQuNS4xXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cDovL3d3dy5pZGFuZ2Vyby51cy9zd2lwZXIvXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAxOSBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBTZXB0ZW1iZXIgMTMsIDIwMTlcbiAqL1xuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgcmlnaHQgdG9wLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi8qIElFMTAgV2luZG93cyBQaG9uZSA4IEZpeGVzICovXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDI3cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luLXRvcDogLTIycHg7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM1O1xuICBjdXJzb3I6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIHJpZ2h0OiAxMHB4O1xuICBsZWZ0OiBhdXRvO1xufVxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICB0cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDEwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7XG59XG4vKiBDb21tb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEJ1bGxldHMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjI7XG59XG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0b3AsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDRweDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglO1xufVxuLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtby1vYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLnN3aXBlci1zbGlkZS16b29tZWQge1xuICBjdXJzb3I6IG1vdmU7XG59XG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzZmZmJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKiBhMTF5ICovXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgei1pbmRleDogMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyIHtcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuICAtbXMtcGVyc3BlY3RpdmU6IDEyMDBweDtcbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogU3dpcGVyIChodHRwOi8vaWRhbmdlcm8udXMvc3dpcGVyLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gVmVuZG9yXG5cbkB1c2UgXCJzd2lwZXIvZGlzdC9jc3Mvc3dpcGVyLmNzc1wiO1xuXG4vLyBDdXN0b21cblxuLnN3aXBlci1jb250YWluZXJfX2NvbnRhaW5lciB7XG4gICAgJiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbi5zd2lwZXItc2xpZGUge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImJhY2tncm91bmRcIik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4oeHMpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgxMC41LCAxNik7XG4gICAgfVxufVxuXG4uc3dpcGVyX19waWN0dXJlIHtcbiAgICAmIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICB9XG5cbiAgICAuc3dpcGVyLXNsaWRlLS1lbmxhcmdlICYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSg0MTAsIDE2KTtcbiAgICB9XG59XG5cbi5zd2lwZXJfX2ltYWdlIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zd2lwZXItY29udGFpbmVyLS1oZWlnaHQtYXV0byAmIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBoYWNrIHRvIHByZXZlbnQgc3F1YXJlIHBsYWNlaG9sZGVyIGltYWdlc1xuICAgICYubGF6eWxvYWRpbmcge1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICAuc3dpcGVyLXNsaWRlLS1lbmxhcmdlICYge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cbn1cblxuLnN3aXBlcl9fY2FwdGlvbiB7XG4gICAgJiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50aXplKGNvbG9yKFwiZGFya1wiKSwgMSkgNSUsIHRyYW5zcGFyZW50aXplKGNvbG9yKFwiZGFya1wiKSwgMC43KSA1MCUsIHRyYW5zcGFyZW50aXplKGNvbG9yKFwiZGFya1wiKSwgMSkgOTUlKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMi44KSAkY29udGVudC1wYWRkaW5nKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zd2lwZXJfX2NhcHRpb25fX2lubmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtaWZ5KCRzaXRlLXdpZHRoLCAxNik7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLnN3aXBlcl9fdGl0bGUge1xuICAgICYge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4uc3dpcGVyX191c2VyLWNvbnRlbnQge1xuICAgICYge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnVzZXItY29udGVudF9fdGV4dCB7XG4gICAgICAgIGZvbnQtcmFuZ2U6ICR4cy1icmVhayAkeGwtYnJlYWs7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSByZW1pZnkoMTcsIDE2KSByZW1pZnkoMzAsIDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSgyMC43LCAxNyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyMC43LCAxNyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5zd2lwZXItYnV0dG9uIHtcbiAgICAmIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtaWZ5KDc1LCAxNik7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoNDAsIDcwKTtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgIH1cblxuICAgICYuc3dpcGVyLWJ1dHRvbi0tcHJldixcbiAgICAuc3dpcGVyLWNvbnRhaW5lci1ydGwgJi5zd2lwZXItYnV0dG9uLS1uZXh0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmLnN3aXBlci1idXR0b24tLW5leHQsXG4gICAgLnN3aXBlci1jb250YWluZXItcnRsICYuc3dpcGVyLWJ1dHRvbi0tcHJldiB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJiYWNrZ3JvdW5kXCIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW1pZnkoMjEgMjEgMCAwLCAxNik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgxMC41IDIzLCAxNik7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICB9XG59XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICAgICYge1xuICAgICAgICBib3R0b206IHJlbWlmeSgtMTAuNSwgMTYpO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJiYWNrZ3JvdW5kXCIsIFwic2hhZGVcIik7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgyMSwgMTYpO1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSgyMSwgMjEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDIxLCAyMSk7XG4gICAgfVxufVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDAgMywgMjEpO1xuICAgIH1cbn1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImZvcmVncm91bmRcIiwgXCJ0aW50XCIpO1xuICAgIH1cbn1cblxuLyogY2FyZHMgdmFyaWFudCAqL1xuXG4uc3dpcGVyLWNvbnRhaW5lci0tY2FyZHMge1xuICAgICY6bm90KC5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkKSB7XG4gICAgICAgIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogVHJpYmUgRXZlbnRzIChodHRwczovL3RoZWV2ZW50c2NhbGVuZGFyLmNvbS8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4sIHNlbGVjdG9yLW1heC1pZCwgc2VsZWN0b3ItbWF4LXR5cGUsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSAqL1xuXG4kdHJpYmVfcHJpbWFyeTogY29sb3IoXCJwcmltYXJ5XCIpO1xuJHRyaWJlX2ZvcmVncm91bmQ6ICMxNDE4Mjc7XG4kdHJpYmVfZm9udDogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuXG4vKiBjb250YWluZXIgKi9cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWwtY29udGFpbmVyLFxuLnRyaWJlLWNvbW1vbi0tYnJlYWtwb2ludC1tZWRpdW0udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtbC1jb250YWluZXIge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLyogbG9hZGVyICovXG5cbi50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1jLWxvYWRlcl9fZG90IHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJHRyaWJlX3ByaW1hcnksIDAuOTMpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBhIHtcbiAgICA1MCUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHJpYmVfcHJpbWFyeTtcbiAgICB9XG59XG5cbi8qIGJ1dHRvbnMgKi9cblxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLWMtYnRuLFxuLnRyaWJlLWNvbW1vbiBhLnRyaWJlLWNvbW1vbi1jLWJ0biB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmliZV9wcmltYXJ5O1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCR0cmliZV9wcmltYXJ5LCAwLjIpO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJHRyaWJlX3ByaW1hcnksIDAuMSk7XG4gICAgfVxufVxuXG4jdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYnV0dG9uLFxuLnRyaWJlLWV2ZW50cy1idXR0b24ge1xuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJHRyaWJlX2ZvbnQ7XG4gICAgfVxufVxuXG4jdHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYnV0dG9uLFxuI3RyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWJ1dHRvbjpob3ZlcixcbiN0cmliZV9ldmVudHNfZmlsdGVyc193cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4udHJpYmUtZXZlbnRzLWJ1dHRvbixcbi50cmliZS1ldmVudHMtYnV0dG9uLnRyaWJlLWFjdGl2ZTpob3Zlcixcbi50cmliZS1ldmVudHMtYnV0dG9uLnRyaWJlLWluYWN0aXZlLFxuLnRyaWJlLWV2ZW50cy1idXR0b246aG92ZXIsXG4udHJpYmUtZXZlbnRzLWNhbGVuZGFyIHRkLnRyaWJlLWV2ZW50cy1wcmVzZW50IGRpdltpZCo9XCJ0cmliZS1ldmVudHMtZGF5bnVtLVwiXSxcbi50cmliZS1ldmVudHMtY2FsZW5kYXIgdGQudHJpYmUtZXZlbnRzLXByZXNlbnQgZGl2W2lkKj1cInRyaWJlLWV2ZW50cy1kYXludW0tXCJdID4gYSB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmliZV9wcmltYXJ5O1xuICAgIH1cbn1cblxuLyogZmVhdHVyZWQgKi9cblxuLnRyaWJlLWNvbW1vbiAudHJpYmUtY29tbW9uLXN2Z2ljb24tLWZlYXR1cmVkIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvdHJpYmUtZmVhdHVyZWQuc3ZnXCIsIGZpbGw9I3skdHJpYmVfcHJpbWFyeX0pO1xuICAgIH1cbn1cblxuLnRyaWJlLWNvbW1vbi0tYnJlYWtwb2ludC1tZWRpdW0udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtZGF0ZXRpbWUtZmVhdHVyZWQtdGV4dCB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiAkdHJpYmVfcHJpbWFyeTtcbiAgICB9XG59XG5cbi8qIG5vdGljZXMgKi9cblxuLnRyaWJlLWV2ZW50cy1ub3RpY2VzIHtcbiAgICAmIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR0cmliZV9mb250O1xuICAgIH1cbn1cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtbWVzc2FnZXNfX21lc3NhZ2UtLW5vdGljZTo6YmVmb3JlIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvdHJpYmUtY2FsZW5kYXIteC5zdmdcIiwgc3Ryb2tlPSN7JHRyaWJlX3ByaW1hcnl9KTtcbiAgICB9XG59XG5cbi8qIGRhdGVwaWNrZXIgKi9cblxuLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAuZGF5LmFjdGl2ZSxcbi50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLmRheS5hY3RpdmUuZm9jdXNlZCxcbi50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLmRheS5hY3RpdmU6Zm9jdXMsXG4udHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5kYXkuYWN0aXZlOmhvdmVyLFxuLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAubW9udGguYWN0aXZlLFxuLnRyaWJlLWV2ZW50cyAuZGF0ZXBpY2tlciAubW9udGguYWN0aXZlLmZvY3VzZWQsXG4udHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5tb250aC5hY3RpdmU6Zm9jdXMsXG4udHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC5tb250aC5hY3RpdmU6aG92ZXIsXG4udHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC55ZWFyLmFjdGl2ZSxcbi50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLnllYXIuYWN0aXZlLmZvY3VzZWQsXG4udHJpYmUtZXZlbnRzIC5kYXRlcGlja2VyIC55ZWFyLmFjdGl2ZTpmb2N1cyxcbi50cmliZS1ldmVudHMgLmRhdGVwaWNrZXIgLnllYXIuYWN0aXZlOmhvdmVyIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRyaWJlX3ByaW1hcnk7XG4gICAgfVxufVxuXG4vKiBiYXIgKi9cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19pbnB1dC1jb250cm9sLS1rZXl3b3JkLWZvY3VzIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2lucHV0LFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtc2VhcmNoX19pbnB1dC1jb250cm9sLS1rZXl3b3JkIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2lucHV0OmZvY3VzIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvdHJpYmUtc2VhcmNoLnN2Z1wiLCBmaWxsPSN7JHRyaWJlX3ByaW1hcnl9KTtcbiAgICB9XG59XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9faW5wdXQtY29udHJvbC0tbG9jYXRpb24tZm9jdXMgLnRyaWJlLWV2ZW50cy1jLXNlYXJjaF9faW5wdXQsXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2lucHV0LWNvbnRyb2wtLWxvY2F0aW9uIC50cmliZS1ldmVudHMtYy1zZWFyY2hfX2lucHV0OmZvY3VzIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvdHJpYmUtbG9jYXRpb24uc3ZnXCIsIGZpbGw9I3skdHJpYmVfcHJpbWFyeX0pO1xuICAgIH1cbn1cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtZXZlbnRzLWJhcl9fc2VhcmNoLWJ1dHRvbjo6YmVmb3JlIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgIH1cbn1cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtdmlldy1zZWxlY3Rvcl9fYnV0dG9uOjpiZWZvcmUge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcInByaW1hcnlcIik7XG4gICAgfVxufVxuXG4vKiBpY2FsIGxpbmsgKi9cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtaWNhbCB7XG4gICAgJiB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWMtaWNhbF9fbGluayB7XG4gICAgJiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRyaWJlX3ByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkdHJpYmVfcHJpbWFyeTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmctbG9hZChcIi4uL21lZGlhL3ZlbmRvci90cmliZS1wbHVzLnN2Z1wiLCBzdHJva2U9I3skdHJpYmVfcHJpbWFyeX0pO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRyaWJlX3ByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnLWxvYWQoXCIuLi9tZWRpYS92ZW5kb3IvdHJpYmUtcGx1cy5zdmdcIiwgc3Ryb2tlPSNGRkZGRkYpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBsaXN0ICovXG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1saXN0X19ldmVudC1yb3ctLWZlYXR1cmVkIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fZXZlbnQtZGF0ZS10YWctZGF0ZXRpbWU6OmFmdGVyIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRyaWJlX3ByaW1hcnk7XG4gICAgfVxufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbGlzdF9fbW9udGgtc2VwYXJhdG9yIHtcbiAgICAmIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vKiBtb250aCAqL1xuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS0tY3VycmVudCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktZGF0ZSxcbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LS1jdXJyZW50IC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1kYXRlLWxpbmsge1xuICAgICYge1xuICAgICAgICBjb2xvcjogJHRyaWJlX3ByaW1hcnk7XG4gICAgfVxufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS0tY3VycmVudCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktZGF0ZS1saW5rOmZvY3VzLFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktLWN1cnJlbnQgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWRhdGUtbGluazpob3ZlciB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkdHJpYmVfcHJpbWFyeSwgMC4yKTtcbiAgICB9XG59XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fY2FsZW5kYXItZXZlbnQtLWZlYXR1cmVkOjpiZWZvcmUge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHJpYmVfcHJpbWFyeTtcbiAgICB9XG59XG5cbi8qIG1vbnRoIG1vYmlsZSAqL1xuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX3dlZWsge1xuICAgICYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fZGF5LWNlbGwtLXNlbGVjdGVkLFxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktY2VsbC0tc2VsZWN0ZWQ6Zm9jdXMsXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1jZWxsLS1zZWxlY3RlZDpob3ZlciB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmliZV9wcmltYXJ5O1xuICAgIH1cbn1cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19tb2JpbGUtZXZlbnRzLWljb24tLWV2ZW50IHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRyaWJlX3ByaW1hcnk7XG4gICAgfVxufVxuXG4udHJpYmUtZXZlbnRzIC50cmliZS1ldmVudHMtY2FsZW5kYXItbW9udGhfX2RheS1jZWxsLS1zZWxlY3RlZCAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLW1vbnRoX19kYXktZGF0ZSB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyAvLyB0aGlzIGlzbid0IGlkZWFsLCBhcyBpdCdzIHJlcGxpY2F0aW5nIHRoZSBkZWZhdWx0LCBidXQgaXQncyB0aGUgc2ltcGxlc3Qgc29sdXRpb25cbiAgICB9XG59XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aF9fbW9iaWxlLWV2ZW50cy1pY29uLS1mZWF0dXJlZCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHN2Zy1sb2FkKFwiLi4vbWVkaWEvdmVuZG9yL3RyaWJlLWZlYXR1cmVkLnN2Z1wiLCBmaWxsPSN7JHRyaWJlX3ByaW1hcnl9KTtcbiAgICB9XG59XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aC1tb2JpbGUtZXZlbnRzX19tb2JpbGUtZXZlbnQtZGF0ZXRpbWUtZmVhdHVyZWQtdGV4dCB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiAkdHJpYmVfcHJpbWFyeTtcbiAgICB9XG59XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1tb250aC1uYXYge1xuICAgICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxufVxuXG4vKiBkYXkgKi9cblxuLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWRheV9fdGltZS1zZXBhcmF0b3Ige1xuICAgICYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi50cmliZS1ldmVudHMgLnRyaWJlLWV2ZW50cy1jYWxlbmRhci1kYXlfX2V2ZW50LS1mZWF0dXJlZDo6YWZ0ZXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHJpYmVfcHJpbWFyeTtcbiAgICB9XG59XG5cbi50cmliZS1jb21tb24tLWJyZWFrcG9pbnQtbWVkaXVtLnRyaWJlLWV2ZW50cyAudHJpYmUtZXZlbnRzLWNhbGVuZGFyLWRheV9fZXZlbnQtZGF0ZXRpbWUtZmVhdHVyZWQtdGV4dCB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiAkdHJpYmVfcHJpbWFyeTtcbiAgICB9XG59XG5cbi8qIHNpbmdsZSAqL1xuXG4udHJpYmUtZXZlbnRzLWJhY2sge1xuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJHRyaWJlX2ZvbnQ7XG4gICAgfVxufVxuXG4udHJpYmUtZXZlbnRzLWJhY2sgYSB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiAkdHJpYmVfZm9yZWdyb3VuZDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0cmliZV9wcmltYXJ5O1xuICAgIH1cbn1cblxuLnNpbmdsZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1zaW5nbGUtZXZlbnQtdGl0bGUge1xuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJHRyaWJlX2ZvbnQ7XG4gICAgfVxufVxuXG4udHJpYmUtZXZlbnRzLXNjaGVkdWxlIGgyIHtcbiAgICAmIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR0cmliZV9mb250O1xuICAgIH1cbn1cblxuLnNpbmdsZS10cmliZV9ldmVudHMgLnRyaWJlLWV2ZW50cy1zY2hlZHVsZSAudHJpYmUtZXZlbnRzLWNvc3Qge1xuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJHRyaWJlX2ZvbnQ7XG4gICAgfVxufVxuXG4uc2luZ2xlLXRyaWJlX2V2ZW50cyAudHJpYmUtZXZlbnRzLXNjaGVkdWxlIC50cmliZS1ldmVudHMtZGl2aWRlciB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogMCAwLjI1ZW07XG4gICAgfVxufVxuXG4udHJpYmUtZXZlbnRzLW1ldGEtZ3JvdXAgLnRyaWJlLWV2ZW50cy1zaW5nbGUtc2VjdGlvbi10aXRsZSB7XG4gICAgJiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdHJpYmVfZm9udDtcbiAgICB9XG59XG5cbi5zaW5nbGUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtZXZlbnQtbWV0YSBkbCB7XG4gICAgJiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdHJpYmVfZm9udDtcbiAgICB9XG59XG5cbi5zaW5nbGUtdHJpYmVfZXZlbnRzIC50cmliZS1ldmVudHMtZXZlbnQtbWV0YSBkbCBhIHtcbiAgICAmIHtcbiAgICAgICAgY29sb3I6ICR0cmliZV9wcmltYXJ5O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbihzYXR1cmF0ZShhZGp1c3QtaHVlKCR0cmliZV9wcmltYXJ5LCAtMzQuMDc1NiksIDApLCAzNi42NjY3KTtcbiAgICB9XG5cbiAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogZGFya2VuKGRlc2F0dXJhdGUoYWRqdXN0LWh1ZSgkdHJpYmVfcHJpbWFyeSwgNSksIDQ2Ljg3NSksIDQ3LjQ1MSk7XG4gICAgfVxufVxuXG4jdHJpYmUtZXZlbnRzLWZvb3RlciAudHJpYmUtZXZlbnRzLXN1Yi1uYXYsXG4jdHJpYmUtZXZlbnRzLWhlYWRlciAudHJpYmUtZXZlbnRzLXN1Yi1uYXYge1xuICAgICYge1xuICAgICAgICBjb2xvcjogJHRyaWJlX2ZvcmVncm91bmQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdHJpYmVfZm9udDtcbiAgICB9XG59XG5cbiN0cmliZS1ldmVudHMtZm9vdGVyIC50cmliZS1ldmVudHMtc3ViLW5hdiBhLFxuI3RyaWJlLWV2ZW50cy1oZWFkZXIgLnRyaWJlLWV2ZW50cy1zdWItbmF2IGEge1xuICAgICYge1xuICAgICAgICBjb2xvcjogJHRyaWJlX3ByaW1hcnk7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBXaWRnZXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndpZGdldCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwicHJpbWFyeVwiKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDMyLCAxNik7XG4gICAgfVxufVxuXG4ud2lkZ2V0X19jb250ZW50IHtcbiAgICAmIHtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMS44KSAoJGNvbnRlbnQtcGFkZGluZyAqIDEuNCkpO1xuICAgIH1cbn1cblxuLndpZGdldF9fYnV0dG9uIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJhY2NlbnRcIik7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW1pZnkoJGNvbnRlbnQtcGFkZGluZyAqIDEuNCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSgkY29udGVudC1wYWRkaW5nICogMS40KTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihcImFjY2VudFwiLCBcInNoYWRlXCIpO1xuICAgIH1cbn1cblxuLndpZGdldF9fdXNlci1jb250ZW50IHtcbiAgICAudXNlci1jb250ZW50X190ZXh0IHtcbiAgICAgICAgZm9udC1yYW5nZTogJHhzLWJyZWFrICR4bC1icmVhaztcbiAgICAgICAgZm9udC1zaXplOiByZXNwb25zaXZlIHJlbWlmeSgxNiwgMTYpIHJlbWlmeSgxOCwgMTYpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBXb29Db21tZXJjZSAoaHR0cHM6Ly93b29jb21tZXJjZS5jb20vKVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtaWQsIHNlbGVjdG9yLW1heC10eXBlLCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gKi9cblxuLyogdmFyaWFibGVzIGFuZCBoZWxwZXJzICovXG5cbiR3Y19wcmltYXJ5OiBjb2xvcihcInByaW1hcnlcIik7XG4kd2NfYWxlcnQ6IGNvbG9yKFwiZXJyb3JcIik7XG4kd2NfcmF0aW5nOiAjRjA4RTAxO1xuJHdjX2ZvcmVncm91bmQ6IGNvbG9yKFwiZm9yZWdyb3VuZFwiKTtcbiR3Y19iYWNrZ3JvdW5kOiAjRkZGRkZGO1xuJHdjX2JhY2tncm91bmRfc2hhZGU6ICNFQkU5RUI7XG4kd2NfbGlnaHQ6ICNGRkZGRkY7XG4kd2NfbGlnaHRfc2hhZGU6ICNERkRDREU7XG4kd2NfZm9udDogJGJvZHktZm9udDtcblxuJXdjX19saW5rIHtcbiAgICAmIHtcbiAgICAgICAgQGV4dGVuZCAubGluaztcbiAgICB9XG59XG5cbiV3Y19faW5wdXQge1xuICAgICYge1xuICAgICAgICBAZXh0ZW5kIC5pbnB1dDtcbiAgICB9XG59XG5cbiV3Y19faW5wdXQtLXNlbGVjdCB7XG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgLmlucHV0LS1zZWxlY3QgIW9wdGlvbmFsO1xuICAgIH1cbn1cblxuJXdjX19pbnB1dC0tc2VsZWN0LWFycm93IHtcbiAgICAmIHtcbiAgICAgICAgQGV4dGVuZCAuaW5wdXQtLXNlbGVjdC1hcnJvdyAhb3B0aW9uYWw7XG4gICAgfVxufVxuXG4ld2NfX2lucHV0LS10b2dnbGUge1xuICAgICYge1xuICAgICAgICBAZXh0ZW5kIC5pbnB1dC0tdG9nZ2xlICFvcHRpb25hbDtcbiAgICB9XG59XG5cbiV3Y19faW5wdXQtLXRvZ2dsZS1jaGVja2JveCB7XG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgLmlucHV0LS10b2dnbGUtY2hlY2tib3ggIW9wdGlvbmFsO1xuICAgIH1cbn1cblxuJXdjX19pbnB1dC0tdG9nZ2xlLXJhZGlvIHtcbiAgICAmIHtcbiAgICAgICAgQGV4dGVuZCAuaW5wdXQtLXRvZ2dsZS1yYWRpbyAhb3B0aW9uYWw7XG4gICAgfVxufVxuXG4ld2NfX3RpdGxlIHtcbiAgICAmIHtcbiAgICAgICAgQGV4dGVuZCAudGl0bGU7XG4gICAgfVxufVxuXG4ld2NfX3RleHQge1xuICAgICYge1xuICAgICAgICBAZXh0ZW5kIC50ZXh0O1xuICAgIH1cbn1cblxuLyogcGhvdG9zd2lwZS5jc3MgKi9cblxuLndvb2NvbW1lcmNlLXBhZ2UgLnBzd3AgeyAvLyBwaG90b3N3aXBlLmNzczoyN1xuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJHdjX2ZvbnQ7XG4gICAgfVxuXG4gICAgLnBzd3BfX2NhcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICB9XG59XG5cbi8qIHNlbGVjdDIuY3NzICovXG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHsgLy8gc2VsZWN0Mi5jc3M6MTU0XG4gICAgJiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkd2NfZm9udDtcbiAgICB9XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzID4gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7IC8vIHNlbGVjdDIuY3NzOjMwMFxuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJHdjX2ZvbnQ7XG4gICAgfVxufVxuXG4vKiB3b29jb21tZXJjZS1sYXlvdXQuY3NzICovXG5cbi53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsXG4ud29vY29tbWVyY2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlLXBhZ2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0IHsgLy8gd29vY29tbWVyY2UtbGF5b3V0LmNzczoyNzZcbiAgICAmIHtcbiAgICAgICAgd2lkdGg6IDcuNWVtO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIC5jYXJ0LWNvbGxhdGVyYWxzIGgyLFxuLndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgaDIgeyAvLyB3b29jb21tZXJjZS1sYXlvdXQuY3NzOjI5NVxuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGl0bGU7XG4gICAgfVxuXG4gICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24geyAvLyB3b29jb21tZXJjZS1sYXlvdXQuY3NzOjUxMVxuICAgIHVsIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV3Y19fdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgQGV4dGVuZCAld2NfX2xpbms7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UtYWNjb3VudCAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgeyAvLyB3b29jb21tZXJjZS1sYXlvdXQuY3NzOjUxNVxuICAgIHAge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGV4dDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgQGV4dGVuZCAld2NfX2xpbms7XG4gICAgfVxufVxuXG4vKiB3b29jb21tZXJjZS5jc3MgKi9cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1icmVhZGNydW1iIHsgLy8gd29vY29tbWVyY2UuY3NzOjEzNFxuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJHdjX2ZvbnQ7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHkgeyAvLyB3b29jb21tZXJjZS5jc3M6MTQyXG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgJXdjX19pbnB1dDtcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDYgOCwgMTYpO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC5wcm9kdWN0X3RpdGxlIHsgLy8gd29vY29tbWVyY2UuY3NzOjE1MFxuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGl0bGU7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgeyAvLyB3b29jb21tZXJjZS5jc3M6MTU1XG4gICAgcC5wcmljZSxcbiAgICBzcGFuLnByaWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR3Y19mb250O1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IGRpdi5zdW1tYXJ5IHsgLy8gd29vY29tbWVyY2UuY3NzOjI5NFxuICAgIGRpdi5wcm9kdWN0X21ldGEge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXdjX190ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAZXh0ZW5kICV3Y19fbGluaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHsgLy8gd29vY29tbWVyY2UuY3NzOjMwMlxuICAgIHVsLnRhYnMgbGkgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkd2NfZm9udDtcbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtVGFicy1wYW5lbCBoMiB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgQGV4dGVuZCAld2NfX3RpdGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IHsgLy8gd29vY29tbWVyY2UuY3NzOjM4OVxuICAgICYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG5cbiAgICBkaXYucXVhbnRpdHkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgIH1cblxuICAgIGRpdi5xdWFudGl0eSAucXR5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZSBzcGFuLm9uc2FsZSB7IC8vIHdvb2NvbW1lcmNlLmNzczo0NzRcbiAgICAmIHtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkd2NfZm9udDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgbGFiZWwgeyAvLyB3b29jb21tZXJjZS5jc3M6NTA2XG4gICAgJiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkd2NfZm9udDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCBmb3JtLmNhcnQgLnZhcmlhdGlvbnMgc2VsZWN0IHsgLy8gd29vY29tbWVyY2UuY3NzOjUxMFxuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19faW5wdXQ7XG4gICAgICAgIEBleHRlbmQgJXdjX19pbnB1dC0tc2VsZWN0O1xuICAgICAgICBAZXh0ZW5kICV3Y19faW5wdXQtLXNlbGVjdC1hcnJvdztcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1jYXRlZ29yeV9fdGl0bGUsXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAud29vY29tbWVyY2UtbG9vcC1wcm9kdWN0X190aXRsZSxcbi53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGgzIHsgLy8gd29vY29tbWVyY2UuY3NzOjUxNFxuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGl0bGU7XG4gICAgfVxuXG4gICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgZm9ybS5jYXJ0IC5yZXNldF92YXJpYXRpb25zIHsgLy8gd29vY29tbWVyY2UuY3NzOjUyNVxuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGV4dDtcbiAgICAgICAgQGV4dGVuZCAld2NfX2xpbms7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAucHJpY2UgeyAvLyB3b29jb21tZXJjZS5jc3M6NTQxXG4gICAgJiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkd2NfZm9udDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtcmVzdWx0LWNvdW50IHsgLy8gd29vY29tbWVyY2UuY3NzOjU2NFxuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGV4dDtcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXJpbmcgeyAvLyB3b29jb21tZXJjZS5jc3M6NTY3XG4gICAgJiB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV3Y19faW5wdXQ7XG4gICAgICAgICAgICBAZXh0ZW5kICV3Y19faW5wdXQtLXNlbGVjdDtcbiAgICAgICAgICAgIEBleHRlbmQgJXdjX19pbnB1dC0tc2VsZWN0LWFycm93O1xuICAgICAgICB9XG5cbiAgICAgICAgJiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSxcbi53b29jb21tZXJjZSBuYXYud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCBsaSB7IC8vIHdvb2NvbW1lcmNlLmNzczo2MThcbiAgICBhLFxuICAgIHNwYW4ge1xuICAgICAgICBmb250LWZhbWlseTogJHdjX2ZvbnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIEBleHRlbmQgJXdjX19saW5rO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQsXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0LFxuLndvb2NvbW1lcmNlIGJ1dHRvbi5idXR0b24uYWx0LFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQgeyAvLyB3b29jb21tZXJjZS5jc3M6NjU1XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3Y19wcmltYXJ5O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oc2F0dXJhdGUoYWRqdXN0LWh1ZSgkd2NfcHJpbWFyeSwgLTAuNTc0NiksIDAuMDM0MiksIDUuMDk4KTtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZSAjcmV2aWV3cyAjY29tbWVudHMgb2wuY29tbWVudGxpc3QgeyAvLyB3b29jb21tZXJjZS5jc3M6NzE2XG4gICAgJiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgI3Jldmlld3MgI2NvbW1lbnRzIG9sLmNvbW1lbnRsaXN0IGxpIC5jb21tZW50LXRleHQgcC5tZXRhIHsgLy8gd29vY29tbWVyY2UuY3NzOjc3MFxuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGV4dDtcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgYS5hZGRlZF90b19jYXJ0IHsgLy8gd29vY29tbWVyY2UuY3NzOjc3NlxuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fbGluaztcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR3Y19mb250O1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQuZGlzYWJsZWQsXG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdC5kaXNhYmxlZDpob3Zlcixcbi53b29jb21tZXJjZSAjcmVzcG9uZCBpbnB1dCNzdWJtaXQuYWx0OmRpc2FibGVkLFxuLndvb2NvbW1lcmNlICNyZXNwb25kIGlucHV0I3N1Ym1pdC5hbHQ6ZGlzYWJsZWQ6aG92ZXIsXG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4ud29vY29tbWVyY2UgI3Jlc3BvbmQgaW5wdXQjc3VibWl0LmFsdDpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIsXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0LmRpc2FibGVkLFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdC5kaXNhYmxlZDpob3Zlcixcbi53b29jb21tZXJjZSBhLmJ1dHRvbi5hbHQ6ZGlzYWJsZWQsXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0OmRpc2FibGVkOmhvdmVyLFxuLndvb2NvbW1lcmNlIGEuYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4ud29vY29tbWVyY2UgYS5idXR0b24uYWx0OmRpc2FibGVkW2Rpc2FibGVkXTpob3Zlcixcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdC5kaXNhYmxlZCxcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdC5kaXNhYmxlZDpob3Zlcixcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZCxcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZDpob3Zlcixcbi53b29jb21tZXJjZSBidXR0b24uYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4ud29vY29tbWVyY2UgYnV0dG9uLmJ1dHRvbi5hbHQ6ZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQuZGlzYWJsZWQsXG4ud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdC5kaXNhYmxlZDpob3Zlcixcbi53b29jb21tZXJjZSBpbnB1dC5idXR0b24uYWx0OmRpc2FibGVkLFxuLndvb2NvbW1lcmNlIGlucHV0LmJ1dHRvbi5hbHQ6ZGlzYWJsZWQ6aG92ZXIsXG4ud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF0sXG4ud29vY29tbWVyY2UgaW5wdXQuYnV0dG9uLmFsdDpkaXNhYmxlZFtkaXNhYmxlZF06aG92ZXIgeyAvLyB3b29jb21tZXJjZS5jc3M6Nzg2XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3Y19wcmltYXJ5O1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIC5zdGFyLXJhdGluZyB7IC8vIHdvb2NvbW1lcmNlLmNzczo3ODlcbiAgICAmIHtcbiAgICAgICAgY29sb3I6ICR3Y19yYXRpbmc7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIHsgLy8gd29vY29tbWVyY2UuY3NzOjgyMVxuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGV4dDtcbiAgICB9XG5cbiAgICAuc3Rhci1yYXRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1ZW07XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLXJldmlldy1saW5rIHtcbiAgICAgICAgQGV4dGVuZCAld2NfX2xpbms7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgI3Jldmlld19mb3JtICNyZXNwb25kIHsgLy8gd29vY29tbWVyY2UuY3NzOjg0NFxuICAgIHNwYW4uY29tbWVudC1yZXBseS10aXRsZSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgQGV4dGVuZCAld2NfX3RleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV3Y19fdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgICYge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ucmVxdWlyZWQge1xuICAgICAgICAgICAgY29sb3I6ICR3Y19hbGVydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgQGV4dGVuZCAld2NfX2lucHV0O1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIHAuc3RhcnMgeyAvLyB3b29jb21tZXJjZS5jc3M6ODY5XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiAkd2NfZm9yZWdyb3VuZDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgICBjb2xvcjogJHdjX3JhdGluZztcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgdGFibGUuc2hvcF9hdHRyaWJ1dGVzIHsgLy8gd29vY29tbWVyY2UuY3NzOjkwNFxuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGV4dDtcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICB0cjpudGgtY2hpbGQoMm4pIHRkLFxuICAgIHRyOm50aC1jaGlsZCgybikgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2NfYmFja2dyb3VuZF9zaGFkZTtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIHRkIHAge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIHRoIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB7IC8vIHdvb2NvbW1lcmNlLmNzczo5MzRcbiAgICAmIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR3Y19mb250O1xuICAgIH1cblxuICAgIHRmb290IHRoIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIEBleHRlbmQgJXdjX19saW5rO1xuICAgIH1cblxuICAgIC5xdWFudGl0eSAucXR5IHtcbiAgICAgICAgd2lkdGg6IDZlbTtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZSAjcmV2aWV3X2Zvcm0gI3Jlc3BvbmQgeyAvLyB3b29jb21tZXJjZS5jc3M6OTQzXG4gICAgLmNvbW1lbnQtZm9ybS1hdXRob3IgaW5wdXQsXG4gICAgLmNvbW1lbnQtZm9ybS1lbWFpbCBpbnB1dCB7XG4gICAgICAgIEBleHRlbmQgJXdjX19pbnB1dDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBpbnB1dC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHRleHRhcmVhIHsgLy8gd29vY29tbWVyY2UuY3NzOjExNzBcbiAgICAmIHtcbiAgICAgICAgQGV4dGVuZCAld2NfX2lucHV0O1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IGxhYmVsIHsgLy8gd29vY29tbWVyY2UuY3NzOjEyNTZcbiAgICAmIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR3Y19mb250O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IHNlbGVjdCB7IC8vIHdvb2NvbW1lcmNlLmNzczoxMjk2XG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgJXdjX19pbnB1dDtcbiAgICAgICAgQGV4dGVuZCAld2NfX2lucHV0LS1zZWxlY3Q7XG4gICAgICAgIEBleHRlbmQgJXdjX19pbnB1dC0tc2VsZWN0LWFycm93O1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIHVsLm9yZGVyX2RldGFpbHMgeyAvLyB3b29jb21tZXJjZS5jc3M6MTM4OFxuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2NfYmFja2dyb3VuZF9zaGFkZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJHdjX2JhY2tncm91bmQgNTAlLCB0cmFuc3BhcmVudCA1MCUpLCBsaW5lYXItZ3JhZGllbnQoMjI1ZGVnLCAkd2NfYmFja2dyb3VuZCA1MCUsIHRyYW5zcGFyZW50IDUwJSksIGxpbmVhci1ncmFkaWVudCg0NWRlZywgJHdjX2JhY2tncm91bmQgNTAlLCB0cmFuc3BhcmVudCA1MCUpLCBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAkd2NfYmFja2dyb3VuZCA1MCUsIHRyYW5zcGFyZW50IDUwJSk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0LCB0b3AgbGVmdCwgYm90dG9tIGxlZnQsIGJvdHRvbSBsZWZ0O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICR3Y19mb250O1xuICAgICAgICBwYWRkaW5nOiAyZW0gMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJHdjX2xpZ2h0X3NoYWRlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMS4yNWVtO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1jdXN0b21lci1kZXRhaWxzLFxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzLFxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1vcmRlci1kb3dubG9hZHMgeyAvLyB3b29jb21tZXJjZS5jc3M6MTQyNFxuICAgIGgyIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV3Y19fdGl0bGU7XG4gICAgICAgIH1cblxuICAgICAgICAmIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtY3VzdG9tZXItZGV0YWlscyBhZGRyZXNzIHsgLy8gd29vY29tbWVyY2UuY3NzOjE0MzRcbiAgICAmIHtcbiAgICAgICAgQGV4dGVuZCAld2NfX3RleHQ7XG4gICAgfVxuXG4gICAgJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlLWVycm9yLFxuLndvb2NvbW1lcmNlLWluZm8sXG4ud29vY29tbWVyY2UtbWVzc2FnZSB7IC8vIHdvb2NvbW1lcmNlLmNzczoxNDk2XG4gICAgJiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkd2NfZm9udDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgQGV4dGVuZCAld2NfX2xpbms7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UtYWNjb3VudCAuYWRkcmVzc2VzIC50aXRsZSBoMyB7IC8vIHdvb2NvbW1lcmNlLmNzczoxNzUxXG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbiNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQsXG4ud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCxcbi53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB7IC8vIHdvb2NvbW1lcmNlLmNzczoxOTgyXG4gICAgJiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxufVxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyxcbi53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyxcbi53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgeyAvLyB3b29jb21tZXJjZS5jc3M6MTk4OFxuICAgICYge1xuICAgICAgICBmb250LWZhbWlseTogJHdjX2ZvbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSxcbi53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSxcbi53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGkgeyAvLyB3b29jb21tZXJjZS5jc3M6MjAxMVxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2NfYmFja2dyb3VuZDtcbiAgICB9XG59XG5cbiNhZGRfcGF5bWVudF9tZXRob2QgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpIGlucHV0LFxuLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzIGxpIGlucHV0LFxuLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSBpbnB1dCB7IC8vIHdvb2NvbW1lcmNlLmNzczoyMDE5XG4gICAgJiB7XG4gICAgICAgIGxlZnQ6IC05OTllbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbn1cblxuI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3gsXG4ud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCBkaXYucGF5bWVudF9ib3gsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IHsgLy8gd29vY29tbWVyY2UuY3NzOjIwNTdcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IGRpdi5wYXltZW50X2JveCBwOmZpcnN0LWNoaWxkLFxuLndvb2NvbW1lcmNlLWNhcnQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IHA6Zmlyc3QtY2hpbGQsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgZGl2LnBheW1lbnRfYm94IHA6Zmlyc3QtY2hpbGQgeyAvLyB3b29jb21tZXJjZS5jc3M6MjI0NlxuICAgICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuI2FkZF9wYXltZW50X21ldGhvZCAjcGF5bWVudCAucGF5bWVudF9tZXRob2RfcGF5cGFsIC5hYm91dF9wYXlwYWwsXG4ud29vY29tbWVyY2UtY2FydCAjcGF5bWVudCAucGF5bWVudF9tZXRob2RfcGF5cGFsIC5hYm91dF9wYXlwYWwsXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgLnBheW1lbnRfbWV0aG9kX3BheXBhbCAuYWJvdXRfcGF5cGFsIHsgLy8gd29vY29tbWVyY2UuY3NzOjIyNjVcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8qIGN1c3RvbSAqL1xuXG4ud29vY29tbWVyY2VfX2FyY2hpdmUtcmVzdWx0cyB7XG4gICAgJiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIGgxLnBhZ2UtdGl0bGUge1xuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGl0bGU7XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgLnByb2R1Y3QgLnJlbGF0ZWQgPiBoMixcbi53b29jb21tZXJjZSAucHJvZHVjdCAudXBzZWxscyA+IGgyIHtcbiAgICAmIHtcbiAgICAgICAgQGV4dGVuZCAld2NfX3RpdGxlO1xuICAgIH1cblxuICAgICYge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQsXG4ud29vY29tbWVyY2UtcGFnZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0IHtcbiAgICAuY29sMi1zZXQgLmNvbC0xLFxuICAgIC5jb2wyLXNldCAuY29sLTIge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG5AaW5jbHVkZSBsYXJnZXItdGhhbih4cykge1xuICAgIC53b29jb21tZXJjZSBmb3JtLndvb2NvbW1lcmNlLWNoZWNrb3V0LFxuICAgIC53b29jb21tZXJjZS1wYWdlIGZvcm0ud29vY29tbWVyY2UtY2hlY2tvdXQge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAjY3VzdG9tZXJfZGV0YWlscyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNC4zNDc4MjYwODclO1xuICAgICAgICAgICAgd2lkdGg6IDQ3LjgyNjA4Njk1NjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgI29yZGVyX3JldmlldyxcbiAgICAgICAgI29yZGVyX3Jldmlld19oZWFkaW5nIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA0Ny44MjYwODY5NTY1JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIC5jaGVja291dCBoMyB7XG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgJXdjX190aXRsZTtcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgfVxufVxuXG4jYWRkX3BheW1lbnRfbWV0aG9kICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSxcbi53b29jb21tZXJjZS1jYXJ0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kcyBsaSxcbi53b29jb21tZXJjZS1jaGVja291dCAjcGF5bWVudCB1bC5wYXltZW50X21ldGhvZHMgbGkge1xuICAgIGxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdjX2xpZ2h0X3NoYWRlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cywgY29sb3IgMC4xNXM7XG4gICAgfVxuXG4gICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdjX3ByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkd2NfbGlnaHQ7XG4gICAgfVxuXG4gICAgbGFiZWwgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzJweDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgcC53b29jb21tZXJjZS1ub3RpY2Uge1xuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGV4dDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2Utb3JkZXIgaDIud29vY29tbWVyY2Utb3JkZXItZGV0YWlsc19fdGl0bGUge1xuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGl0bGU7XG4gICAgfVxuXG4gICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLW9yZGVyIGgyLndvb2NvbW1lcmNlLWNvbHVtbl9fdGl0bGUge1xuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGl0bGU7XG4gICAgfVxuXG4gICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlID4gaDIge1xuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGl0bGU7XG4gICAgfVxuXG4gICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlIGZvcm0ubG9naW4sXG4ud29vY29tbWVyY2UgZm9ybS5yZWdpc3RlciB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgbGFiZWwud29vY29tbWVyY2UtZm9ybS1sb2dpbl9fcmVtZW1iZXJtZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIH1cblxuICAgIGlucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0Lndvb2NvbW1lcmNlLWZvcm1fX2lucHV0LWNoZWNrYm94IHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV3Y19faW5wdXQ7XG4gICAgICAgICAgICBAZXh0ZW5kICV3Y19faW5wdXQtLXRvZ2dsZTtcbiAgICAgICAgICAgIEBleHRlbmQgJXdjX19pbnB1dC0tdG9nZ2xlLWNoZWNrYm94O1xuICAgICAgICB9XG5cbiAgICAgICAgJiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC41ZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcC53b29jb21tZXJjZS1Mb3N0UGFzc3dvcmQge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXdjX190ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAZXh0ZW5kICV3Y19fbGluaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlLUFkZHJlc3MtdGl0bGUge1xuICAgICYge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZS1hY2NvdW50IC5hZGRyZXNzZXMgYWRkcmVzcyB7XG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgJXdjX190ZXh0O1xuICAgIH1cbn1cblxuLndvb2NvbW1lcmNlLWFjY291bnQgLndvb2NvbW1lcmNlLU15QWNjb3VudC1jb250ZW50IGZvcm0gPiBoMyB7XG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgJXdjX190aXRsZTtcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZS1hY2NvdW50IC53b29jb21tZXJjZSBmaWVsZHNldCB7XG4gICAgJiB7XG4gICAgICAgIEBleHRlbmQgJXdjX190ZXh0O1xuICAgIH1cblxuICAgIGxlZ2VuZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMC41ZW07XG4gICAgfVxufVxuXG4ud29vY29tbWVyY2UtcHJpdmFjeS1wb2xpY3ktdGV4dCB7XG4gICAgcCB7XG4gICAgICAgIEBleHRlbmQgJXdjX190ZXh0O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAZXh0ZW5kICV3Y19fbGluaztcbiAgICB9XG59XG5cbi53b29jb21tZXJjZS1vcmRlciA+IHAge1xuICAgICYge1xuICAgICAgICBAZXh0ZW5kICV3Y19fdGV4dDtcbiAgICB9XG59XG5cbi53b29jb21tZXJjZS12YXJpYXRpb24tYWRkLXRvLWNhcnQge1xuICAgICYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBXUCBDYXB0aW9uXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53cC1jYXB0aW9uIHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ud3AtY2FwdGlvbi1pbWFnZSB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi53cC1jYXB0aW9uLXRleHQge1xuICAgICYge1xuICAgICAgICBjb2xvcjogY29sb3IoXCJmb3JlZ3JvdW5kXCIpO1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udDtcbiAgICAgICAgZm9udC1zaXplOiByZW1pZnkoMTYsIDE2KTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDI4LCAxNik7XG4gICAgICAgIG1hcmdpbjogcmVtaWZ5KDE0IDAgMjgsIDE2KTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFdQIEdhbGxlcnlcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmdhbGxlcnkge1xuICAgICYge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogcmVtaWZ5KCRjb2x1bW4tZ2FwKTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGxhcmdlci10aGFuKHhzKSB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcbiAgICAgICAgLmdhbGxlcnktY29sdW1ucy0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkaSwgMWZyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdhbGxlcnktaXRlbSB7XG4gICAgJiB7XG4gICAgICAgIGNvbHVtbi1zcGFuOiBzcGFuIDE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBpbWcgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogUGFnZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5odG1sLFxuYm9keSB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwicGFnZS1iYWNrZ3JvdW5kXCIpO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgbWluLWhlaWdodDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuYm9keSB7XG4gICAgJiB7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB9XG59XG5cbi5wYWdlX19jb250YWluZXIge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcInBhZ2UtYmFja2dyb3VuZFwiKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgI2NvbnRlbnQgeyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBBbGVydFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYWxlcnQtYmxvY2sge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBsYXllcihcImFsZXJ0XCIpO1xuICAgIH1cblxuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImVycm9yXCIpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAwLjc1KSAkY29udGVudC1wYWRkaW5nKTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmFsZXJ0X19pbm5lciB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbWlmeSgkc2l0ZS13aWR0aCk7XG4gICAgfVxufVxuXG4uYWxlcnRfX3JvdyB7XG4gICAgJi5yb3ctLXBhZGRlZCB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7cmVtaWZ5KCRjb2x1bW4tZ2FwICogMC4yNSwgMTYpfSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSgkY29sdW1uLWdhcCAqIDAuMjUsIDE2KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFsZXJ0X19idXR0b24ge1xuICAgICYsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSg0MCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoNDApO1xuICAgIH1cbn1cblxuLmFsZXJ0X191c2VyLWNvbnRlbnQge1xuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZWFkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmhlYWRlci1ibG9jayB7XG4gICAgJiB7XG4gICAgICAgIEBpbmNsdWRlIGxheWVyKFwiaGVhZGVyXCIpO1xuICAgIH1cblxuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihcImJhY2tncm91bmRcIik7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgwICRjb250ZW50LXBhZGRpbmcpO1xuICAgIH1cbn1cblxuLmhlYWRlcl9faW5uZXIge1xuICAgICYge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoJHNpdGUtd2lkdGgpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoI3tyZW1pZnkoJHNpdGUtd2lkdGgpfSArICgje3JlbWlmeSgxMy41LCAxOCl9ICogMikpO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoJGNvbnRlbnQtcGFkZGluZyAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLmhlYWRlcl9fcm93IHtcbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obCkge1xuICAgICAgICAmLnJvdy0tcGFkZGVkLXRpZ2h0IHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVhZGVyX19sb2dvIHtcbiAgICAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDIwMCwgMTYpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbihsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW1pZnkoMTIuNSwgMTYpO1xuICAgIH1cbn1cblxuLmhlYWRlcl9fbWVudS1saXN0X19jb250YWluZXIge1xuICAgICYubWVudS1saXN0X19jb250YWluZXItLXNvY2lhbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogcmVtaWZ5KDYpO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3QtLWljb25zIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCN7cmVtaWZ5KDgsIDIwKX0pO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3QtLW5hdmlnYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbi5tZW51LWxpc3QtLXByaW1hcnkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoI3tyZW1pZnkoLTEzLjUsIDE4KX0pO1xuICAgIH1cblxuICAgIC5tZW51LWxpc3QtLW5hdmlnYXRpb24ubWVudS1saXN0LS1zZWNvbmRhcnkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoI3tyZW1pZnkoMTMuNSwgMTgpfSk7XG4gICAgfVxuXG4gICAgLm1lbnUtbGlzdC0tbmF2aWdhdGlvbiA+IC5tZW51LWxpc3RfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE5hdmlnYXRpb25cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQHVzZSBcInNhc3M6Y29sb3JcIjtcblxuLm5hdmlnYXRpb24tYmxvY2sge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBsYXllcihcIm5hdmlnYXRpb25cIik7XG4gICAgfVxuXG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiYmFja2dyb3VuZFwiKTtcbiAgICB9XG59XG5cbi5uYXZpZ2F0aW9uX19pbm5lciB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbWlmeSgkc2l0ZS13aWR0aCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygje3JlbWlmeSgkc2l0ZS13aWR0aCl9ICsgI3tyZW1pZnkoMTYgKiAyLCAyMCl9KTtcbiAgICB9XG59XG5cbi5uYXZpZ2F0aW9uX19maWd1cmUge1xuICAgICYge1xuICAgICAgICBtYXJnaW46IHJlbWlmeSgwIDAgOCwgMTYpO1xuICAgIH1cbn1cblxuLm5hdmlnYXRpb25fX2ltYWdlIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLm5hdmlnYXRpb25fX21lbnUtbGlzdF9fY29udGFpbmVyIHtcbiAgICAmLm1lbnUtbGlzdF9fY29udGFpbmVyLS1zb2NpYWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbWlmeSg2KTtcbiAgICB9XG59XG5cbi8qIGZseW91dCB2YXJpYW50ICovXG5cbi5uYXZpZ2F0aW9uLWJsb2NrLS1mbHlvdXQge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBoZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogOTk5ZW07XG4gICAgICAgIHRvcDogLTk5OWVtO1xuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwcyAwLjI1cywgdG9wIDBzIDAuMjVzLCB2aXNpYmlsaXR5IDBzIDAuMjVzO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgei1pbmRleDogMTAwMDAxO1xuICAgIH1cblxuICAgIC5uYXZpZ2F0aW9uX19pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiYmFja2dyb3VuZFwiKTtcbiAgICAgICAgYm9yZGVyLXRvcDogcmVtaWZ5KDEwKSBzb2xpZCBjb2xvcihcInByaW1hcnlcIik7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgje3JlbWlmeSgyODAsIDE2KX0pO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoMjgwLCAxNik7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb25fX292ZXJsYXkge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmVcbiAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLmFkanVzdChjb2xvcihcImRhcmtcIiksICRhbHBoYTogLTAuNCk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDk5OWVtO1xuICAgICAgICB0b3A6IC05OTllbTtcbiAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMHMgMC4yNXMsIHRvcCAwcyAwLjE1cywgb3BhY2l0eSAwLjI1cywgdmlzaWJpbGl0eSAwcyAwLjI1cztcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAubWVudS1hY3RpdmUgJiB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLm1lbnUtYWN0aXZlICYgLm5hdmlnYXRpb25fX2lubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgIC5tZW51LWFjdGl2ZSAmIC5uYXZpZ2F0aW9uX19vdmVybGF5IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEhlcm9cblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmhlcm8tYmxvY2sge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBsYXllcihcImhlcm9cIik7XG4gICAgfVxuXG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiYmFja2dyb3VuZFwiKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KCgkY29udGVudC1wYWRkaW5nICogMS4yNSkgJGNvbnRlbnQtcGFkZGluZyk7XG4gICAgfVxufVxuXG4uaGVyb19faW5uZXIge1xuICAgICYge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoJHNpdGUtd2lkdGgpO1xuICAgIH1cblxuICAgICYuaGVyb19faW5uZXItLXdpZHRoLTEwMCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIENhbGxvdXRzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jYWxsb3V0cy1ibG9jayB7XG4gICAgJiB7XG4gICAgICAgIEBpbmNsdWRlIGxheWVyKFwiY2FsbG91dHNcIik7XG4gICAgfVxuXG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwiYmFja2dyb3VuZFwiKTtcbiAgICAgICAgcGFkZGluZzogcmVtaWZ5KDAgJGNvbnRlbnQtcGFkZGluZyk7XG4gICAgfVxufVxuXG4uY2FsbG91dHNfX2NhbGxvdXQge1xuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbih4cykge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDEwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29udGVudFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY29udGVudC1ibG9jayB7XG4gICAgJiB7XG4gICAgICAgIEBpbmNsdWRlIGxheWVyKFwiY29udGVudFwiKTtcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJiYWNrZ3JvdW5kXCIpO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAyLjgpICRjb250ZW50LXBhZGRpbmcpO1xuICAgIH1cbn1cblxuLmNvbnRlbnRfX2lubmVyIHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogcmVtaWZ5KCRzaXRlLXdpZHRoKTtcbiAgICB9XG59XG5cbi5jb250ZW50X19tZW51LWxpc3RfX2NvbnRhaW5lciB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyMCwgMTYpO1xuICAgIH1cbn1cblxuLmNvbnRlbnRfX3NpZGViYXJfX2J1dHRvbiB7XG4gICAgJiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcgKiAxLjQpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1pZnkoJGNvbnRlbnQtcGFkZGluZyAqIDEuNCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ1RBXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jdGEtYmxvY2sge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBsYXllcihcImN0YVwiKTtcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJwcmltYXJ5XCIpO1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoKCRjb250ZW50LXBhZGRpbmcgKiAwLjgpICRjb250ZW50LXBhZGRpbmcpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uY3RhX19pbm5lciB7XG4gICAgJiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG4uY3RhX19yb3cge1xuICAgICYucm93LS1wYWRkZWQge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje3JlbWlmeSgkY29sdW1uLWdhcCAqIDAuNDY4NzUsIDE2KX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1pZnkoJGNvbHVtbi1nYXAgKiAwLjQ2ODc1LCAxNik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jdGFfX2J1dHRvbiB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKFwicHJpbWFyeVwiLCBcInRpbnRcIik7XG4gICAgICAgIGZvbnQtcmFuZ2U6ICR4cy1icmVhayAkeGwtYnJlYWs7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVzcG9uc2l2ZSByZW1pZnkoMjAsIDE2KSByZW1pZnkoMjUsIDE2KTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmN0YV9fdGV4dCB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICBmb250LXJhbmdlOiAkeHMtYnJlYWsgJHhsLWJyZWFrO1xuICAgICAgICBmb250LXNpemU6IHJlc3BvbnNpdmUgcmVtaWZ5KDIwLCAxNikgcmVtaWZ5KDI1LCAxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgyNCwgMjApO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogRm9vdGVyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5mb290ZXItYmxvY2sge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBsYXllcihcImZvb3RlclwiKTtcbiAgICB9XG5cbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJwYWdlLWJhY2tncm91bmRcIik7XG4gICAgICAgIHBhZGRpbmc6IHJlbWlmeSgoJGNvbnRlbnQtcGFkZGluZyAqIDMpICRjb250ZW50LXBhZGRpbmcgKCRjb250ZW50LXBhZGRpbmcgKiA0LjQpKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4oeHMpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLmZvb3Rlcl9faW5uZXIge1xuICAgICYge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiByZW1pZnkoJHNpdGUtd2lkdGgpO1xuICAgIH1cbn1cblxuLmZvb3Rlcl9fcm93IHtcbiAgICAmLnJvdy0tcGFkZGVkIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3tyZW1pZnkoMjIuNSwgMTYpfSk7XG4gICAgICAgIH1cblxuICAgICAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSgyMi41LCAxNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJvdy0tcGFkZGVkLWxvb3NlIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3tyZW1pZnkoNjAsIDE2KX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1pZnkoNjAsIDE2KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlcl9fYnV0dG9uIHtcbiAgICAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoXCJsaWdodFwiKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKFwicGFnZS1iYWNrZ3JvdW5kXCIpO1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxNCwgMTYpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoXCJsaWdodFwiLCBcInNoYWRlXCIpO1xuICAgIH1cbn1cblxuLmZvb3Rlcl9fdGV4dCB7XG4gICAgJiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihcImxpZ2h0XCIpO1xuICAgICAgICBmb250LXNpemU6IHJlbWlmeSgxMywgMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtaWZ5KDE1LCAxMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSgxNSwgMTMpO1xuICAgIH1cbn1cblxuLmZvb3Rlcl9fYXdhcmQge1xuICAgICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCAwIDMwLCAxNik7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoNzAsIDE2KTtcbiAgICB9XG5cbiAgICAuZm9vdGVyX19hd2FyZF9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uZm9vdGVyX19sb2dvIHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luOiByZW1pZnkoMCBhdXRvIDMwLCAxNik7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSgyNTAsIDE2KTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCIuLi9tb2R1bGUvc3dpcGVyL3N3aXBlcl94eHNcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFN3aXBlciAoaHR0cDovL2lkYW5nZXJvLnVzL3N3aXBlci8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIEN1c3RvbVxuXG4uc3dpcGVyX19waWN0dXJlIHtcbiAgICAuc3dpcGVyLXNsaWRlLS1lbmxhcmdlICYge1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSg0OTAsIDE2KTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiLi4vbW9kdWxlL2NhbGxvdXQvY2FsbG91dF94c1wiO1xuQGltcG9ydCBcIi4uL21vZHVsZS9jb2x1bW5zL2NvbHVtbnNfeHNcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvc3dpcGVyL3N3aXBlcl94c1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcIi4uL2xheW91dC9jdGEvY3RhX3hzXCI7XG5AaW1wb3J0IFwiLi4vbGF5b3V0L2NhbGxvdXRzL2NhbGxvdXRzX3hzXCI7XG5AaW1wb3J0IFwiLi4vbGF5b3V0L2Zvb3Rlci9mb290ZXJfeHNcIjtcbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ2FsbG91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY2FsbG91dCB7XG4gICAgJiB7XG4gICAgICAgIGhlaWdodDogcmVtaWZ5KDM0MCk7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb2x1bW5zXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBmb3IgJGkgZnJvbSAyIHRocm91Z2ggMTIge1xuICAgIC5jb2x1bW5zLS0jeyRpfSB7XG4gICAgICAgIGNvbHVtbnM6ICRpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogU3dpcGVyIChodHRwOi8vaWRhbmdlcm8udXMvc3dpcGVyLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gQ3VzdG9tXG5cbi8qIGNhcmRzIHZhcmlhbnQgKi9cblxuLnN3aXBlci1jb250YWluZXJfX2NvbnRhaW5lci0tY2FyZHMge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nOiByZW1pZnkoMCA4MCwgMTYpO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtaWZ5KC04MCwgMTYpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3tyZW1pZnkoODAgKiAyLCAxNil9KTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIENUQVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY3RhLWJsb2NrIHtcbiAgICAmIHtcbiAgICAgICAgYm9yZGVyOiByZW1pZnkoMjAsIDE2KSBzb2xpZCBjb2xvcihcImJhY2tncm91bmRcIik7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4uY3RhX190ZXh0IHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIENhbGxvdXRzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jYWxsb3V0cy1ibG9jayB7XG4gICAgJiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHhsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXZ3O1xuICAgIH1cbn1cblxuLmNhbGxvdXRzX19pbm5lciB7XG4gICAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG4uY2FsbG91dHNfX2NhbGxvdXQge1xuICAgICYge1xuICAgICAgICBmbGV4OiAxIDEgMjAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGb290ZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmZvb3Rlci1ibG9jayB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL21lZGlhL2JhY2tncm91bmQtZm9vdGVyLmpwZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbWlmeSgkY29udGVudC1wYWRkaW5nKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbWlmeSgkY29udGVudC1wYWRkaW5nICogMy4yKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMDAwcHgpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vbWVkaWEvYmFja2dyb3VuZC1mb290ZXJfZmFkZS5qcGdcIik7XG4gICAgfVxufVxuXG4uZm9vdGVyX19hd2FyZCB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbWlmeSg1MCwgMTYpO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDg1LCAxNik7XG4gICAgfVxufVxuXG4uZm9vdGVyX19sb2dvIHtcbiAgICAmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtaWZ5KDUwLCAxNik7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoMjI1LCAxNik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcIi4uL2xheW91dC9jb250ZW50L2NvbnRlbnRfbVwiO1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb250ZW50XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jb250ZW50X19zaWRlYmFyIHtcbiAgICAmIHtcbiAgICAgICAgd2lkdGg6IHJlbWlmeSgkc2l0ZS13aWR0aCAqIDAuMjUpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCIuLi9tb2R1bGUvY2FsbG91dC9jYWxsb3V0X2xcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGUvc3dpcGVyL3N3aXBlcl9sXCI7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiLi4vbGF5b3V0L2hlYWRlci9oZWFkZXJfbFwiO1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDYWxsb3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5jYWxsb3V0IHtcbiAgICAmIHtcbiAgICAgICAgaGVpZ2h0OiByZW1pZnkoNDUwKTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFN3aXBlciAoaHR0cDovL2lkYW5nZXJvLnVzL3N3aXBlci8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIEN1c3RvbVxuXG4uc3dpcGVyX19waWN0dXJlIHtcbiAgICAuc3dpcGVyLXNsaWRlLS1lbmxhcmdlICYge1xuICAgICAgICBoZWlnaHQ6IHJlbWlmeSg1NzUsIDE2KTtcbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEhlYWRlclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uaGVhZGVyLWJsb2NrIHtcbiAgICAmIHtcbiAgICAgICAgYm9yZGVyLXRvcDogcmVtaWZ5KDEwKSBzb2xpZCBjb2xvcihcInByaW1hcnlcIik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHhsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXZ3O1xuICAgIH1cbn1cblxuLmhlYWRlcl9faW5uZXIge1xuICAgICYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcgKiAxLjgpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtaWZ5KCRjb250ZW50LXBhZGRpbmcgKiAxLjgpO1xuICAgIH1cbn1cblxuLmhlYWRlcl9fbG9nbyB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogcmVtaWZ5KDMwNSwgMTYpO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IEphY29iIEJlYXJjZSBAIFdlYmxpbngsIEluYy5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTW9kdWxlXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheW91dFxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiLi4vbGF5b3V0L2hlYWRlci9oZWFkZXJfeGxcIjtcbkBpbXBvcnQgXCIuLi9sYXlvdXQvZm9vdGVyL2Zvb3Rlcl94bFwiO1xuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBIZWFkZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmhlYWRlcl9fbG9nbyB7XG4gICAgJiB7XG4gICAgICAgIHdpZHRoOiByZW1pZnkoNDEwLCAxNik7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGb290ZXJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmZvb3Rlcl9fcm93IHtcbiAgICAmLnJvdy0tcGFkZGVkLWxvb3NlIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3tyZW1pZnkoMTIwLCAxNil9KTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtaWZ5KDEyMCwgMTYpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgSmFjb2IgQmVhcmNlIEAgV2VibGlueCwgSW5jLlxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNb2R1bGVcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5b3V0XG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBKYWNvYiBCZWFyY2UgQCBXZWJsaW54LCBJbmMuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIE1vZHVsZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBMYXlvdXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiJdfQ== */
